Fix compatibility issue with Gradle 7.6+ #261
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
fixes: #258
Gradle 7.6 is executing tasks in a different order, with
mergeClasses
being run aftercompileTestJava
. This results incompileTestJava
failing as it can't find themodule-info.class
which is generated bymergeClasses
.Fix looks to be to have the
compileTestJava
task, i.e.JavaPlugin.COMPILE_TEST_JAVA_TASK_NAME
, depend on themergeClasses
task. Thereby ensuringmergeClasses
runs first and themodule-info.class
is available tocompileTestJava
.It is possible/likely that the
JavaPlugin.TEST_TASK_NAME
task, i.e.test
task, no longer needs to depend onmergeClasses
. However, removing it may cause problems if there are other tasks run bytest
that require the output ofmergeClasses
. Of course, those tasks may also run foul of the re-ordering happening with Gradle 7.6.