Skip to content

Commit 442a6c3

Browse files
nficanoclaude
andcommitted
ci: scope exec:java to leaf modules and switch verify → install
Running 'mvn -pl <module> -am exec:java' invokes exec:java on every reactor module that -am pulls in (parent pom + transitive deps), which fails because no mainClass is defined there. Use '-f <module>/pom.xml' so exec runs only in the leaf module, and 'install' (not 'verify') so that loop can resolve our SNAPSHOTs from the local repository. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent de11456 commit 442a6c3

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

.github/workflows/ci.yml

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,20 @@ jobs:
5757
- name: Build and test
5858
# JDK 25 skips spotless because google-java-format embedded in the pinned
5959
# spotless version cannot run against JDK 25's javac internals.
60+
# `install` (not `verify`) so subsequent `mvn -f <module>/pom.xml` steps
61+
# resolve our SNAPSHOTs from the local repository.
6062
run: |
6163
if [[ "${{ matrix.jdk }}" == "21" ]]; then
62-
mvn -B -ntp -Dmaven.javadoc.skip=true verify
64+
mvn -B -ntp -Dmaven.javadoc.skip=true install
6365
else
64-
mvn -B -ntp -Dmaven.javadoc.skip=true -Darcp.skip.spotless=true verify
66+
mvn -B -ntp -Dmaven.javadoc.skip=true -Darcp.skip.spotless=true install
6567
fi
6668
6769
- name: Run all runnable examples and recipes
70+
# `-f <module>/pom.xml` scopes exec:java to the leaf module only.
71+
# Using `-pl <module> -am exec:java` runs exec:java on every reactor
72+
# module pulled in by -am (including the parent pom), which fails
73+
# because no mainClass is defined there.
6874
run: |
6975
for module in \
7076
examples/submit-and-stream \
@@ -95,9 +101,9 @@ jobs:
95101
recipes/stream-resume
96102
do
97103
echo "::group::run $module"
98-
mvn -B -ntp -pl "$module" -am -Darcp.skip.spotless=true -Dmaven.javadoc.skip=true \
99-
-Dmaven.test.skip=true -Dexec.cleanupDaemonThreads=false \
100-
exec:java
104+
mvn -B -ntp -f "$module/pom.xml" -Darcp.skip.spotless=true \
105+
-Dmaven.javadoc.skip=true -Dmaven.test.skip=true \
106+
-Dexec.cleanupDaemonThreads=false exec:java
101107
echo "::endgroup::"
102108
done
103109

0 commit comments

Comments
 (0)