Adam, I'm really not sure I see the rational here. The primary difference between groovy and groovy all is the ASM, Antlr, and Commons CLI being embedded. These are not dependencies of Gradle and it seems the build requires multiple instances of mentioning them. Doesn't this violate DRY and lead to maintenance nightmare?
Some notes below.
>
> Modified: gradle-core/trunk/build.gradle (1779 => 1780)
> --- gradle-core/trunk/build.gradle 2009-08-21 03:36:57 UTC (rev 1779)
> +++ gradle-core/trunk/build.gradle 2009-08-21 06:56:07 UTC (rev 1780)
> @@ -147,7 +147,10 @@
>
> userGuideStyleSheets 'docbook:docbook-xsl:1.7...@zip'
>
>
> - groovy module("org.codehaus.groovy:groovy-all:1.6.4") {
> + groovy module("org.codehaus.groovy:groovy:1.6.4") {
> + dependency("asm:asm-all:2....@jar")
> + dependency("antlr:antlr:2....@jar")
> + dependency("commons-cli:commons-cli:1...@jar")
Why should Gradle have to specify transitive dependencies of Groovy,
this is what Ivy should manage using the POMs. It seems highly
inappropriate for Gradle to have to track Groovy data.
> module("org.apache.ant:ant:1.7.0") {
> dependencies("org.apache.ant:ant-junit:1....@jar",
> "org.apache.ant:ant-launcher:1....@jar")
> }
> Modified:
> gradle-core/trunk/src/samples/userguide/tutorial/groovyWithFlatDir/build.gradle
> (1779 => 1780)
> ---
> gradle-core/trunk/src/samples/userguide/tutorial/groovyWithFlatDir/build.gradle
> 2009-08-21 03:36:57 UTC (rev 1779)
> +++
> gradle-core/trunk/src/samples/userguide/tutorial/groovyWithFlatDir/build.gradle
> 2009-08-21 06:56:07 UTC (rev 1780)
> @@ -6,7 +6,10 @@
> }
>
> dependencies {
> - groovy module(':groovy-all:1.6.0') {
> + groovy module(':groovy:1.6.0') {
> + dependency("asm:asm-all:2.2.3")
> + dependency("antlr:antlr:2.7.7")
> + dependency("commons-cli:commons-cli:1.2")
See above :-)
> dependency(':commons-cli:1.0')
You can't have both 1.0 and 1.2 of Commons CLI? Anyway I thought Gradle
used JOpt Simple.
> module(':ant:1.7.0') {
> dependencies(':ant-junit:1.7.0:jar', ':ant-launcher:1.7.0')
> Modified: gradle-core/trunk/subprojects/gradle-core/build.gradle (1779
> => 1780)
> --- gradle-core/trunk/subprojects/gradle-core/build.gradle 2009-08-21
> 03:36:57 UTC (rev 1779)
> +++ gradle-core/trunk/subprojects/gradle-core/build.gradle 2009-08-21
> 06:56:07 UTC (rev 1780)
> @@ -3,8 +3,15 @@
> usePlugin 'groovy'
>
> dependencies {
> - def ANT_GROOVY = ["org.apache.ant:ant:1....@jar",
> "org.apache.ant:ant-junit:1....@jar", "org.apache.ant:ant-launcher:1....@jar"]
> - groovy "org.codehaus.groovy:groovy-all:1....@jar", ANT_GROOVY
> + def GROOVY_DEPENDENCIES = [
> + "asm:asm-all:2....@jar",
> + "antlr:antlr:2....@jar",
> + "commons-cli:commons-cli:1...@jar",
> + "org.apache.ant:ant:1....@jar",
> + "org.apache.ant:ant-junit:1....@jar",
> + "org.apache.ant:ant-launcher:1....@jar"
See above. This is the third mention of the same data and it is data
Groovy not Gradle should manage.
And then there is the Ant 1.7.1 issue ;-)
> + ]
> + groovy "org.codehaus.groovy:groovy:1....@jar", GROOVY_DEPENDENCIES
>
> compile "commons-httpclient:commons-httpclient:3...@jar",
> "commons-codec:commons-codec:1...@jar", "org.slf4j:jcl-over-slf4j:1....@jar"
>
--
Russel.
=============================================================================
Dr Russel Winder Partner
xmpp: [email protected]
Concertant LLP t: +44 20 7585 2200, +44 20 7193 9203
41 Buckmaster Road, f: +44 8700 516 084 voip: sip:[email protected]
London SW11 1EN, UK m: +44 7770 465 077 skype: russel_winder
signature.asc
Description: This is a digitally signed message part
