-
Notifications
You must be signed in to change notification settings - Fork 172
Refactoring and support of <release>
and <module>
elements
#320
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
Open
desruisseaux
wants to merge
10
commits into
apache:master
Choose a base branch
from
Geomatys:master
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+2,602
−1,187
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5af3279
to
4082f1c
Compare
…as testing another plugin than this project. It was testing `pw.krejci:multi-release-jar-maven-plugin`, which fails with `NoSuchMethodError` with Maven 4-RC3. That external project may need to be updated for Maven 4.
Update for changes in the `Project` interface. The fix leverages the new `SourceRoot` element.
…of the `pom.xml` file. With this commit, the include/exclude filters declared in `<source>` are combined with the include/exclude filters declared in the puglin configuration. The module name and release information are also stored, but only partially supported yet.
…d body in a separated class. The intend is to reduce the complexity by splitting one big method into smaller methods. It may also help external applications (e.g. IDE) to use `ToolExecutor` in their environment.
…ment. Initial support of modular project (JPMS) by using the `<module>` element. Currently support only one or the other, not yet both in same time. Contains fixes for incremental build: * The `package-info.java` source files may produce no output. * Provide an option to rebuild everything as soon as one file changed. The `additions` aspect has been renamed `rebuild-on-add` for clarity and for consistency with `rebuild-on-change` added in the last above point.
…c link. This hack is needed only when we want to simulate the Maven 3 behaviour for compatibility reasons. This hack is fragile to the case where a module name is a single name (without dot) and that name is the same as the package name. This ambiguity breaks two tests. For allowing the tests to pass, this commit renames "foo" module as "foo.bar".
- Multi-release project defined with the new `<source>` element. - Modular project defined with the new `<source>` element.
…t the stack trace. apache#323
Hello @gnodet. I'm not sure how to proceed with this pull request, because it is massive and would require a lot of work for reviewers. This PR is hard to split in smaller pull requests focussing on different features. The best I could do is to try to organize the commits. |
This was referenced Apr 9, 2025
pzygielo
reviewed
Apr 14, 2025
Includes a fix for #326. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This is a refactoring of the compiler plugin which separates the MOJO, which contains the configuration, from the code that configures and executes the
javax.tools.JavaCompiler
. This refactoring splits one big class in two smaller classes for the compilation of main, and similarly for the compilation of test. This refactoring facilitates the development described in the next paragraph.This pull request implements the support of the
<include>
,<exclude>
,<release>
and<module>
elements of<source>
. For now, the release and module elements can be used separately but not yet together.This pull request also contains opportunistic bug fixes in the incremental compilation. There is one change visible to users compared to 4.0.0-beta-2: in the
incrementalCompilation
option, theadditions
enumeration value has been renamedrebuild-on-add
for clarity and consistency withrebuild-on-change
. These options did not existed in Maven 3.