[jira] [Commented] (MNG-7026) Ability to only build direct dependants

2020-11-24 Thread Martin Kanters (Jira)


[ 
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

2020-11-22 Thread Chadi (Jira)


[ 
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

2020-11-21 Thread Martin Kanters (Jira)


[ 
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

2020-11-21 Thread Chadi (Jira)


[ 
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

2020-11-21 Thread Martin Kanters (Jira)


[ 
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)