Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Creating multi release jar #110

Merged
merged 2 commits into from
Jun 3, 2024
Merged

Conversation

kelemen
Copy link
Contributor

@kelemen kelemen commented Jun 3, 2024

The tests tasks were not touched at all. So, they do not depend on the jar. If such tasks are needed, then I think new test tasks should be added as opposed adjusting the current test tasks. This is to avoid confusing IDEs (and a considerable complications), also it would make more sense conceptually that then there would be a combined test task depending on the jar for each java version (and the tasks wouldn't be directly tied to source sets).

@kelemen
Copy link
Contributor Author

kelemen commented Jun 3, 2024

Almost forgot an important note: I had to update the bnd plugin, and this forced a dependency on JDK 17 for the build. So, now people opening the project will require to set the Gradle JVM (or JAVA_HOME when running via gradlew) to 17.

… different versions of javac.

Note: bnd had to be updated to add support for this, and the new bnd requires JDK 17. So, now the minimum JDK required to run the build is 17.

Also rat was updated and new xalan dependencies were added (this was forced on us by the bnd update).
…other tests are kept as well to avoid complications and to allow for faster test runs when just checking a particular class (or source set).
@kelemen
Copy link
Contributor Author

kelemen commented Jun 3, 2024

Actually, I have found a not too complicated way to add test tasks depending on the jar instead. Also, they are not added per source set where tests are enabled, because I have realized that they might have conflicting dependencies.

A small issue with this solution is that now the tests are run twice. While inefficient, it has a minor benefit: The failures due to the effect of the multi release jar can be separated from the test failures. Also, locally it is usually better to not run against the jar, because it is faster.

@ddekany ddekany merged commit 136f131 into apache:2.3-gae Jun 3, 2024
2 checks passed
@kelemen kelemen deleted the multi-release-jar branch June 3, 2024 22:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants