Problem
On the 1.19.2 branch, running ./gradlew test with the default Java-only dependency profile never reaches JUnit. The build fails during compileJava with missing-symbol errors (219 were observed).
The default profile removes the Facet, Phon, and Vox dependencies from the compile classpath, but its source exclusions no longer exclude every source file that imports those APIs. This leaves an internally inconsistent profile: unavailable optional APIs are still referenced by sources selected for compilation.
Reproduction
- Check out the 1.19.2 branch.
- Run
./gradlew test using the default Java-only profile.
- Observe that
compileJava fails before any JUnit tests execute.
Expected behavior
The ordinary Gradle test workflow should compile and reach JUnit without requiring sfm-propagate-changes.exe. It is acceptable for hot swapping or richer toolchain features to require the companion tool, but the supported Gradle test path should remain functional.
Suggested acceptance criteria
- Align the Java-only profile source exclusions with every source that depends on Facet, Phon, or Vox, or make the required dependencies available to that profile.
- Add a regression check that runs the default
gradlew test path and proves it reaches and executes JUnit.
- Keep optional dependency/profile behavior explicit so a source importing a removed dependency cannot silently re-enter
compileJava.
Problem
On the 1.19.2 branch, running
./gradlew testwith the default Java-only dependency profile never reaches JUnit. The build fails duringcompileJavawith missing-symbol errors (219 were observed).The default profile removes the Facet, Phon, and Vox dependencies from the compile classpath, but its source exclusions no longer exclude every source file that imports those APIs. This leaves an internally inconsistent profile: unavailable optional APIs are still referenced by sources selected for compilation.
Reproduction
./gradlew testusing the default Java-only profile.compileJavafails before any JUnit tests execute.Expected behavior
The ordinary Gradle test workflow should compile and reach JUnit without requiring
sfm-propagate-changes.exe. It is acceptable for hot swapping or richer toolchain features to require the companion tool, but the supported Gradle test path should remain functional.Suggested acceptance criteria
gradlew testpath and proves it reaches and executes JUnit.compileJava.