Could we have --exclude-modules option?
Remi Forax
forax at univ-mlv.fr
Mon Aug 8 23:06:52 UTC 2022
> From: "Andrejus Chaliapinas" <andrejusc at yahoo.com>
> To: "jigsaw-dev" <jigsaw-dev at openjdk.org>
> Sent: Monday, August 8, 2022 3:41:06 PM
> Subject: Re: Could we have --exclude-modules option?
> Let me elaborate a bit - recent use case was when 2 jars were exporting same
> package (such was fine in old classpath use case, but not anymore for Java
> modules case). And challenge was to figure out which exactly jar needs to be
> excluded from Java modules resolution graph to make overall Java Modules
> validation work and not lead to a conflict.
> Presence of either of those jars would satisfy obviously compilation, so issue
> here is not about compilation itself. With proposed exclude approach it would
> be much easier to exclude jar1 - do various evaluations/tests and if anything
> failing - switch to jar2. And do all that yet not touching Maven (other build
> tool) dependencies aggregation inside some folder/local repo. And once reaching
> point of passing set - adjust later dependencies in other places.
> And in that regards mentioned --limit-modules would be longer path to achieve
> above fast evaluation of impact.
It's perhaps easier to just merge the two jars into a unique one, this will resolve any split jar conflicts.
Rémi
> On Monday, August 1, 2022 at 09:53:53 AM GMT+1, Alan Bateman
> <alan.bateman at oracle.com> wrote:
> On 21/07/2022 14:24, Andrejus Chaliapinas wrote:
>> Hi,
>> While dealing with long list of Jar dependencies for complex Maven project and
>> trying to resolve some of Java Modules conflicts - I'm finding that sometimes
>> it could be useful to exclude some modules without yet removing actual jar file
>> from aggregated directory of dependencies.
>> In that regards something like --exclude-modules would help initially to
>> evaluate impact and later allow adjust build/dependencies resolution logic.
>> What do you think?
> I don't think this make sense as code will not compile or run if you dependences
> are removed. Have you found modules where the author has included `requires`
> clauses for modules that aren't actually required, or maybe you are dealing
> with a module path with many automatic modules and your module is being
> compiled with --add-modules ALL-MODULE-PATH?
> One option to be aware of is the --limit-modules option [1] but I suspect it
> won't be useful to you right now.
> -Alan
> [1] [ https://openjdk.org/jeps/261#Limiting-the-observable-modules |
> https://openjdk.org/jeps/261#Limiting-the-observable-modules ]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/jigsaw-dev/attachments/20220809/3985efbd/attachment-0001.htm>
More information about the jigsaw-dev
mailing list