[jira] [Commented] (MNG-7026) Ability to only build direct dependants
[ https://issues.apache.org/jira/browse/MNG-7026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17238337#comment-17238337 ] Martin Kanters commented on MNG-7026: - Right, then I guess it would make sense for you indeed. I'm a bit hesitant in building this in, because it (still) seems like a niche feature. It could definitely work out for you, but it will introduce extra complexity in the codebase and also in the usage/understandability of the flags. I'm wondering whether something like this can be built into an extension, but I do not have sufficient experience in that area. I hope some other experienced Maven users/contributors can weigh in. > Ability to only build direct dependants > --- > > Key: MNG-7026 > URL: https://issues.apache.org/jira/browse/MNG-7026 > Project: Maven > Issue Type: New Feature > Components: Command Line, core >Affects Versions: 3.6.3 >Reporter: Chadi >Priority: Minor > Labels: easyfix, features > > We are an organization with a large reactor. When we update a project X, we > would like to have the possibility to compile the artifacts that directly > depend on X, without having to recompile everything. > The fix itself is trivial and consists of traversing in non-recursive mode. I > can prepare a PR if you are OK with the request. > Its activation could be done using a flag such as --amdd, > --also-make-direct-dependents, or maybe --also-make-dependents=direct > What do you think? -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (MNG-7026) Ability to only build direct dependants
[ https://issues.apache.org/jira/browse/MNG-7026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17237013#comment-17237013 ] Chadi commented on MNG-7026: That's correct, and this is something we do not mind indeed. We've actually spent a significant amount of time cleaning up the dependencies using the maven-dependency-plugin (+failOnWarning), so code dependencies that come from transitive dependencies are rare in our case. > Ability to only build direct dependants > --- > > Key: MNG-7026 > URL: https://issues.apache.org/jira/browse/MNG-7026 > Project: Maven > Issue Type: New Feature > Components: Command Line, core >Affects Versions: 3.6.3 >Reporter: Chadi >Priority: Minor > Labels: easyfix, features > > We are an organization with a large reactor. When we update a project X, we > would like to have the possibility to compile the artifacts that directly > depend on X, without having to recompile everything. > The fix itself is trivial and consists of traversing in non-recursive mode. I > can prepare a PR if you are OK with the request. > Its activation could be done using a flag such as --amdd, > --also-make-direct-dependents, or maybe --also-make-dependents=direct > What do you think? -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (MNG-7026) Ability to only build direct dependants
[ https://issues.apache.org/jira/browse/MNG-7026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17236773#comment-17236773 ] Martin Kanters commented on MNG-7026: - Thanks for coming back so quickly. I do not work with such big projects, so I do not share your experience, but I do understand what you mean now. One thing is on my mind. In the case that you have these projects: C depends on B depends on A. You mean that if you change A, you only want to rebuild B and not C using something like -amd. While it's less common, it's possible that C could fail by the changes A introduces. Is that something that you don't mind in your use-case? > Ability to only build direct dependants > --- > > Key: MNG-7026 > URL: https://issues.apache.org/jira/browse/MNG-7026 > Project: Maven > Issue Type: New Feature > Components: Command Line, core >Affects Versions: 3.6.3 >Reporter: Chadi >Priority: Minor > Labels: easyfix, features > > We are an organization with a large reactor. When we update a project X, we > would like to have the possibility to compile the artifacts that directly > depend on X, without having to recompile everything. > The fix itself is trivial and consists of traversing in non-recursive mode. I > can prepare a PR if you are OK with the request. > Its activation could be done using a flag such as --amdd, > --also-make-direct-dependents, or maybe --also-make-dependents=direct > What do you think? -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (MNG-7026) Ability to only build direct dependants
[ https://issues.apache.org/jira/browse/MNG-7026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17236742#comment-17236742 ] Chadi commented on MNG-7026: Thanks Martin for the quick feedback. Perhaps it might not be needed with smaller projects, but in our case, we have thousands of projects and having this would be highly beneficial. Using exclusions as you're suggesting, or explicitly listing the projects in a multi-module pom is an issue because those have to be explicitly maintained and continuously updated. Basically X is a client project. I need to make changes to X, and by using -amd alone, it recompiles the whole tree of dependents. But my dependencies are clean, so by having something like -amd+direct, I make sure that I only compile projects that use X, and no more. This is very helpful for development purposes, or even in a (give-me-a-quick-feedback) CI context where I'm looking for a build result without having to build the whole reactor. > Ability to only build direct dependants > --- > > Key: MNG-7026 > URL: https://issues.apache.org/jira/browse/MNG-7026 > Project: Maven > Issue Type: New Feature > Components: Command Line, core >Affects Versions: 3.6.3 >Reporter: Chadi >Priority: Minor > Labels: easyfix, features > > We are an organization with a large reactor. When we update a project X, we > would like to have the possibility to compile the artifacts that directly > depend on X, without having to recompile everything. > The fix itself is trivial and consists of traversing in non-recursive mode. I > can prepare a PR if you are OK with the request. > Its activation could be done using a flag such as --amdd, > --also-make-direct-dependents, or maybe --also-make-dependents=direct > What do you think? -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (MNG-7026) Ability to only build direct dependants
[ https://issues.apache.org/jira/browse/MNG-7026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17236706#comment-17236706 ] Martin Kanters commented on MNG-7026: - I think this indeed would be relatively easy to fix, but I am not sure whether this is something we would like to support as it seems to be quite an exotic case. Perhaps it helps to say that you can exclude certain projects with the `--projects !` flag if it is only certain submodules that you want to avoid to build? > Ability to only build direct dependants > --- > > Key: MNG-7026 > URL: https://issues.apache.org/jira/browse/MNG-7026 > Project: Maven > Issue Type: New Feature > Components: Command Line, core >Affects Versions: 3.6.3 >Reporter: Chadi >Priority: Minor > Labels: easyfix, features > > We are an organization with a large reactor. When we update a project X, we > would like to have the possibility to compile the artifacts that directly > depend on X, without having to recompile everything. > The fix itself is trivial and consists of traversing in non-recursive mode. I > can prepare a PR if you are OK with the request. > Its activation could be done using a flag such as --amdd, > --also-make-direct-dependents, or maybe --also-make-dependents=direct > What do you think? -- This message was sent by Atlassian Jira (v8.3.4#803005)