> From: "Andrejus Chaliapinas" <[email protected]> > To: "jigsaw-dev" <[email protected]> > 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 > <[email protected]> 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 ]
