Skip to content

Commit

Permalink
Rework for 2.0.x release (#133)
Browse files Browse the repository at this point in the history
* Refs #8264: First changes for the full documentation re-structuring.

* Refs #8299: Generate FastRTPS Doxygen documentation

Signed-off-by: EduPonz <[email protected]>

* Refs #8264: Added fastdds directories and files

* Refs #8264: Redesigned documentation structure

* Refs #8264. Move logging out of core module

* Refs #8346: Formatted the paragrah style (#111)

Co-authored-by: RaulSanchez <[email protected]>

* Python dependencies (#110)

* Refs #8341: Config for readthedocs docker and python reqs

Signed-off-by: EduPonz <[email protected]>

* Refs #8341: installation and use instructions

Signed-off-by: EduPonz <[email protected]>

* Refs #8341: Apply suggestions

Signed-off-by: EduPonz <[email protected]>

* Refs #8341: Doxygen errors

Signed-off-by: EduPonz <[email protected]>

* Refs #8341: Drop IMMEDIATE on configure file

Signed-off-by: EduPonz <[email protected]>

* Refs #8341: Correct path for doxygen HTML output

Signed-off-by: EduPonz <[email protected]>

* Refs #8346: Updated lists format (#113)

Co-authored-by: RaulSanchez <[email protected]>

* API reference DDS DCPS PIM [8336] (#109)

* Refs #8299: Add dictionary for API reference

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref-ParameterTypes.hpp

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: rest of core policies

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref core status

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref domain and pub modules

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref subscriber module

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref topic module

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: Doxygen errors

Signed-off-by: EduPonz <[email protected]>

* Refs #8229: Remove duplicate include

* Refs #8229: Make external buildcop depend on fastrtps

Signed-off-by: EduPonz <[email protected]>

* Refs #8229: Only add fastdds headers for doxygen

Signed-off-by: EduPonz <[email protected]>

* Refs #8229: Apply suggestions

Signed-off-by: EduPonz <[email protected]>

* Bump version to 2.0.0 (#119)

Signed-off-by: EduPonz <[email protected]>

* Change project name to Fast DDS (#120)

Signed-off-by: EduPonz <[email protected]>

* Update library overview [8399] (#118)

* Refs #8358: Added figure of the library high level overview.

* Added Fast DDS architecture subsection.

* Refs #8358: Added programming and execution model subsection.

* Refs #8358: Added functionalities subsection.

* Refs #8358: Divided subsections into separate files.

* Refs #8358: Applied suggested changes.

* Refs #8358: Applied last requested changes.

Co-authored-by: RaulSanchez <[email protected]>

* Update Getting Started section [8348] (#112)

* Refs #8326: Added what is DDS section

* Refs #8326: Tutorial simple pubsub DDS aplication

* Refs #8326: Misspelling corrections

* Refs #8326: Changed the directoy structure of the simple pubsub app.

* Refs #8351: Added test for the tutorial DDSHelloWorld example.

* Refs #8326: Updated rtps and dds images.

* Refs #8326: Changed cmake min version to v3.12 to support FindPython3

* Refs #8326: Updated helloworld python tests subprocess operation.

* Refs #8326: Reordered public/private class members.

* Refs #8326: Applied suggested changes

* Refs #8326: Added class rst directive to class names.

* Refs #8326: Changed tables and bash code format.

* Refs #8326: Moved fastrtpsgen tutorial to fasrtpsgen section.

* Refs #8326: Applied suggested changes.

* Refs #8326: Formatted navigation bar.

* Refs #8326: Applied grammar corrections.

* Refs #8326: CSS restored to default settings.

* Refs #8326: Updated Fast RTPS to Fast DDS brand

Co-authored-by: RaulSanchez <[email protected]>

* DDS domain module documentation (#114)

* Refs 8330. DDS Domain, DomainParticipant and DomainParticipantFactory

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. DDS Domain: profiles and PARTICIPANT_QOS_DEFAULT

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. DDS DomainParticipantListener

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. Add examples

Signed-off-by: Iker Luengo <[email protected]>

* Refs #8330. Resolve compilation errors

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. Move DDS examples to separate file

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. Implement proposed changes

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. Add class diagram on domain module

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. Examples with profiles

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. Modification of examples

Signed-off-by: Iker Luengo <[email protected]>

* Apply suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. Apply suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Move api-ref files (#125)

Signed-off-by: EduPonz <[email protected]>

* Feature/dds publisher (#121)

* Refs 8330. Add class diagram on domain module

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8423. Documentation for Publisher

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8423. Documentation for DataWriter

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8423. Example code

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8423. Class diagram

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8423. apply agreed conventions

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8423. Add example for DataWriterListener

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8423. Apply suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8423. Apply suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Refs #8446: Intro to DDS layer

Signed-off-by: EduPonz <[email protected]>

* Refs #8446: Apply suggestions

Signed-off-by: EduPonz <[email protected]>

* DDS topic  module documentation (#115)

* Refs 8330. Add class diagram on domain module

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8363. Topic classes and class diagram

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8363. Topic classes examples

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8363. Topic data types

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8363. Examples and error correction

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8363. Modified class diagram

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8363. apply suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8363. apply suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8363. apply suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Add words from Fast DDS doxygen (#129)

Signed-off-by: EduPonz <[email protected]>

* User, Topic, and GroupDataQosPolicy [8379] (#117)

* Refs #8299: Add User, Topic, and GroupDataQosPolicy

Signed-off-by: EduPonz <[email protected]>

* Refs @8299: Remove duplicates in dictionary

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: Rebase on 2.0.x

Signed-off-by: EduPonz <[email protected]>

* Feature/intro (#122)

* Intro written.

* Some more changes.

* First changes suggested by Edu addressed.

* Additional comments addressed and resized image.

* Reorganized list, added caption, moved ROS2 sentence.

* Make test passed.

* Final minor changes.

* Update readthedocs python version (#132)

* Refs #8299: Generate FastRTPS Doxygen documentation

Signed-off-by: EduPonz <[email protected]>

* Python dependencies (#110)

* Refs #8341: Config for readthedocs docker and python reqs

Signed-off-by: EduPonz <[email protected]>

* Refs #8341: installation and use instructions

Signed-off-by: EduPonz <[email protected]>

* Refs #8341: Apply suggestions

Signed-off-by: EduPonz <[email protected]>

* Refs #8341: Doxygen errors

Signed-off-by: EduPonz <[email protected]>

* Refs #8341: Drop IMMEDIATE on configure file

Signed-off-by: EduPonz <[email protected]>

* Refs #8341: Correct path for doxygen HTML output

Signed-off-by: EduPonz <[email protected]>

* API reference DDS DCPS PIM [8336] (#109)

* Refs #8299: Add dictionary for API reference

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref-ParameterTypes.hpp

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: rest of core policies

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref core status

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref domain and pub modules

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref subscriber module

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref topic module

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: Doxygen errors

Signed-off-by: EduPonz <[email protected]>

* Refs #8229: Remove duplicate include

* Refs #8229: Make external buildcop depend on fastrtps

Signed-off-by: EduPonz <[email protected]>

* Refs #8229: Only add fastdds headers for doxygen

Signed-off-by: EduPonz <[email protected]>

* Refs #8229: Apply suggestions

Signed-off-by: EduPonz <[email protected]>

* Update Getting Started section [8348] (#112)

* Refs #8326: Added what is DDS section

* Refs #8326: Tutorial simple pubsub DDS aplication

* Refs #8326: Misspelling corrections

* Refs #8326: Changed the directoy structure of the simple pubsub app.

* Refs #8351: Added test for the tutorial DDSHelloWorld example.

* Refs #8326: Updated rtps and dds images.

* Refs #8326: Changed cmake min version to v3.12 to support FindPython3

* Refs #8326: Updated helloworld python tests subprocess operation.

* Refs #8326: Reordered public/private class members.

* Refs #8326: Applied suggested changes

* Refs #8326: Added class rst directive to class names.

* Refs #8326: Changed tables and bash code format.

* Refs #8326: Moved fastrtpsgen tutorial to fasrtpsgen section.

* Refs #8326: Applied suggested changes.

* Refs #8326: Formatted navigation bar.

* Refs #8326: Applied grammar corrections.

* Refs #8326: CSS restored to default settings.

* Refs #8326: Updated Fast RTPS to Fast DDS brand

Co-authored-by: RaulSanchez <[email protected]>

* Set python3 version to 3.7

Signed-off-by: EduPonz <[email protected]>

* Remove api-ref old files

Signed-off-by: EduPonz <[email protected]>

* Add pre to dict

Signed-off-by: EduPonz <[email protected]>

Co-authored-by: Raul Sanchez-Mateos Lizano <[email protected]>
Co-authored-by: RaulSanchez <[email protected]>

* Build PDF an ePub targets

Signed-off-by: EduPonz <[email protected]>

* Feature/dds subscriber [8426] (#130)

* Refs 8330. Add class diagram on domain module

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8426. Subscriber and SubscriberListener

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8426. SubscriberListener example

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8426. Subscriber examples

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8426. DataReader and DataReaderListener

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8426. DataReaderListener example

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8426. DataReader example

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8426. Document how to read data

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8426. Module class diagram

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8426. SampleInfo

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8426. Reading data example

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8426. Api ref links

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8426. implement suggested changes and redo api ref links

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8426. implement suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8426. implement suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8426. implement suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Changed hyperlinks colors (#127)

* Refs #8346: Changed hyperlinks colors.

* Refs #8346: Applied suggested changes.

Co-authored-by: RaulSanchez <[email protected]>

* Refs #8453: Fix almost all XML errors (#135)

Signed-off-by: EduPonz <[email protected]>

* API reference DDS DCPS PIM [8336] (#109)

* Refs #8299: Add dictionary for API reference

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref-ParameterTypes.hpp

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: rest of core policies

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref core status

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref domain and pub modules

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref subscriber module

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref topic module

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: Doxygen errors

Signed-off-by: EduPonz <[email protected]>

* Refs #8229: Remove duplicate include

* Refs #8229: Make external buildcop depend on fastrtps

Signed-off-by: EduPonz <[email protected]>

* Refs #8229: Only add fastdds headers for doxygen

Signed-off-by: EduPonz <[email protected]>

* Refs #8229: Apply suggestions

Signed-off-by: EduPonz <[email protected]>

* Refs #8339. Add DDS Entity documentation

* Refs #8339. Add DDS QoS documentation

* Refs #8431 Apply partial review requested changes

* Refs #8431 Apply rest of requested changes

* Rebase

* Refs #8431 Apply suggested changes

* Added api reference hyperlinks in the Getting Started section [8454] (#131)

* API reference DDS DCPS PIM [8336] (#109)

* Refs #8299: Add dictionary for API reference

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref-ParameterTypes.hpp

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: rest of core policies

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref core status

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref domain and pub modules

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref subscriber module

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref topic module

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: Doxygen errors

Signed-off-by: EduPonz <[email protected]>

* Refs #8229: Remove duplicate include

* Refs #8229: Make external buildcop depend on fastrtps

Signed-off-by: EduPonz <[email protected]>

* Refs #8229: Only add fastdds headers for doxygen

Signed-off-by: EduPonz <[email protected]>

* Refs #8229: Apply suggestions

Signed-off-by: EduPonz <[email protected]>

* Update Getting Started section [8348] (#112)

* Refs #8326: Added what is DDS section

* Refs #8326: Tutorial simple pubsub DDS aplication

* Refs #8326: Misspelling corrections

* Refs #8326: Changed the directoy structure of the simple pubsub app.

* Refs #8351: Added test for the tutorial DDSHelloWorld example.

* Refs #8326: Updated rtps and dds images.

* Refs #8326: Changed cmake min version to v3.12 to support FindPython3

* Refs #8326: Updated helloworld python tests subprocess operation.

* Refs #8326: Reordered public/private class members.

* Refs #8326: Applied suggested changes

* Refs #8326: Added class rst directive to class names.

* Refs #8326: Changed tables and bash code format.

* Refs #8326: Moved fastrtpsgen tutorial to fasrtpsgen section.

* Refs #8326: Applied suggested changes.

* Refs #8326: Formatted navigation bar.

* Refs #8326: Applied grammar corrections.

* Refs #8326: CSS restored to default settings.

* Refs #8326: Updated Fast RTPS to Fast DDS brand

Co-authored-by: RaulSanchez <[email protected]>

* Refs #8326: Added api reference hyperlinks and code snippet dedent.

* Refs #8326: Fixed dds domain image bottom padding.

* Refs #8326: Formatted svg images.

* Refs #8326: Fixed Fast DDS-Gen name.

* Refs #8326: Fixes images visualization.

* Refs #8299: Removed duplicated api reference.

Co-authored-by: Eduardo Ponz Segrelles <[email protected]>
Co-authored-by: RaulSanchez <[email protected]>

* Review Dynamic Types section (#116)

* Refs 8370. Review and make it nice

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8370. requested changes

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8370. divide into files

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8370. Clarify concepts and add diagram

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8370. Implement suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8370. Implement suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Apply suggested changes

Co-authored-by: Eduardo Ponz Segrelles <[email protected]>

Co-authored-by: Eduardo Ponz Segrelles <[email protected]>

* Add API-REF in READ THE DOCS (#138)

Signed-off-by: EduPonz <[email protected]>

* Download Fast DDS if running on Read the Docs (#140)

* Refs #8473: Create output dir if it does not exist

Signed-off-by: EduPonz <[email protected]>

* Refs #8473: Properly Download Fast DDS if running in READTHEDOCS

Signed-off-by: EduPonz <[email protected]>

* Refs #8473: Delete repo if existed

Signed-off-by: EduPonz <[email protected]>

* Refs #8473: Apply suggestions

Signed-off-by: EduPonz <[email protected]>

* Refs #8470: Remove pub-sub layer (#136)

Signed-off-by: EduPonz <[email protected]>

* Refs 8493. SHM transport is no longer on by default (#142)

Signed-off-by: Iker Luengo <[email protected]>

* Update Security documentation [8462] (#134)

* Refs #8264: First changes for the full documentation re-structuring.

* Refs #8299: Generate FastRTPS Doxygen documentation

Signed-off-by: EduPonz <[email protected]>

* Refs #8264: Added fastdds directories and files

* Refs #8264: Redesigned documentation structure

* Refs #8264. Move logging out of core module

* Refs #8346: Formatted the paragrah style (#111)

Co-authored-by: RaulSanchez <[email protected]>

* Python dependencies (#110)

* Refs #8341: Config for readthedocs docker and python reqs

Signed-off-by: EduPonz <[email protected]>

* Refs #8341: installation and use instructions

Signed-off-by: EduPonz <[email protected]>

* Refs #8341: Apply suggestions

Signed-off-by: EduPonz <[email protected]>

* Refs #8341: Doxygen errors

Signed-off-by: EduPonz <[email protected]>

* Refs #8341: Drop IMMEDIATE on configure file

Signed-off-by: EduPonz <[email protected]>

* Refs #8341: Correct path for doxygen HTML output

Signed-off-by: EduPonz <[email protected]>

* Refs #8346: Updated lists format (#113)

Co-authored-by: RaulSanchez <[email protected]>

* API reference DDS DCPS PIM [8336] (#109)

* Refs #8299: Add dictionary for API reference

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref-ParameterTypes.hpp

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: rest of core policies

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref core status

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref domain and pub modules

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref subscriber module

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: API ref topic module

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: Doxygen errors

Signed-off-by: EduPonz <[email protected]>

* Refs #8229: Remove duplicate include

* Refs #8229: Make external buildcop depend on fastrtps

Signed-off-by: EduPonz <[email protected]>

* Refs #8229: Only add fastdds headers for doxygen

Signed-off-by: EduPonz <[email protected]>

* Refs #8229: Apply suggestions

Signed-off-by: EduPonz <[email protected]>

* Bump version to 2.0.0 (#119)

Signed-off-by: EduPonz <[email protected]>

* Change project name to Fast DDS (#120)

Signed-off-by: EduPonz <[email protected]>

* Update library overview [8399] (#118)

* Refs #8358: Added figure of the library high level overview.

* Added Fast DDS architecture subsection.

* Refs #8358: Added programming and execution model subsection.

* Refs #8358: Added functionalities subsection.

* Refs #8358: Divided subsections into separate files.

* Refs #8358: Applied suggested changes.

* Refs #8358: Applied last requested changes.

Co-authored-by: RaulSanchez <[email protected]>

* Update Getting Started section [8348] (#112)

* Refs #8326: Added what is DDS section

* Refs #8326: Tutorial simple pubsub DDS aplication

* Refs #8326: Misspelling corrections

* Refs #8326: Changed the directoy structure of the simple pubsub app.

* Refs #8351: Added test for the tutorial DDSHelloWorld example.

* Refs #8326: Updated rtps and dds images.

* Refs #8326: Changed cmake min version to v3.12 to support FindPython3

* Refs #8326: Updated helloworld python tests subprocess operation.

* Refs #8326: Reordered public/private class members.

* Refs #8326: Applied suggested changes

* Refs #8326: Added class rst directive to class names.

* Refs #8326: Changed tables and bash code format.

* Refs #8326: Moved fastrtpsgen tutorial to fasrtpsgen section.

* Refs #8326: Applied suggested changes.

* Refs #8326: Formatted navigation bar.

* Refs #8326: Applied grammar corrections.

* Refs #8326: CSS restored to default settings.

* Refs #8326: Updated Fast RTPS to Fast DDS brand

Co-authored-by: RaulSanchez <[email protected]>

* DDS domain module documentation (#114)

* Refs 8330. DDS Domain, DomainParticipant and DomainParticipantFactory

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. DDS Domain: profiles and PARTICIPANT_QOS_DEFAULT

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. DDS DomainParticipantListener

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. Add examples

Signed-off-by: Iker Luengo <[email protected]>

* Refs #8330. Resolve compilation errors

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. Move DDS examples to separate file

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. Implement proposed changes

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. Add class diagram on domain module

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. Examples with profiles

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. Modification of examples

Signed-off-by: Iker Luengo <[email protected]>

* Apply suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8330. Apply suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Move api-ref files (#125)

Signed-off-by: EduPonz <[email protected]>

* Feature/dds publisher (#121)

* Refs 8330. Add class diagram on domain module

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8423. Documentation for Publisher

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8423. Documentation for DataWriter

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8423. Example code

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8423. Class diagram

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8423. apply agreed conventions

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8423. Add example for DataWriterListener

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8423. Apply suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8423. Apply suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Refs #8446: Intro to DDS layer

Signed-off-by: EduPonz <[email protected]>

* Refs #8446: Apply suggestions

Signed-off-by: EduPonz <[email protected]>

* DDS topic  module documentation (#115)

* Refs 8330. Add class diagram on domain module

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8363. Topic classes and class diagram

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8363. Topic classes examples

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8363. Topic data types

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8363. Examples and error correction

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8363. Modified class diagram

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8363. apply suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8363. apply suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8363. apply suggested changes

Signed-off-by: Iker Luengo <[email protected]>

* Add words from Fast DDS doxygen (#129)

Signed-off-by: EduPonz <[email protected]>

* User, Topic, and GroupDataQosPolicy [8379] (#117)

* Refs #8299: Add User, Topic, and GroupDataQosPolicy

Signed-off-by: EduPonz <[email protected]>

* Refs @8299: Remove duplicates in dictionary

Signed-off-by: EduPonz <[email protected]>

* Refs #8299: Rebase on 2.0.x

Signed-off-by: EduPonz <[email protected]>

* Refs #8411: Changed the outline and reorganized the contents.

* Refs #8411: Updated introduction.

* Refs #8411: Updated authentication plugin documentation.

* Refs #8411: Updated access control plugin documentation.

* Refs #8411: Added governance and permissions xsd and examples.

* Refs #8411: Updated cryptographic plugin documentation.

* Refs #8411: Added logging plugin documentation.

* Refs #8411: Removed duplicated plugin intros and apply requested changes.

* Refs #8411: Moved intro note.

Co-authored-by: RaulSanchez <[email protected]>
Co-authored-by: EduPonz <[email protected]>
Co-authored-by: Laura Martin <[email protected]>
Co-authored-by: IkerLuengo <[email protected]>

* DDS-status [8339] (#137)

* Refs 8339. Improve Entity section

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8339. Listener support notes

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8339. Documentation of Status

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8339. Loop on data callbacks

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8339. Mini-ToCs on policies

Signed-off-by: Iker Luengo <[email protected]>

* Refs 8339. Apply requested changes

Signed-off-by: Iker Luengo <[email protected]>

* Move Writer-reader layer into RTPS [8521] (#143)

* Refs #8498: Move writer-reader layer to RTPS layer

Signed-off-by: EduPonz <[email protected]>

* Refs #8498: Adapt to DDS

Signed-off-by: EduPonz <[email protected]>

* Refs #8498: Apply suggestions

Signed-off-by: EduPonz <[email protected]>

* Fixed security code folder moved.

* Update Discovery Protocols documentation [8474] (#139)

* Refs #8469: Restructured discovery section and updated general settings.

* Refs #8469: Updated simple discovery settings documentation.

* Refs #8649: Updated client-server discovery settings documentation.

* Refs #8469: Corrected spelling errors.

* Refs #8469: Applied suggested changes.

* Refs #8469: Added DomainParticipantListener discovery callbacks.

* Refs #8469: Added API reference hyperlinks.

* Refs #8469: Added multiple options for setting the server GuidPrefix.

* Fixed security module paths.

* Refs #8469: Applied changes.

Co-authored-by: RaulSanchez <[email protected]>

Co-authored-by: RaulSanchez <[email protected]>
Co-authored-by: Laura Martin <[email protected]>
Co-authored-by: rsanchez15 <[email protected]>
Co-authored-by: IkerLuengo <[email protected]>
Co-authored-by: FranFin <[email protected]>
Co-authored-by: Miguel Company <[email protected]>
  • Loading branch information
7 people authored May 26, 2020
1 parent b816ded commit 3f1340f
Show file tree
Hide file tree
Showing 307 changed files with 23,219 additions and 5,310 deletions.
3 changes: 1 addition & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ html:
mkdir -p build/code
cd build/code && cmake ../../code -DBUILDCOP=OFF
cmake --build build/code
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."

Expand All @@ -68,7 +67,7 @@ compile:
@echo "Source code build finished."

.PHONY: test
test: html compile
test: compile
doc8 --max-line-length 120 docs
@echo
@echo "RST checking finished."
Expand Down
203 changes: 93 additions & 110 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,159 +1,142 @@
# eProsima Fast RTPS
# eProsima Fast RTPS Documentation

[![Releases](https://img.shields.io/github/release/eProsima/Fast-RTPS.svg)](https://github.com/eProsima/Fast-RTPS/releases)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![Linux Build Status](http://jenkins.eprosima.com:8080/job/FastRTPS%20Docs%20Nightly%20Master/badge/icon)](http://jenkins.eprosima.com:8080/job/FastRTPS%20Docs%20Nightly%20Master)

<a href="http://www.eprosima.com"><img src="https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcSd0PDlVz1U_7MgdTe0FRIWD0Jc9_YH-gGi0ZpLkr-qgCI6ZEoJZ5GBqQ" align="left" hspace="8" vspace="2" width="100" height="100" ></a>

*eprosima Fast RTPS* is a C++ implementation of the RTPS (Real Time Publish Subscribe) protocol, which provides publisher-subscriber communications over unreliable transports such as UDP,
as defined and maintained by the Object Management Group (OMG) consortium. RTPS is also the wire interoperability protocol defined for the Data Distribution
Service (DDS) standard, again by the OMG. *eProsima Fast RTPS* holds the benefit of being standalone and up-to-date, as most vendor solutions either implement RTPS as a tool to implement
DDS or use past versions of the specification.
eprosima Fast RTPS is a C++ implementation of the RTPS (Real Time Publish Subscribe) protocol, which provides publisher-subscriber communications over unreliable transports such as UDP, as defined and maintained by the Object Management Group (OMG) consortium. RTPS is also the wire interoperability protocol defined for the Data Distribution Service (DDS) standard, again by the OMG. eProsima Fast RTPS holds the benefit of being standalone and up-to-date, as most vendor solutions either implement RTPS as a tool to implement DDS or use past versions of the specification.

Some of the main features of this library are:
For more information about the library, check out the [Fast-RTPS documentation](https://fast-rtps.docs.eprosima.com/en/latest/).
You can find all the library's source code on our [GitHub repository](https://github.com/eProsima/Fast-RTPS).

* Configurable best-effort and reliable publish-subscribe communication policies for real-time
applications.
* Plug and play connectivity so that any new applications are automatically discovered by any other
members of the network.
* Modularity and scalability to allow continuous growth with complex and simple devices in the
network.
* Configurable network behavior and interchangeable transport layer: Choose the best protocol and
system input/output channel combination for each deployment.
* Two API Layers: a high-level Publisher-Subscriber one focused on usability and a lower-level Writer-Reader one that provides finer access to the inner workings of the RTPS protocol.
1. [Installation Guide](#installation-guide)
1. [Getting Started](#getting-started)
1. [Generating documentation in other formats](#generating-documentation-in-other-formats)
1. [Running documentation tests](#running-documentation-tests)
1. [Simulating Read the Docs](#simulating-read-the-docs)

*eProsima Fast RTPS* has been adopted by multiple organizations in many sectors including these important cases:

* Robotics: ROS (Robotic Operating System) as their default middleware for ROS2.
* EU R&D: FIWARE Incubated GE.
## Installation Guide

## Supported platforms
1. In order to build and test the documentation, some dependencies must be installed beforehand:

* Linux [![Linux Build Status](http://jenkins.eprosima.com:8080/job/FastRTPS%20Nightly%20Master%20Security%20Linux/badge/icon)](http://jenkins.eprosima.com:8080/job/FastRTPS%20Nightly%20Master%20Security%20Linux)
* Windows [![Windows Build Status](http://jenkins.eprosima.com:8080/job/FastRTPS%20Nightly%20Master%20Security%20Windows/badge/icon)](http://jenkins.eprosima.com:8080/job/FastRTPS%20Nightly%20Master%20Security%20Windows)
* Mac [![Mac Build Status](http://jenkins.eprosima.com:8080/job/FastRTPS%20Nightly%20Master%20Security%20Mac/badge/icon)](http://jenkins.eprosima.com:8080/job/FastRTPS%20Nightly%20Master%20Security%20Mac)
```bash
sudo apt update
sudo apt install -y \
git \
gcc \
g++ \
cmake \
curl \
wget \
libasio-dev \
libtinyxml2-dev \
doxygen \
python3 \
python3-pip \
python3-venv \
python3-sphinxcontrib.spelling \
imagemagick
```

## Installation Guide
You can get either a binary distribution of *eprosima Fast RTPS* or compile the library yourself from source.
1. Clone the repository

### Installation from binaries
The latest, up to date binary release of *eprosima Fast RTPS* can be obtained from the <a href='http://www.eprosima.com'>company website</a>.
```bash
cd ~
git clone https://github.com/eProsima/Fast-RTPS-docs fastrtps-docs
```

### Installation from Source
1. Create a virtual environment and install python3 dependencies

#### Dependencies
```bash
cd ~/fastrtps-docs
python3 -m venv fastrtps-docs-venv
source fastrtps-docs-venv/bin/activate
pip3 install -r docs/requirements.txt
```

##### Asio and TinyXML2 libraries
## Getting Started

On Linux, you can install these libraries using the package manager of your Linux distribution.
For example, on Ubuntu you can install them by using its package manager with the next command.
To generate the documentation in a HTML format for a specific branch of Fast-RTPS run:

```bash
sudo apt install libasio-dev libtinyxml2-dev
cd ~/fastrtps-docs
source fastrtps-docs-venv/bin/activate
make html
```

On Windows, you can install these libraries using [Chocolatey](https://chocolatey.org).
First, download the following chocolatey packages from this
[ROS2 Github repository](https://github.com/ros2/choco-packages/releases/latest).

* asio.1.12.1.nupkg
* tinyxml2.6.0.0.nupkg
### Selecting Fast-RTPS branch

Once these packages are downloaded, open an administrative shell and execute the following command:
It is possible to specify the Fast-RTPS branch for which the documentation is generated via the environment variable `FASTRTPS_BRANCH`.

```batch
choco install -y -s <PATH\TO\DOWNLOADS\> asio tinyxml2
```bash
cd ~/fastrtps-docs
source fastrtps-docs-venv/bin/activate
FASTRTPS_BRANCH=<branch> make help
```

Please replace `<PATH\TO\DOWNLOADS>` with the folder you downloaded the packages to.
## Generating documentation in other formats

#### Colcon installation
*******************
[colcon](https://colcon.readthedocs.io) is a command line tool to build sets of software packages.
This section explains to use it to compile easily Fast-RTPS and its dependencies.
First install ROS2 development tools (colcon and vcstool):
The documentation can be generated in several formats such as HTML, PDF, LaTex, etc. For a complete list of targets run:

```bash
pip install -U colcon-common-extensions vcstool
cd ~/fastrtps-docs
make help
```

Download the repos file that will be used to download Fast RTPS and its dependencies:
Once you have selected a format, generate the documentation with:

```bash
$ wget https://raw.githubusercontent.com/eProsima/Fast-RTPS/master/fastrtps.repos
$ mkdir src
$ vcs import src < fastrtps.repos
cd ~/fastrtps-docs
source fastrtps-docs-venv/bin/activate
FASTRTPS_BRANCH=<branch> make <output_format>
```

Finally, use colcon to compile all software:

```bash
$ colcon build
```
## Running documentation tests

#### Manual installation
*******************
Before compiling manually Fast RTPS you need to clone the following dependencies and compile them using
[CMake](https://cmake.org).
DISCLAIMER: In order to run documentation tests, access to eProsima's intranet is required.
* [Fast CDR](https://github.com/eProsima/Fast-CDR.git)
This repository provides a set of tests that verify that:
```bash
$ git clone https://github.com/eProsima/Fast-CDR.git
$ mkdir Fast-CDR/build && cd Fast-CDR/build
$ cmake ..
$ cmake --build . --target install
```
1. The RST follows the style guidelines
1. The HTML is built correctly
1. The C++ snippets compile against the library's version
1. The XML snippets define valid configurations

* [Foonathan memory](https://github.com/foonathan/memory)

```bash
$ git clone https://github.com/foonathan/memory.git
$ cd memory
$ git submodule update --init --recursive
$ mkdir build && cd build
$ cmake ..
$ cmake --build . --target install
```

Once all dependencies are installed, you will be able to compile and install Fast RTPS.
Run the tests by:

```bash
$ git clone https://github.com/eProsima/Fast-RTPS.git
$ mkdir Fast-RTPS/build && cd Fast-RTPS/build
$ cmake ..
$ cmake --build . --target install
cd ~/fastrtps-docs
source fastrtps-docs-venv/bin/activate
FASTRTPS_BRANCH=<branch> make test
```

## Simulating Read the Docs

## Documentation

You can access the documentation online, which is hosted on [Read the Docs](http://eprosima-fast-rtps.readthedocs.io).

* [Start Page](http://eprosima-fast-rtps.readthedocs.io)
* [Installation manual](http://eprosima-fast-rtps.readthedocs.io/en/latest/requirements.html)
* [User manual](http://eprosima-fast-rtps.readthedocs.io/en/latest/introduction.html)
* [FastRTPSGen manual](http://eprosima-fast-rtps.readthedocs.io/en/latest/geninfo.html)
* [Release notes](http://eprosima-fast-rtps.readthedocs.io/en/latest/notes.html)

## Quick Demo

For those who want to try a quick demonstration of Fast-RTPS libraries on Ubuntu, here is a way to launch an example application.
Read the Docs generates the documentation using Sphinx and [conf.py](docs/conf.py).
This means that it does not execute `make` and therefore Fast DDS is not downloaded for API reference documentation generation.
[conf.py](docs/conf.py) provides some extra logic to download Fast DDS and generate the Doxygen documentation when running on a Read the Docs environment.
This is done by means of the environment variable `READTHEDOCS`.
When this variable is set to `True`, [conf.py](docs/conf.py) will clone Fast DDS in `build/code/external/eprosima/src/` (same place as CMake) and will set it to a branch applying the following criteria:

First, download and install **docker** application. Open a terminal and type the following command
1. Try to checkout to the branch specified by `FASTRTPS_BRANCH`.
1. If the variable is not set, or the branch does not exist, try to checkout to a branch with the same name as the current branch on this repository.
1. If the previous fails, fallback to `master`.

$ sudo apt-get install docker.io
To simulating Read the Docs operation, make sure you do not have a `build` directory.

Then, download the docker image file from https://eprosima.com/index.php/downloads-all

Load the image and run it:

$ docker load -i ubuntu-fast-rtps.tar
$ docker run -it ubuntu-fast-rtps

You can run as many images as you want and check the communication between them.
```bash
cd ~/fastrtps-docs
rm -rf build
```

## Getting Help
Then, set `READTHEDOCS`, `FASTRTPS_BRANCH` and run sphinx:

If you need support you can reach us by mail at `[email protected]` or by phone at `+34 91 804 34 48`.
```bash
READTHEDOCS=True FASTRTPS_BRANCH=<branch> sphinx-build \
-b html \
-Dbreathe_projects.FastDDS=<abs_path_to_docs_repo>/fastrtps-docs/build/code/doxygen/xml \
-d <abs_path_to_docs_repo>/fastrtps-docs/build/doctrees \
docs <abs_path_to_docs_repo>/fastrtps-docs/build/html
```
78 changes: 77 additions & 1 deletion code/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -119,17 +119,79 @@ execute_process(COMMAND ${CMAKE_COMMAND} --build .
WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/external
)

#########################################################################################################################
# Build Doxygen documentation
#########################################################################################################################

find_package(Doxygen REQUIRED)
# Create doxygen directories
add_custom_target(doc-dirs
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/doxygen
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html
COMMAND ${CMAKE_COMMAND} -E make_directory ${PROJECT_BINARY_DIR}/html/doxygen
COMMENT "Creating documentation directories" VERBATIM)

# Get header files from repo instead of from installation. This way Fast RTPS does not need to be compiled
file(GLOB_RECURSE HPP_FILES "${PROJECT_BINARY_DIR}/external/eprosima/src/fastrtps/include/fastdds/**/*.h*")

# Doxygen related variables
set(DOXYGEN_INPUT_DIR "${PROJECT_BINARY_DIR}/external/eprosima/src/fastrtps/include/fastdds")
set(DOXYGEN_OUTPUT_DIR "${PROJECT_BINARY_DIR}/doxygen")
set(DOXYGEN_INDEX_FILE "${PROJECT_BINARY_DIR}/doxygen/xml/index.xml")
set(DOXYFILE_IN "${CMAKE_CURRENT_SOURCE_DIR}/doxygen-config.in")
set(DOXYFILE_OUT ${PROJECT_BINARY_DIR}/doxygen-config)

# Configure doxygen
configure_file(${DOXYFILE_IN} ${DOXYFILE_OUT} @ONLY)

# Doxygen command
add_custom_command(OUTPUT ${DOXYGEN_INDEX_FILE}
COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYFILE_OUT}
DEPENDS ${HPP_FILES}
MAIN_DEPENDENCY ${DOXYFILE_OUT} ${DOXYFILE_IN}
COMMENT "Generating doxygen documentation")

# Generate API reference
add_custom_target(doxygen ALL
DEPENDS ${DOXYGEN_INDEX_FILE}
COMMENT "Generated API documentation with doxygen" VERBATIM)
add_dependencies(doxygen doc-dirs)

########################################################################################################################
# Build Sphinx documentation
########################################################################################################################
set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake" ${CMAKE_MODULE_PATH})
find_package(Sphinx REQUIRED)

set(SPHINX_SOURCE "${CMAKE_CURRENT_SOURCE_DIR}/../docs")
set(SPHINX_BUILD "${PROJECT_BINARY_DIR}/../html")

add_custom_target(Sphinx ALL
COMMAND
${SPHINX_EXECUTABLE} -b html
# Tell Breathe where to find the Doxygen output
-Dbreathe_projects.FastDDS=${DOXYGEN_OUTPUT_DIR}/xml
-d "${PROJECT_BINARY_DIR}/../doctrees" ${SPHINX_SOURCE} ${SPHINX_BUILD}
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS doxygen
COMMENT "Generating documentation with Sphinx")

########################################################################################################################
# Build example and tests
########################################################################################################################
if(BUILDCOP)
set(CMAKE_PREFIX_PATH "${CMAKE_PREFIX_PATH};${PROJECT_BINARY_DIR}/external/eprosima/install")
find_package(fastrtps REQUIRED)

####################################################################################################################
# Compile getting started tutorial
####################################################################################################################
add_subdirectory(Examples/C++/DDSHelloWorld)

####################################################################################################################
# Compile example
####################################################################################################################
add_executable(doctest CodeTester.cpp)
add_executable(doctest CodeTester.cpp DDSCodeTester.cpp)
target_include_directories(doctest PRIVATE ${PROJECT_BINARY_DIR}/external/eprosima/src/fastrtps/src/cpp
${PROJECT_BINARY_DIR}/external/eprosima/src/fastrtps/thirdparty/tinyxml2)
target_link_libraries(doctest fastrtps)
Expand All @@ -152,6 +214,9 @@ if(BUILDCOP)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/StaticTester.xml
${CMAKE_CURRENT_BINARY_DIR}/StaticTester.xml COPYONLY)

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/helloworld_test.py
${CMAKE_CURRENT_BINARY_DIR}/helloworld_test.py COPYONLY)

add_test(NAME xmltest COMMAND doctest XMLTester.xml)
set_property(TEST xmltest
APPEND PROPERTY ENVIRONMENT "LD_LIBRARY_PATH=${PROJECT_BINARY_DIR}/external/eprosima/install/lib")
Expand All @@ -167,4 +232,15 @@ if(BUILDCOP)
add_test(NAME statictest COMMAND doctest StaticTester.xml)
set_property(TEST statictest
APPEND PROPERTY ENVIRONMENT "LD_LIBRARY_PATH=${PROJECT_BINARY_DIR}/external/eprosima/install/lib")

find_package(Python COMPONENTS Interpreter Development)
if(${Python_FOUND} AND (${Python_VERSION} VERSION_GREATER "3.6"))
add_test(NAME helloworld COMMAND ${Python_EXECUTABLE} helloworld_test.py)
set_property(TEST helloworld
APPEND PROPERTY ENVIRONMENT "LD_LIBRARY_PATH=${PROJECT_BINARY_DIR}/external/eprosima/install/lib")
set_property(TEST helloworld
APPEND PROPERTY ENVIRONMENT "HELLOWORLD_PUB_TEST_BIN=$<TARGET_FILE:DDSHelloWorldPublisher>")
set_property(TEST helloworld
APPEND PROPERTY ENVIRONMENT "HELLOWORLD_SUB_TEST_BIN=$<TARGET_FILE:DDSHelloWorldSubscriber>")
endif()
endif()
Loading

0 comments on commit 3f1340f

Please sign in to comment.