From c036b0ab0bbe761214b1399b733780e4dc5fda0c Mon Sep 17 00:00:00 2001 From: Miguel Company Date: Tue, 16 Sep 2025 15:22:55 +0200 Subject: [PATCH 1/4] Refs #23701. Remove support for input feeds. Signed-off-by: Miguel Company --- src/main/java/com/eprosima/fastdds/idl/grammar/Operation.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/main/java/com/eprosima/fastdds/idl/grammar/Operation.java b/src/main/java/com/eprosima/fastdds/idl/grammar/Operation.java index ccc7a882..b3b768d6 100644 --- a/src/main/java/com/eprosima/fastdds/idl/grammar/Operation.java +++ b/src/main/java/com/eprosima/fastdds/idl/grammar/Operation.java @@ -84,9 +84,7 @@ public void add(com.eprosima.idl.parser.tree.Param param) } else { - // Take note that there is at least one input feed - m_context.inputFeedAdded(p); - m_hasInputFeeds = true; + throw new ParseException(null, "Support for input feeds is part of Fast DDS Pro"); } } From e6ca678ae8a2036a1cae034049da9648a7935a2c Mon Sep 17 00:00:00 2001 From: Miguel Company Date: Tue, 16 Sep 2025 15:23:31 +0200 Subject: [PATCH 2/4] Refs #23701. Remove support for result feeds. Signed-off-by: Miguel Company --- src/main/java/com/eprosima/fastdds/idl/grammar/Interface.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/eprosima/fastdds/idl/grammar/Interface.java b/src/main/java/com/eprosima/fastdds/idl/grammar/Interface.java index 75a6faa8..aa3438ad 100644 --- a/src/main/java/com/eprosima/fastdds/idl/grammar/Interface.java +++ b/src/main/java/com/eprosima/fastdds/idl/grammar/Interface.java @@ -17,6 +17,7 @@ import com.eprosima.fastdds.idl.grammar.Operation; import com.eprosima.fastdds.idl.parser.typecode.EnumTypeCode; import com.eprosima.fastdds.idl.parser.typecode.StructTypeCode; +import com.eprosima.idl.parser.exception.ParseException; import com.eprosima.idl.parser.typecode.Member; import com.eprosima.idl.parser.typecode.EnumMember; import com.eprosima.idl.parser.typecode.TypeCode.ExtensibilityKind; @@ -40,7 +41,7 @@ public void add(com.eprosima.idl.parser.tree.Export exp) Operation op = (Operation)exp; if (op.isAnnotationFeed()) { - m_hasOutputFeeds = true; + throw new ParseException(null, "Support for result feeds is part of Fast DDS Pro"); } if (op.getOutputparam().size() > 0) From 2af7a9a0d7de94859b2b340bde403dd47465f85b Mon Sep 17 00:00:00 2001 From: Miguel Company Date: Fri, 19 Sep 2025 10:21:10 +0200 Subject: [PATCH 3/4] Refs #23701. Update dds-types submodule. Signed-off-by: Miguel Company --- thirdparty/dds-types-test | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/thirdparty/dds-types-test b/thirdparty/dds-types-test index fa637e68..53e76215 160000 --- a/thirdparty/dds-types-test +++ b/thirdparty/dds-types-test @@ -1 +1 @@ -Subproject commit fa637e686224a8e4e6c8b8485802404bd33c5c0d +Subproject commit 53e762156817b38a2438a28d2a1b3baf9d5a80af From b107404b3922c1ea7db43dfb0c393d98476dd5b0 Mon Sep 17 00:00:00 2001 From: Miguel Company Date: Fri, 19 Sep 2025 10:58:40 +0200 Subject: [PATCH 4/4] Refs #23701. Exclude IDLs with `@feed` from tests. Signed-off-by: Miguel Company --- .github/workflows/reusable-ubuntu-ci.yml | 28 ++++++++++++++++++++++-- 1 file changed, 26 insertions(+), 2 deletions(-) diff --git a/.github/workflows/reusable-ubuntu-ci.yml b/.github/workflows/reusable-ubuntu-ci.yml index 3b8fd649..2096d2be 100644 --- a/.github/workflows/reusable-ubuntu-ci.yml +++ b/.github/workflows/reusable-ubuntu-ci.yml @@ -59,6 +59,14 @@ on: required: false type: boolean default: false + blacklist_idls: + description: 'Comma-separated list of tests to be blacklisted' + required: false + type: string + default: 'interfaces,interfaces_2' +env: + blacklist_tests: ${{ inputs.run-tests && inputs.blacklist_idls }} + gradle-test-flags: ${{ inputs.blacklist_idls && format('-Dblacklist_tests={0}', inputs.blacklist_idls) }} defaults: run: shell: bash @@ -220,11 +228,27 @@ jobs: run: | source ${{ github.workspace }}/install/local_setup.bash cd ${{ github.workspace }}/src/fastddsgen - ./gradlew test + ./gradlew test ${{ env.gradle-test-flags }} - name: Test fastddsgen with python arg if: ${{ inputs.run-tests == true }} run: | source ${{ github.workspace }}/install/local_setup.bash cd ${{ github.workspace }}/src/fastddsgen/thirdparty/dds-types-test/IDL - find . -path "*.idl*" -exec fastddsgen -python {} + + # Example: blacklist_tests='file1,file1' + IFS=',' read -r -a BL <<< "${{ env.blacklist_tests }}" + + # Build exclusion: ! ( -name file1.idl -o -name file2.idl ) + EXCL=() + for f in "${BL[@]}"; do + [[ -n "$f" ]] && EXCL+=(-name "${f}.idl" -o) + done + # Drop trailing -o if present + ((${#EXCL[@]})) && unset 'EXCL[${#EXCL[@]}-1]' + + # Run find: match *.idl files, exclude blacklist, and batch fastddsgen calls + if ((${#EXCL[@]})); then + find . -type f -name '*.idl' ! \( "${EXCL[@]}" \) -exec fastddsgen -python {} + + else + find . -type f -name '*.idl' -exec fastddsgen -python {} + + fi