-
Notifications
You must be signed in to change notification settings - Fork 11
Add OpenDDS as an option for the DDS implementation used in the test #5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
mitza-oci
wants to merge
6
commits into
omg-dds:master
Choose a base branch
from
mitza-oci:opendds
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
6 commits
Select commit
Hold shift + click to select a range
647b9e5
Fix trailing whitespace and mixed indents
iguessthislldo 1f0ed5e
Committed Old OpenDDS Changes As Found
iguessthislldo f13d460
Updates for current OpenDDS
mitza-oci a25ef83
Updates for OpenDDS
mitza-oci 148d65a
GitHub Actions CI
mitza-oci 2bb561d
Updated pre-processor conditionals per review
mitza-oci File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,135 @@ | ||
| --- | ||
| name: CI | ||
| on: | ||
| pull_request: | ||
| push: | ||
| schedule: | ||
| - cron: '10 0 * * 0' | ||
| workflow_dispatch: | ||
|
|
||
| concurrency: | ||
| group: ${{ github.workflow }}-${{ github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| build: | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| dds: | ||
| - opendds | ||
| runner: | ||
| - ubuntu-24.04 | ||
|
|
||
| runs-on: ${{ matrix.runner }} | ||
|
|
||
| steps: | ||
| - name: 'Checkout dds-xtypes' | ||
| uses: actions/checkout@v4 | ||
| - name: 'Checkout MPC' | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| repository: DOCGroup/MPC | ||
| path: MPC | ||
| fetch-depth: 1 | ||
| - name: 'Checkout ACE_TAO' | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| repository: DOCGroup/ACE_TAO | ||
| ref: ace6tao2 | ||
| path: ACE_TAO | ||
| fetch-depth: 1 | ||
| - name: 'Checkout OpenDDS' | ||
| uses: actions/checkout@v4 | ||
| with: | ||
| repository: OpenDDS/OpenDDS | ||
| path: OpenDDS | ||
| fetch-depth: 1 | ||
| - name: 'Set environment variables (Linux / macOS)' | ||
| if: runner.os == 'Linux' || runner.os == 'macOS' | ||
| shell: bash | ||
| run: |- | ||
| echo "ACE_ROOT=$GITHUB_WORKSPACE/ACE_TAO/ACE" >> $GITHUB_ENV | ||
| echo "TAO_ROOT=$GITHUB_WORKSPACE/ACE_TAO/TAO" >> $GITHUB_ENV | ||
| echo "DDS_ROOT=$GITHUB_WORKSPACE/OpenDDS" >> $GITHUB_ENV | ||
| echo "MPC_ROOT=$GITHUB_WORKSPACE/MPC" >> $GITHUB_ENV | ||
| echo "LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$GITHUB_WORKSPACE/ACE_TAO/ACE/lib:$GITHUB_WORKSPACE/OpenDDS/lib" >> $GITHUB_ENV | ||
| export COMPILER_VERSION=$(c++ --version 2>&1 | head -n 1) | ||
| echo "COMPILER_VERSION=$COMPILER_VERSION" >> $GITHUB_ENV | ||
| echo "OBJ_EXT=\\.o" >> $GITHUB_ENV | ||
| TAR_EXE="tar" | ||
| MD5_EXE="md5sum" | ||
| if [ '${{ runner.os }}' == 'macOS' ]; then | ||
| TAR_EXE="gtar" | ||
| MD5_EXE="md5 -r" | ||
| fi | ||
| echo "TAR_EXE=$TAR_EXE" >> $GITHUB_ENV | ||
| echo "MD5_EXE=$MD5_EXE" >> $GITHUB_ENV | ||
| - name: 'Set environment variables (Common)' | ||
| shell: bash | ||
| run: |- | ||
| cd ACE_TAO | ||
| export ACE_COMMIT=$(git rev-parse HEAD) | ||
| echo "ACE_COMMIT=$ACE_COMMIT" >> $GITHUB_ENV | ||
| cd ../OpenDDS | ||
| export DDS_COMMIT=$(git rev-parse HEAD) | ||
| echo "DDS_COMMIT=$DDS_COMMIT" >> $GITHUB_ENV | ||
| export MATRIX_MD5=$(echo "${{ matrix }}" | ${{ env.MD5_EXE }} | cut -d ' ' -f 1) | ||
| echo "MATRIX_MD5=$MATRIX_MD5" >> $GITHUB_ENV | ||
| export COMPILER_MD5=$(echo "$COMPILER_VERSION" | ${{ env.MD5_EXE }} | cut -d ' ' -f 1) | ||
| echo "COMPILER_MD5=$COMPILER_MD5" >> $GITHUB_ENV | ||
| export CONFIG_MD5=$(echo "$CONFIG_OPTIONS" | ${{ env.MD5_EXE }} | cut -d ' ' -f 1) | ||
| echo "CONFIG_MD5=$CONFIG_MD5" >> $GITHUB_ENV | ||
| - name: 'Check Build Cache' | ||
| id: cache-build | ||
| uses: actions/cache@v4 | ||
| with: | ||
| path: ${{ env.MATRIX_MD5 }}.tar.xz | ||
| key: c01_${{ env.MATRIX_MD5 }}_${{ env.COMPILER_MD5 }}_${{ env.ACE_COMMIT }}_${{ env.DDS_COMMIT }}_${{ env.CONFIG_MD5 }} | ||
| - name: 'Extract Build Cache' | ||
| if: steps.cache-build.outputs.cache-hit == 'true' | ||
| shell: bash | ||
| run: | | ||
| tar xvfJ ${{ env.MATRIX_MD5 }}.tar.xz | ||
| - name: 'Configure OpenDDS (Linux / macOS)' | ||
| if: steps.cache-build.outputs.cache-hit != 'true' && (runner.os == 'Linux' || runner.os == 'macOS') | ||
| shell: bash | ||
| run: |- | ||
| cd OpenDDS | ||
| ./configure ${{ env.CONFIG_OPTIONS }} | ||
| tools/scripts/show_build_config.pl | ||
| - name: 'Build OpenDDS (Linux / macOS)' | ||
| if: steps.cache-build.outputs.cache-hit != 'true' && (runner.os == 'Linux' || runner.os == 'macOS') | ||
| shell: bash | ||
| run: |- | ||
| cd OpenDDS | ||
| . setenv.sh | ||
| make -j3 | ||
| - name: 'Create Build Cache' | ||
| if: steps.cache-build.outputs.cache-hit != 'true' | ||
| shell: bash | ||
| run: | | ||
| cd ACE_TAO | ||
| find . -iname "*$OBJ_EXT" | xargs rm | ||
| git clean -xdfn | cut -d ' ' -f 3- | sed 's/^/ACE_TAO\//g' | tee ../ACE_TAO_files.txt | ||
| cd .. | ||
| $TAR_EXE cvf ${{ env.MATRIX_MD5 }}.tar ACE_TAO/ACE/ace/config.h | ||
| cat ACE_TAO_files.txt | xargs $TAR_EXE uvf ${{ env.MATRIX_MD5 }}.tar | ||
| cd OpenDDS | ||
| find . -iname "*$OBJ_EXT" | xargs rm | ||
| git clean -xdfn | cut -d ' ' -f 3- | sed 's/^/OpenDDS\//g' | tee ../OpenDDS_files.txt | ||
| cd .. | ||
| cat OpenDDS_files.txt | xargs $TAR_EXE uvf ${{ env.MATRIX_MD5 }}.tar | ||
| xz -3 ${{ env.MATRIX_MD5 }}.tar | ||
| - name: 'Set Up Problem Matcher (Linux / macOS)' | ||
| if: runner.os == 'Linux' || runner.os == 'macOS' | ||
| uses: ammaraskar/gcc-problem-matcher@0.3.0 | ||
| - name: 'Build Application (Linux / macOS)' | ||
| if: runner.os == 'Linux' || runner.os == 'macOS' | ||
| shell: bash | ||
| run: |- | ||
| cd OpenDDS | ||
| . setenv.sh | ||
| cd .. | ||
| cmake -G Ninja -S srcCxx -B build | ||
| cmake --build build | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| /build |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,60 @@ | ||
| # OMG DDS INTEROPERABILITY REPOSITORY - CONTRIBUTOR LICENSE AGREEMENT | ||
|
|
||
| **This Contributor License Agreement ("Agreement") specifies the terms under which the individual or corporate entity specified in the signature block below (“You”) agree to make intellectual property contributions to the OMG DDS Interoperability Repository. BY SIGNING BELOW YOU ARE AGREEING TO BE BOUND BY THE TERMS OF THIS AGREEMENT. If You are signing this Agreement in Your capacity as an employee, THEN YOUR EMPLOYER AND YOU ARE BOTH BOUND BY THIS AGREEMENT.** | ||
|
|
||
| 1. Definitions | ||
|
|
||
| 1. "OMG DDS Interoperability Repository" (or “Repository”) means the Git repository [https://github.com/omg-dds/dds-rtps](https://github.com/omg-dds/dds-rtps). | ||
|
|
||
| 2. "Moderator" means an entity or individual responsible for authorizing changes to the Repository. | ||
|
|
||
| 3. "Submit" (or “Submitted”) means any submission, including source code, binaries, code, pull requests, issue reports, comments, etc., made to the Moderators for inclusion in the Repository either through the Git repository interface or through electronic file transfer. | ||
|
|
||
| 4. A "Contribution" is any original work of authorship, including any modifications or additions to an existing work, that You Submit to the DDS Interoperability Repository. | ||
|
|
||
| 5. A "User" is anyone who accesses the Repository. | ||
|
|
||
| 2. Allowable Contribution Representations | ||
|
|
||
| 1. You represent that You have the necessary rights to the Contribution(s) to meet the obligations of this Agreement. If You are employed, Your employer has authorized Contribution(s) under this Agreement. | ||
|
|
||
| 2. You represent that you have no knowledge of third-party intellectual property rights that are likely to be infringed by the Contribution(s). You represent that you have no knowledge that such infringement or any allegation of misappropriation of intellectual property rights is likely to be claimed or has already been claimed. | ||
|
|
||
| 3. License | ||
|
|
||
| You grant Moderators a perpetual, worldwide, non-exclusive, assignable, paid-up license to publish, display, and redistribute the Contribution as part of the Repository. You also license to Moderators under the same terms any other intellectual property rights required to publish, display, and redistribute the Contributions as part of the Repository. You further grant all Users of the Repository a license to the Contribution under the terms of the [OMG DDS Interoperability Testing License](../LICENSE.md) included in the Repository. Moderators are under no obligation to publish Contributions. | ||
|
|
||
| 4. No Warranty, Consequential Damages. Limited Liability | ||
|
|
||
| Other than explicitly stated herein, You provide the Contribution(s) "as is" with no warranty nor claims of fitness to any purpose. Neither party shall be liable for consequential or special damages of any kind. Other than for breach of warranty or representations herein, the liability of either party to the other shall be limited to $1000. | ||
|
|
||
| 5. General | ||
|
|
||
| 1. If You are an agency of the United States Government, then this Agreement will be governed by the United States federal common law. Otherwise, this Agreement will be governed by the laws of the State of California except with regard to its choice of law rules. | ||
|
|
||
| 2. A party may assign this Agreement to an entity acquiring essentially all of the party’s relevant business. | ||
|
|
||
| 6. Electronic Signatures | ||
|
|
||
| "Electronic Signature" means any electronic sound, symbol, or process attached to or logically associated with a record and executed and adopted by a party with the intent to sign such record. | ||
|
|
||
| Each party agrees that the Electronic Signatures, whether digital or encrypted, of the parties included in this Agreement are intended to authenticate this writing and to have the same force and effect as manual signatures. | ||
|
|
||
|
|
||
| IN WITNESS WHEREOF, You, intending to be legally bound, have executed this Agreement or caused Your employer’s proper and duly authorized officer to execute and deliver this Agreement, for good and valuable consideration, the sufficiency of which is hereby acknowledged, as of the day and year first written below. | ||
|
|
||
| **For:** | ||
|
|
||
| Entity Name: Object Computing, Inc. | ||
|
|
||
| Address: 12140 Woodcrest Exec. Dr., Ste 300, St. Louis, MO 63141 USA | ||
|
|
||
| ("**You**") | ||
|
|
||
| **By:** | ||
|
|
||
| Name: Adam Mitz | ||
|
|
||
| Title: Principal Software Engineer and Partner | ||
|
|
||
| Date: June 24, 2025 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| cmake_minimum_required(VERSION 3.10) | ||
|
|
||
| project(shape_type_demo) | ||
|
|
||
| # This CMakeLists.txt is intended to be used with any DDS implementation that | ||
| # supports CMake. An example using OpenDDS is below, and other implementations | ||
| # can be added. In each case, if find_package() doesn't find the target | ||
| # implementation then processing should continue (REQUIRED is not used) to | ||
| # attempt to find other implementations. | ||
|
|
||
| find_package(OpenDDS) | ||
|
|
||
| if(${OpenDDS_FOUND}) | ||
| add_executable(opendds_xtypes_test ShapeType_main.cxx) | ||
| opendds_target_sources(opendds_xtypes_test ShapeType.idl | ||
| OPENDDS_IDL_OPTIONS -Gxtypes-complete --no-default-nested) | ||
| target_link_libraries(opendds_xtypes_test OpenDDS::Rtps_Udp) | ||
| target_compile_definitions(opendds_xtypes_test PUBLIC OCI_OPENDDS) | ||
| endif() |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.