-
Notifications
You must be signed in to change notification settings - Fork 0
Test changes
This page lists some noticeable changes in the tests.
Moved or added the following configuration parameters in the pom.xml files of some tests:
- The
<outputDirectory>and<testOutputDirectory>parameters declared under<configuration>moved to<build>, because those properties are read-only in the configuration. - Many
<source>and<target>parameters have been either removed or replaced by<release>. - For some tests using a non-modular JAR is a modular project,
<type>modular-jar</type>has been added in the dependency declaration.
The plugin incremental compilation algorithm depends on the convention that
Java source files are located in directories of the same name as their package names,
with the . separator replaced by path separator (/ or \).
This is a very common convention, but not strictly required by the Java compiler.
For example, if the src/main/java/MyCode.java file contains the package foo statement,
the compiled class will be located in target/classes/foo/MyCode.class — note the foo additional directory.
In such case, the incremental build algorithm will not track correctly the changes.
The following tests have been made compliant with the convention for allowing the algorithm to work:
-
mcompiler-182in integration tests.
Note that due to MCOMPILER-209, the old algorithm was compiling everything without really detecting change. So this issue is maybe not really a regression. To reproduce the old behavior, users can just disable the incremental compilation.
Removed the following directories and associated test methods:
-
compiler-one-output-file-test2because it was redundant withcompiler-one-output-file-test.
The only difference was the addition of include/exclude filters, but that difference had
no effect because the compiler mock used in this test was ignoring all sources anyway.
This test has been replaced by compiler-modular-project.
The tests in the following directories were already disabled and have been removed:
-
MCOMPILER-197because it ran only on Java 8 while the build now requires Java 17. -
groovy-project-with-new-plexus-compilerbecause it ran only on Java 8 and the plexus compiler has been removed.
The tests in the following directores are not supported anymore and have been removed:
-
release-without-profilebecause the plugin no longer try to chose automatically which parameters to use between--sourceand--release. This is justified by the fact that the plugin cannot run on Java 8. -
release-without-profile-forkfor the same reason as above.