grails / grails-cache

Grails Cache Plugin
https://plugins.grails.org/plugin/grails/cache
23 stars 40 forks source link

Lots of unneeded dependencies in war due to gpars #102

Open robertoschwald opened 2 years ago

robertoschwald commented 2 years ago

gpars depends on groovy-all, which causes lots of unneeded jars in the war file, like testng or groovy-test.

Maybe exclude groovy-all from gpars.

Grails 5.0.2 example:

+--- org.grails.plugins:cache -> 4.0.3 | +--- org.codehaus.gpars:gpars:1.2.0 | | +--- org.multiverse:multiverse-core:0.7.0 | | +--- org.codehaus.jsr166-mirror:jsr166y:1.7.0 | | --- org.codehaus.groovy:groovy-all:2.1.9 -> 3.0.7 | | +--- org.codehaus.groovy:groovy:3.0.7 | | +--- org.codehaus.groovy:groovy-ant:3.0.7 () | | +--- org.codehaus.groovy:groovy-astbuilder:3.0.7 | | | --- org.codehaus.groovy:groovy:3.0.7 | | +--- org.codehaus.groovy:groovy-cli-picocli:3.0.7 | | | +--- org.codehaus.groovy:groovy:3.0.7 | | | --- info.picocli:picocli:4.5.2 -> 4.6.1 | | +--- org.codehaus.groovy:groovy-console:3.0.7 | | | +--- org.codehaus.groovy:groovy:3.0.7 | | | +--- org.codehaus.groovy:groovy-templates:3.0.7 () | | | --- org.codehaus.groovy:groovy-swing:3.0.7 | | | --- org.codehaus.groovy:groovy:3.0.7 | | +--- org.codehaus.groovy:groovy-datetime:3.0.7 | | | --- org.codehaus.groovy:groovy:3.0.7 | | +--- org.codehaus.groovy:groovy-docgenerator:3.0.7 () | | +--- org.codehaus.groovy:groovy-groovydoc:3.0.7 () | | +--- org.codehaus.groovy:groovy-groovysh:3.0.7 | | | +--- org.codehaus.groovy:groovy-templates:3.0.7 () | | | +--- org.codehaus.groovy:groovy:3.0.7 | | | +--- org.codehaus.groovy:groovy-console:3.0.7 () | | | +--- org.codehaus.groovy:groovy-xml:3.0.7 () | | | --- jline:jline:2.14.6 | | +--- org.codehaus.groovy:groovy-jmx:3.0.7 | | | --- org.codehaus.groovy:groovy:3.0.7 | | +--- org.codehaus.groovy:groovy-json:3.0.7 () | | +--- org.codehaus.groovy:groovy-jsr223:3.0.7 | | | --- org.codehaus.groovy:groovy:3.0.7 | | +--- org.codehaus.groovy:groovy-macro:3.0.7 | | | --- org.codehaus.groovy:groovy:3.0.7 | | +--- org.codehaus.groovy:groovy-nio:3.0.7 | | | --- org.codehaus.groovy:groovy:3.0.7 | | +--- org.codehaus.groovy:groovy-servlet:3.0.7 | | | +--- org.codehaus.groovy:groovy:3.0.7 | | | +--- org.codehaus.groovy:groovy-templates:3.0.7 () | | | --- org.codehaus.groovy:groovy-xml:3.0.7 () | | +--- org.codehaus.groovy:groovy-sql:3.0.7 () | | +--- org.codehaus.groovy:groovy-swing:3.0.7 () | | +--- org.codehaus.groovy:groovy-templates:3.0.7 () | | +--- org.codehaus.groovy:groovy-test:3.0.7 | | | +--- org.codehaus.groovy:groovy:3.0.7 | | | --- junit:junit:4.13.1 -> 4.13.2 () | | +--- org.codehaus.groovy:groovy-test-junit5:3.0.7 | | | +--- org.codehaus.groovy:groovy:3.0.7 | | | +--- org.junit.jupiter:junit-jupiter-api:5.7.0 -> 5.7.2 | | | | +--- org.junit:junit-bom:5.7.2 () | | | | +--- org.opentest4j:opentest4j:1.2.0 | | | | --- org.junit.platform:junit-platform-commons:1.7.2 | | | | --- org.junit:junit-bom:5.7.2 () | | | +--- org.junit.platform:junit-platform-launcher:1.7.0 -> 1.7.2 | | | | +--- org.junit:junit-bom:5.7.2 () | | | | --- org.junit.platform:junit-platform-engine:1.7.2 | | | | +--- org.junit:junit-bom:5.7.2 () | | | | +--- org.opentest4j:opentest4j:1.2.0 | | | | --- org.junit.platform:junit-platform-commons:1.7.2 () | | | --- org.junit.jupiter:junit-jupiter-engine:5.7.0 -> 5.7.2 | | | +--- org.junit:junit-bom:5.7.2 () | | | +--- org.junit.platform:junit-platform-engine:1.7.2 () | | | --- org.junit.jupiter:junit-jupiter-api:5.7.2 () | | +--- org.codehaus.groovy:groovy-testng:3.0.7 | | | +--- org.codehaus.groovy:groovy:3.0.7 | | | --- org.testng:testng:7.3.0 | | | --- com.beust:jcommander:1.78 | | --- org.codehaus.groovy:groovy-xml:3.0.7 (*) | +--- com.googlecode.concurrentlinkedhashmap:concurrentlinkedhashmap-lru:1.4.2 | --- org.javassist:javassist:3.17.1-GA -> 3.28.0-GA

robertoschwald commented 2 years ago

See also https://github.com/grails/grails-core/issues/12183

yuri1969 commented 2 years ago

The v5.0.0 depends on gpars 1.2.1. That one declares the groovy-all dependency as an optional one and doesn't seem to be pulled in.

The current grails-core uses 4.0.3 so my guess is to test this using implementation "org.grails.plugins:cache:5.0.0".

Not sure if there are any blockers preventing upgrading to the v5.0.0. Maybe @puneetbehl has the status.

darxriggs commented 2 years ago

I will have a look at it.