Run Maven tests in this repo with a consistent workflow (module clean, root -Pquick clean install to refresh .m2_repo, then module verify or a single test class/method)...
Run Maven tests with repeatable commands and useful failure pointers.
python3 .codex/skills/mvnf/scripts/mvnf.py core/sail/shaclpython3 .codex/skills/mvnf/scripts/mvnf.py ShaclSailTestpython3 .codex/skills/mvnf/scripts/mvnf.py ShaclSailTest#testSomethingpython3 .codex/skills/mvnf/scripts/mvnf.py --it ShaclSailIT#testSomethingtarget/surefire* and target/failsafe* artifacts for the selected module.mvn -B -ntp -Dmaven.compiler.showWarnings=false -T 1C -o -Dmaven.repo.local=.m2_repo -Pquick installmvn -o -Dmaven.repo.local=.m2_repo -pl <module> verify (optionally with -DskipITs -Dtest=... for unit tests or -PskipUnitTests -Dit.test=... for Failsafe ITs)Root install output is stored in maven-build.log. On success, mvnf prints one root-install summary line with BUILD SUCCESS and the log path. Verify logs use logs/mvnf/*-verify.log when retained or when tests fail. By default, successful Maven phases do not print their output tail; mvnf prints compact Surefire/Failsafe report totals and report paths instead. Failed phases still print the retained Maven tail plus compact report failure details.
For manual root clean installs, keep full output in maven-build.log and print only errors plus the reactor summary:
mvn -B -ntp \
-Dmaven.compiler.showWarnings=false \
-T 1C -o -Dmaven.repo.local=.m2_repo -Pquick clean install 2>&1 \
| tee maven-build.log \
| awk '
/\[WARNING\]/ { next }
/\[ERROR\]/ { print; next }
/Reactor Summary/ { summary=1 }
summary { print }
'
For install without clean, replace clean install with install. For a module install, add -pl <module> -am before -Pquick. Keep the 2>&1 | tee maven-build.log | awk ... tail on every install variant.
If the test run fails, it prints the list of Surefire/Failsafe report files under the module's target/*-reports/ directories. For a handoff-ready block from retained reports, run python3 scripts/agent-evidence.py <module>/target/surefire-reports <module>/target/failsafe-reports.
--module <path>: Force the module when the test class name exists in multiple modules.--it: Treat the selector as an integration test and pass it via -Dit.test=....--no-offline: Run Maven commands without -o (useful if offline resolution fails).--stream: Stream verify output live for hang/no-progress debugging; install output is filtered to errors plus the reactor summary while the full install log is kept in maven-build.log.--tail-on-success: Print Maven output tails on successful phases too (old verbose behavior).--retain-logs: Keep verify logs on success.--allow-concurrent: Override the same-repo mvnf concurrency guard after verifying the active-run warning is a false positive or safe to ignore.-- <maven args>: Append extra Maven flags/profiles to the verify command while preserving selector behavior.For LMDB theme regression/snapshot tests, enable persistent prepared stores to skip repeated dataset rebuilds:
-Drdf4j.lmdb.themeRegression.persistentStore.enabled=true-Drdf4j.lmdb.themeRegression.persistentStore.root=persistent-lmdb-theme-storePass extra Maven flags after --, for example:
python3 .codex/skills/mvnf/scripts/mvnf.py LmdbThemeQueryRegressionTest#socialMediaFiveCycleInterleavesValuesWithFollowsEdges --module core/sail/lmdb -- -Drdf4j.lmdb.themeRegression.persistentStore.enabled=true