build.gradle - Multiproject gradle duplicate dependencies in distribution ZIP -
i have gradle multi-project setup wish collect dependent , output jars zip @ top level. i've got working, end duplicates in zip file. i've not found useful in official documentation on multi project setups
- how can remove duplicates?
- is there approach should take?
structure
./multi-project ./multi-project/build.gradle ./multi-project/settings.gradle ./multi-project/bar ./multi-project/bar/build.gradle ./multi-project/foo ./multi-project/foo/build.gradle top level build.gradle
apply plugin: 'java' allprojects { apply plugin: 'java' repositories { mavencentral() } } task builddist(type: zip) { subprojects.configurations.compile 'jars' subprojects.jar.outputs.files 'jars' } settings.gradle
include ':foo' include ':bar' lower level build.gradle files foo , bar (both same)
dependencies { compile 'org.springframework:spring-beans:4.1.0.release' } when run gradle :builddist top level zip has duplicates
unzip -l build/distributions/multi-project.zip archive: build/distributions/multi-project.zip length date time name --------- ---------- ----- ---- 0 2014-09-09 20:17 jars/ 701334 2014-09-09 19:53 jars/spring-beans-4.1.0.release.jar 62050 2014-07-05 21:09 jars/commons-logging-1.1.3.jar 1005039 2014-09-09 19:53 jars/spring-core-4.1.0.release.jar 701334 2014-09-09 19:53 jars/spring-beans-4.1.0.release.jar 62050 2014-07-05 21:09 jars/commons-logging-1.1.3.jar 1005039 2014-09-09 19:53 jars/spring-core-4.1.0.release.jar 301 2014-09-09 20:12 jars/bar.jar 301 2014-09-09 20:12 jars/foo.jar
task builddist(type: zip) { 'jars' { subprojects.configurations.runtime } { subprojects.jar } duplicatesstrategy = duplicatesstrategy.exclude } to see configuration options particular gradle task type, consult gradle build language reference.
Comments
Post a Comment