You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by cc...@apache.org on 2017/12/12 20:56:22 UTC

[01/19] groovy git commit: Fix module descriptor path

Repository: groovy
Updated Branches:
  refs/heads/GROOVY_2_6_X 74a763f3f -> 25db53004


Fix module descriptor path


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/25db5300
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/25db5300
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/25db5300

Branch: refs/heads/GROOVY_2_6_X
Commit: 25db53004bb9a89f7fecbcf9c346227b54a59f43
Parents: 10427f9
Author: Cedric Champeau <cc...@apache.org>
Authored: Tue Dec 12 21:27:44 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 .../org/codehaus/groovy/gradle/WriteExtensionDescriptorTask.groovy | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/25db5300/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/WriteExtensionDescriptorTask.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/WriteExtensionDescriptorTask.groovy b/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/WriteExtensionDescriptorTask.groovy
index a5e716f..679b083 100644
--- a/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/WriteExtensionDescriptorTask.groovy
+++ b/buildSrc/src/main/groovy/org/codehaus/groovy/gradle/WriteExtensionDescriptorTask.groovy
@@ -36,7 +36,7 @@ class WriteExtensionDescriptorTask extends DefaultTask {
 
 
     private File computeDescriptorFile() {
-        def metaInfDir = new File("${project.buildDir}/classes/main/META-INF/services")
+        def metaInfDir = new File("${project.buildDir}/resources/main/META-INF/services")
         return new File(metaInfDir, "org.codehaus.groovy.runtime.ExtensionModule")
     }
 


[10/19] groovy git commit: Introduce an indy specific test suite

Posted by cc...@apache.org.
Introduce an indy specific test suite

The build now integrates a `testWithIndy` test suite. It is possible to execute both the legacy
and the indy test suites by calling `testAll`.


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/c75fd416
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/c75fd416
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/c75fd416

Branch: refs/heads/GROOVY_2_6_X
Commit: c75fd41624a7c3a193670201bd19cc187aaada82
Parents: dd5a051
Author: Cedric Champeau <cc...@apache.org>
Authored: Mon Dec 11 10:39:33 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 gradle/assemble.gradle              |  2 +-
 gradle/test.gradle                  | 46 +++++++++++++++++++++++++-------
 subprojects/groovy-sql/build.gradle |  2 +-
 3 files changed, 39 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/c75fd416/gradle/assemble.gradle
----------------------------------------------------------------------
diff --git a/gradle/assemble.gradle b/gradle/assemble.gradle
index 0d6bd78..5f8e5af 100644
--- a/gradle/assemble.gradle
+++ b/gradle/assemble.gradle
@@ -208,7 +208,7 @@ allprojects {
                                 // GROOVY-8332: stop copy of annotation processor which is for some reason included in antlr runtime artifact
                                 // GROOVY-8387: we don't want module-info.class from any dependencies
                                 zipfileset(src: jarjarFile,
-                                        excludes: 'META-INF/maven/commons-cli/commons-cli/*,META-INF/*,META-INF/services/javax.annotation.processing.Processor,module-info.class')
+                                        excludes: 'META-INF/maven/*,META-INF/*,META-INF/services/javax.annotation.processing.Processor,module-info.class')
                             }
 
                             zipfileset(src: configurations.runtime.files.find { file -> file.name.startsWith('asm-util') },

http://git-wip-us.apache.org/repos/asf/groovy/blob/c75fd416/gradle/test.gradle
----------------------------------------------------------------------
diff --git a/gradle/test.gradle b/gradle/test.gradle
index e91a9a8..176530d 100644
--- a/gradle/test.gradle
+++ b/gradle/test.gradle
@@ -17,7 +17,7 @@
  *  under the License.
  */
 allprojects {
-    test {
+    tasks.withType(Test) {
         if (JavaVersion.current().isJava8Compatible()) {
             jvmArgs '-ea', "-Xms${groovyJUnit_ms}", "-Xmx${groovyJUnit_mx}"
         } else {
@@ -39,6 +39,27 @@ allprojects {
         }
     }
 
+    // create an Indy test suite
+    if (rootProject.indyCapable()) {
+        def dependencies = configurations.testRuntime.incoming.dependencies.findAll {
+            it.name.startsWith('groovy')
+        }.collect {
+            it.name
+        }
+        task testWithIndy(type: Test) {
+            systemProperties 'groovy.target.indy': true
+            dependsOn 'jarWithIndy'
+            dependencies.each { dependsOn "${it}:jarWithIndy" }
+            classpath = classpath - files(jar.archivePath, *dependencies.collect { project(it).jar }) +
+                    files({ [jarWithIndy.archivePath, *dependencies.collect { project(it).jarWithIndy }] })
+        }
+        task testAll {
+            description = "Runs both the normal and indy test suites"
+            dependsOn test, testWithIndy
+        }
+        check.dependsOn testWithIndy
+    }
+
     sourceSets {
         test {
             groovy {
@@ -51,7 +72,7 @@ allprojects {
     }
 }
 
-test {
+tasks.withType(Test) {
     def testdb = System.properties['groovy.testdb.props']
     if (testdb) {
         systemProperties 'groovy.testdb.props': testdb
@@ -60,7 +81,7 @@ test {
     systemProperties 'gradle.home': gradle.gradleHomeDir // this is needed by the security.policy
 
     classpath = files('src/test') + classpath
-    exclude buildExcludeFilter()
+    exclude buildExcludeFilter(it.name == 'test')
     ext.resultText = ''
     doLast {
         ant.delete {
@@ -83,12 +104,17 @@ tasks.addRule('Pattern: testSingle<Name> will test **/<Name>.class') { String ta
     }
 }
 
-def buildExcludeFilter() {
+def buildExcludeFilter(boolean legacyTestSuite) {
     def excludes = []
 
     // if no network available, disable Grapes
     if (!System.properties['junit.network']) {
-        excludes  << 'groovy/grape/'
+        excludes << 'groovy/grape/'
+    }
+
+    if (legacyTestSuite) {
+        // indy tests will only be executed in indy test suite
+        excludes += ['indy', 'Indy']
     }
 
     return { f ->
@@ -104,7 +130,7 @@ ext.extModuleFixtureDir = file("$projectDir/src/test-fixtures/extmodule")
 ext.extModuleOutputDir = file("$buildDir/testFixtures/extmodule")
 ext.extModuleRepoDir = file("$extModuleOutputDir/repo")
 
-task compileTestExtensionModule(type:JavaCompile) {
+task compileTestExtensionModule(type: JavaCompile) {
     classpath = files(jar.archivePath)
     source fileTree("$extModuleFixtureDir/src/main/java")
     destinationDir = file("$extModuleOutputDir/classes")
@@ -112,7 +138,7 @@ task compileTestExtensionModule(type:JavaCompile) {
     targetCompatibility = 1.6
 }
 
-task testExtensionModuleJar(type:Jar) {
+task testExtensionModuleJar(type: Jar) {
     description = 'Builds a sample extension module used in tests'
     dependsOn compileTestExtensionModule
     baseName = 'module-test'
@@ -123,5 +149,7 @@ task testExtensionModuleJar(type:Jar) {
     destinationDir = file("$extModuleRepoDir/jars/module-test/module-test/${version}")
 }
 
-test.dependsOn(testExtensionModuleJar)
-test.classpath += files(extModuleRepoDir)
+tasks.withType(Test) {
+    dependsOn(testExtensionModuleJar)
+    classpath += files(extModuleRepoDir)
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/groovy/blob/c75fd416/subprojects/groovy-sql/build.gradle
----------------------------------------------------------------------
diff --git a/subprojects/groovy-sql/build.gradle b/subprojects/groovy-sql/build.gradle
index 27498ae..6c911a5 100644
--- a/subprojects/groovy-sql/build.gradle
+++ b/subprojects/groovy-sql/build.gradle
@@ -29,7 +29,7 @@ dependencies {
 sourceSets.test.runtimeClasspath += files('src/test/groovy')
 
 // TODO move to parent build.gradle subprojects
-test {
+tasks.withType(Test) {
     excludes = ['**/*TestCase.class', '**/*$*.class']
 }
 


[04/19] groovy git commit: Use skipIndy to allow skipping build of indy jars

Posted by cc...@apache.org.
Use skipIndy to allow skipping build of indy jars


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/f4baa7a7
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/f4baa7a7
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/f4baa7a7

Branch: refs/heads/GROOVY_2_6_X
Commit: f4baa7a72096d71f7f44c248832012db9b076656
Parents: 06de891
Author: Cedric Champeau <cc...@apache.org>
Authored: Mon Dec 11 08:33:42 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 build.gradle           | 16 +++++++++-------
 gradle/assemble.gradle | 25 +++++++++++++++++--------
 gradle/indy.gradle     |  2 +-
 gradle/upload.gradle   | 13 +++++++++++--
 4 files changed, 38 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/f4baa7a7/build.gradle
----------------------------------------------------------------------
diff --git a/build.gradle b/build.gradle
index 944f31e..dd6d32e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -434,13 +434,15 @@ allprojects {
         options.encoding = 'UTF-8'
     }
 
-    task compileGroovyWithIndy(type:GroovyCompile) {
-        source = sourceSets.main.groovy
-        classpath = compileGroovy.classpath
-        sourceCompatibility = 1.8
-        targetCompatibility = 1.8
-        groovyOptions.optimizationOptions['indy'] = true
-        destinationDir = file("$buildDir/classes/indy")
+    if (rootProject.indyCapable()) {
+        task compileGroovyWithIndy(type: GroovyCompile) {
+            source = sourceSets.main.groovy
+            classpath = compileGroovy.classpath
+            sourceCompatibility = 1.8
+            targetCompatibility = 1.8
+            groovyOptions.optimizationOptions['indy'] = true
+            destinationDir = file("$buildDir/classes/indy")
+        }
     }
 
     tasks.withType(GroovyCompile) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/f4baa7a7/gradle/assemble.gradle
----------------------------------------------------------------------
diff --git a/gradle/assemble.gradle b/gradle/assemble.gradle
index 470c8aa..836659a 100644
--- a/gradle/assemble.gradle
+++ b/gradle/assemble.gradle
@@ -133,17 +133,21 @@ ext.subprojectOsgiManifest = {
 }
 
 allprojects {
+    def producedJars = [jar]
     jar {
         appendix = 'raw'
     }
-    task jarWithIndy(type: Jar) {
-        dependsOn compileGroovyWithIndy
-        classifier = 'indy'
-        appendix = 'raw'
-        from sourceSets.main.java.outputDir
-        from compileGroovyWithIndy.destinationDir
+    if (rootProject.indyCapable()) {
+        task jarWithIndy(type: Jar) {
+            dependsOn compileGroovyWithIndy
+            classifier = 'indy'
+            appendix = 'raw'
+            from sourceSets.main.java.outputDir
+            from compileGroovyWithIndy.destinationDir
+        }
+        producedJars << jarWithIndy
     }
-    [jar, jarWithIndy].each { arch ->
+    producedJars.each { arch ->
         arch.metaInf {
             from("$projectDir/licenses/LICENSE-JARJAR")
             from("$projectDir/licenses") {
@@ -280,7 +284,12 @@ allprojects {
     }
 }
 
-[jar, jarWithIndy].each {
+def producedJars = [jar]
+if (rootProject.indyCapable()) {
+    producedJars << jarWithIndy
+}
+
+producedJars.each {
     it.dependsOn('dgmConverter')
     it.from files(dgmConverter.outputDir)
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/f4baa7a7/gradle/indy.gradle
----------------------------------------------------------------------
diff --git a/gradle/indy.gradle b/gradle/indy.gradle
index f2262c1..70968ad 100644
--- a/gradle/indy.gradle
+++ b/gradle/indy.gradle
@@ -21,5 +21,5 @@
 // with regards to invoke dynamic support (indy)
 
 rootProject.ext.indyCapable = {
-    !rootProject.hasProperty('skipIndy')
+    !rootProject.hasProperty('skipIndy') && JavaVersion.current().java7Compatible
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/f4baa7a7/gradle/upload.gradle
----------------------------------------------------------------------
diff --git a/gradle/upload.gradle b/gradle/upload.gradle
index 683a6d3..8588346 100644
--- a/gradle/upload.gradle
+++ b/gradle/upload.gradle
@@ -105,9 +105,14 @@ allprojects {
         }
 
         [uploadArchives, install]*.with {
-            dependsOn([jar, jarjarWithIndy, sourceJar, javadocJar, groovydocJar])
+            dependsOn([jar, sourceJar, javadocJar, groovydocJar])
+            if (rootProject.indyCapable()) {
+                dependsOn jarjarWithIndy
+            }
             doFirst {
-                project.artifacts.add('archives', jarjarWithIndy)
+                if (rootProject.indyCapable()) {
+                    project.artifacts.add('archives', jarjarWithIndy)
+                }
                 def grooidJar = rootProject.ext.deriveFile(jar.archivePath, 'grooid')
                 if (grooidJar.exists()) {
                     project.artifacts.add('archives', grooidJar)
@@ -142,6 +147,10 @@ allprojects {
 [uploadArchives, install]*.with {
     dependsOn([sourceAllJar, javadocAllJar, groovydocAllJar, distBin, distDoc, dist, distBin])
     doFirst {
+        if (!rootProject.indyCapable()) {
+            throw new GradleException("You must run with JDK 7+ to upload archives")
+        }
+
         project.artifacts.add('archives', distBin) {
             name = 'groovy-binary'
         }


[13/19] groovy git commit: Add a couple of missing jvm args when running tests

Posted by cc...@apache.org.
Add a couple of missing jvm args when running tests


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/fcc1ce36
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/fcc1ce36
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/fcc1ce36

Branch: refs/heads/GROOVY_2_6_X
Commit: fcc1ce36f43d30b7fb216d961c0f2c44d8e79608
Parents: e111b8d
Author: Cedric Champeau <cc...@apache.org>
Authored: Mon Dec 11 13:51:08 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 gradle/jdk9.gradle                     | 2 +-
 subprojects/parser-antlr4/build.gradle | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/fcc1ce36/gradle/jdk9.gradle
----------------------------------------------------------------------
diff --git a/gradle/jdk9.gradle b/gradle/jdk9.gradle
index eb8dfd3..3f4e6b9 100644
--- a/gradle/jdk9.gradle
+++ b/gradle/jdk9.gradle
@@ -21,7 +21,7 @@ if (JavaVersion.current().java9Compatible) {
         tasks.withType(GroovyCompile) {
             groovyOptions.forkOptions.jvmArgs.addAll(['--add-modules', 'java.xml.bind'])
         }
-        test {
+        tasks.withType(Test) {
             jvmArgs '--add-modules', 'java.xml.bind'
         }
     }

http://git-wip-us.apache.org/repos/asf/groovy/blob/fcc1ce36/subprojects/parser-antlr4/build.gradle
----------------------------------------------------------------------
diff --git a/subprojects/parser-antlr4/build.gradle b/subprojects/parser-antlr4/build.gradle
index 085ee12..4223e68 100644
--- a/subprojects/parser-antlr4/build.gradle
+++ b/subprojects/parser-antlr4/build.gradle
@@ -81,6 +81,6 @@ allprojects {
     }
 }
 
-test {
+tasks.withType(Test) {
     jvmArgs "-Dgroovy.attach.groovydoc=true", "-Dgroovy.antlr4.cache.threshold=100"
 }


[09/19] groovy git commit: Rework how the "indy" jars are built

Posted by cc...@apache.org.
Rework how the "indy" jars are built

This gets rid of the ugly `GradleBuild` call which was extremely slow and causes cache misses. This still lacks
support for running tests with indy, it will be added in a subsequent commit.


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/06de8914
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/06de8914
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/06de8914

Branch: refs/heads/GROOVY_2_6_X
Commit: 06de8914fd1f9c0d6656078fe7e4fd7e67825dc2
Parents: 8126cde
Author: Cedric Champeau <cc...@apache.org>
Authored: Mon Dec 11 00:48:03 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 build.gradle                      |  31 ++---
 gradle.properties                 |   3 +
 gradle/assemble.gradle            | 233 +++++++++++++++------------------
 gradle/binarycompatibility.gradle |   2 +-
 gradle/indy.gradle                |  53 --------
 gradle/test.gradle                |   8 --
 gradle/upload.gradle              |  17 +--
 7 files changed, 128 insertions(+), 219 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/06de8914/build.gradle
----------------------------------------------------------------------
diff --git a/build.gradle b/build.gradle
index 6bb4ab7..944f31e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -76,7 +76,6 @@ apply plugin: "com.github.jk1.dependency-license-report"
 
 File javaHome = new File(System.getProperty('java.home'))
 logger.lifecycle "Using Java from $javaHome (version ${System.getProperty('java.version')})"
-indyBanner()
 
 allprojects {
     apply plugin: 'java'
@@ -423,8 +422,6 @@ task bootstrapJar(type:Jar ) {
     from compileJava.destinationDir
     from dgmConverter.outputDir
 
-    inputs.property('indy', useIndy())
-
     destinationDir = file("$buildDir/bootstrap")
     classifier = 'bootstrap'
 }
@@ -437,6 +434,15 @@ allprojects {
         options.encoding = 'UTF-8'
     }
 
+    task compileGroovyWithIndy(type:GroovyCompile) {
+        source = sourceSets.main.groovy
+        classpath = compileGroovy.classpath
+        sourceCompatibility = 1.8
+        targetCompatibility = 1.8
+        groovyOptions.optimizationOptions['indy'] = true
+        destinationDir = file("$buildDir/classes/indy")
+    }
+
     tasks.withType(GroovyCompile) {
         groovyOptions.fork(memoryMaximumSize: groovycMain_mx)
         groovyOptions.encoding = 'UTF-8'
@@ -447,25 +453,6 @@ allprojects {
 
         classpath = classpath + groovyClasspath
     }
-
-    if (useIndy()) {
-        tasks.withType(GroovyCompile) {
-            logger.info("Building ${project.name}:${name} with InvokeDynamic support activated")
-            groovyOptions.optimizationOptions.indy = true
-            sourceCompatibility = 1.7
-            targetCompatibility = 1.7
-        }
-        tasks.withType(JavaCompile) {
-            // exclude projects which set their own specific source/target levels
-            if (!(project.name in ['performance', 'tests-vm8'])) {
-                sourceCompatibility = 1.7
-                targetCompatibility = 1.7
-            }
-        }
-        jar {
-            classifier = 'indy'
-        }
-    }
 }
 
 compileTestGroovy {

http://git-wip-us.apache.org/repos/asf/groovy/blob/06de8914/gradle.properties
----------------------------------------------------------------------
diff --git a/gradle.properties b/gradle.properties
index cbaede3..bc8e4fa 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -34,3 +34,6 @@ javaDoc_mx=1g
 #org.gradle.jvmargs=-ea -Xmx1G
 # jdk 6-8
 org.gradle.jvmargs=-Xms800m -Xmx1500m -XX:MaxPermSize=512m -XX:+CMSClassUnloadingEnabled -XX:+CMSPermGenSweepingEnabled
+
+# enable the Gradle build cache
+org.gradle.caching=true
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/groovy/blob/06de8914/gradle/assemble.gradle
----------------------------------------------------------------------
diff --git a/gradle/assemble.gradle b/gradle/assemble.gradle
index 762b043..470c8aa 100644
--- a/gradle/assemble.gradle
+++ b/gradle/assemble.gradle
@@ -132,111 +132,121 @@ ext.subprojectOsgiManifest = {
     classpath = sourceSets.main.runtimeClasspath
 }
 
-jar {
-    dependsOn('dgmConverter')
-    from files(dgmConverter.outputDir)
-    metaInf {
-        from("$projectDir/licenses/LICENSE-JARJAR")
-        from("$projectDir/licenses") {
-            into('licenses')
-            include('asm-license.txt')
-            include('antlr2-license.txt')
-            include('antlr4-license.txt')
-        }
-        from("$projectDir/notices/NOTICE-JARJAR")
-        from('src/resources/META-INF/groovy-release-info.properties') {
-            filter(rootProject.propertiesFilter, org.apache.tools.ant.filters.ReplaceTokens)
+allprojects {
+    jar {
+        appendix = 'raw'
+    }
+    task jarWithIndy(type: Jar) {
+        dependsOn compileGroovyWithIndy
+        classifier = 'indy'
+        appendix = 'raw'
+        from sourceSets.main.java.outputDir
+        from compileGroovyWithIndy.destinationDir
+    }
+    [jar, jarWithIndy].each { arch ->
+        arch.metaInf {
+            from("$projectDir/licenses/LICENSE-JARJAR")
+            from("$projectDir/licenses") {
+                into('licenses')
+                include('asm-license.txt')
+                include('antlr2-license.txt')
+                include('antlr4-license.txt')
+            }
+            from("$projectDir/notices/NOTICE-JARJAR")
+            from('src/resources/META-INF/groovy-release-info.properties') {
+                filter(rootProject.propertiesFilter, org.apache.tools.ant.filters.ReplaceTokens)
+            }
+            rename { String filename -> filename == 'LICENSE-JARJAR' ? 'LICENSE' : filename == 'NOTICE-JARJAR' ? 'NOTICE' : filename }
         }
-        rename { String filename -> filename == 'LICENSE-JARJAR' ? 'LICENSE' : filename == 'NOTICE-JARJAR' ? 'NOTICE' : filename }
-    }
-    exclude '**/package-info.class'
-}
+        arch.exclude '**/package-info.class'
 
-allprojects {
-    task jarjar(type:Jar, dependsOn: jar) {
-        destinationDir = jar.destinationDir
-        baseName = jar.baseName
-        appendix = jar.appendix?"${jar.appendix}-jarjar":"jarjar"
-        classifier = jar.classifier
-        includeEmptyDirs = false
-        def target = new File("${archivePath}.tmp")
-        def targetTmp = new File("${archivePath}.tmp.1.tmp")
-
-        doFirst {
-            from zipTree(target)
-
-            def keepUntouched = [
-                    'org/codehaus/groovy/cli/GroovyPosixParser*.class',
-                    'groovy/util/CliBuilder*.class',
-                    'groovy/util/OptionAccessor*.class',
-                    'org/codehaus/groovy/tools/shell/util/HelpFormatter*.class'
-            ].join(',')
-            boolean isRoot = project == rootProject
-            def gradleProject = project
-            ant {
-                taskdef name: 'jarjar', classname: jarjarTaskClassName, classpath: rootProject.configurations.tools.asPath
-                jarjar(jarfile: targetTmp) {
-                    zipfileset(
-                            src: jar.archivePath,
-                            excludes: keepUntouched)
-
-                    // only groovy core will include the dependencies repackaged
-                    if (isRoot) {
-                        configurations.runtime.files.findAll { file ->
-                            ['antlr', 'asm', 'commons-cli'].any {
-                                file.name.startsWith(it)
-                            } && ['asm-attr', 'asm-util', 'asm-analysis'].every { !file.name.startsWith(it) }
-                        }.each { jarjarFile ->
-                            // explanation of excludes:
-                            // GROOVY-7386: stop copy of incorrect maven meta info
-                            // GROOVY-8332: stop copy of annotation processor which is for some reason included in antlr runtime artifact
-                            // GROOVY-8387: we don't want module-info.class from any dependencies
-                            zipfileset(src: jarjarFile,
-                                    excludes: 'META-INF/maven/commons-cli/commons-cli/*,META-INF/*,META-INF/services/javax.annotation.processing.Processor,module-info.class')
-                        }
+        task "jar${arch.name}"(type:Jar, dependsOn: arch) {
+            outputs.cacheIf {
+                // caching JarJar because it's quite expensive to create
+                true
+            }
+            destinationDir = arch.destinationDir
+            baseName = arch.baseName
+            classifier = arch.classifier
+            includeEmptyDirs = false
+            def target = new File("${archivePath}.tmp")
+            def targetTmp = new File("${archivePath}.tmp.1.tmp")
+            inputs.file(arch.archivePath)
+
+            doFirst {
+                from zipTree(target)
 
-                        zipfileset(src: configurations.runtime.files.find { file -> file.name.startsWith('asm-util') },
-                                includes: 'org/objectweb/asm/util/Printer.class,org/objectweb/asm/util/Textifier.class,org/objectweb/asm/util/ASMifier.class,org/objectweb/asm/util/Trace*')
+                def keepUntouched = [
+                        'org/codehaus/groovy/cli/GroovyPosixParser*.class',
+                        'groovy/util/CliBuilder*.class',
+                        'groovy/util/OptionAccessor*.class',
+                        'org/codehaus/groovy/tools/shell/util/HelpFormatter*.class'
+                ].join(',')
+                boolean isRoot = project == rootProject
+                def gradleProject = project
+                ant {
+                    taskdef name: 'jarjar', classname: jarjarTaskClassName, classpath: rootProject.configurations.tools.asPath
+                    jarjar(jarfile: targetTmp) {
+                        zipfileset(
+                                src: arch.archivePath,
+                                excludes: keepUntouched)
+
+                        // only groovy core will include the dependencies repackaged
+                        if (isRoot) {
+                            configurations.runtime.files.findAll { file ->
+                                ['antlr', 'asm', 'commons-cli'].any {
+                                    file.name.startsWith(it)
+                                } && ['asm-attr', 'asm-util', 'asm-analysis'].every { !file.name.startsWith(it) }
+                            }.each { jarjarFile ->
+                                // explanation of excludes:
+                                // GROOVY-7386: stop copy of incorrect maven meta info
+                                // GROOVY-8332: stop copy of annotation processor which is for some reason included in antlr runtime artifact
+                                // GROOVY-8387: we don't want module-info.class from any dependencies
+                                zipfileset(src: jarjarFile,
+                                        excludes: 'META-INF/maven/commons-cli/commons-cli/*,META-INF/*,META-INF/services/javax.annotation.processing.Processor,module-info.class')
+                            }
+
+                            zipfileset(src: configurations.runtime.files.find { file -> file.name.startsWith('asm-util') },
+                                    includes: 'org/objectweb/asm/util/Printer.class,org/objectweb/asm/util/Textifier.class,org/objectweb/asm/util/ASMifier.class,org/objectweb/asm/util/Trace*')
+                        }
+                        rule pattern: 'antlr.**', result: 'groovyjarjarantlr.@1' // antlr2
+                        rule pattern: 'org.antlr.**', result: 'groovyjarjarantlr4.@1' // antlr4
+                        rule pattern: 'org.objectweb.**', result: 'groovyjarjarasm.@1'
+                        rule pattern: 'org.apache.commons.cli.**', result: 'groovyjarjarcommonscli.@1'
                     }
-                    rule pattern: 'antlr.**', result: 'groovyjarjarantlr.@1' // antlr2
-                    rule pattern: 'org.antlr.**', result: 'groovyjarjarantlr4.@1' // antlr4
-                    rule pattern: 'org.objectweb.**', result: 'groovyjarjarasm.@1'
-                    rule pattern: 'org.apache.commons.cli.**', result: 'groovyjarjarcommonscli.@1'
                 }
-            }
 
-            def manifestSpec = isRoot ? groovyOsgiManifest : subprojectOsgiManifest
-            manifest = osgiManifest {
-                symbolicName = gradleProject.name
-                instruction 'Import-Package', '*;resolution:=optional'
-                classesDir = targetTmp
-                def moduleName = "org.codehaus.${it.name.replace('-', '.')}"
-                attributes('Automatic-Module-Name': moduleName)
-            }
-            manifest(manifestSpec)
+                def manifestSpec = isRoot ? groovyOsgiManifest : subprojectOsgiManifest
+                manifest = osgiManifest {
+                    symbolicName = gradleProject.name
+                    instruction 'Import-Package', '*;resolution:=optional'
+                    classesDir = targetTmp
+                    def moduleName = "org.codehaus.${it.name.replace('-', '.')}"
+                    attributes('Automatic-Module-Name': moduleName)
+                }
+                manifest(manifestSpec)
 
-            def manifestPath = "${temporaryDir}/META-INF/MANIFEST.MF"
-            manifest.writeTo(manifestPath)
+                def manifestPath = "${temporaryDir}/META-INF/MANIFEST.MF"
+                manifest.writeTo(manifestPath)
 
-            ant.copy(file: targetTmp, tofile: target)
-            ant.jar(destfile: target, update: true, manifest: manifestPath) {
-                zipfileset(
-                        src: jar.archivePath,
-                        includes: keepUntouched)
-            }
+                ant.copy(file: targetTmp, tofile: target)
+                ant.jar(destfile: target, update: true, manifest: manifestPath) {
+                    zipfileset(
+                            src: arch.archivePath,
+                            includes: keepUntouched)
+                }
 
+            }
+            doLast {
+                target.delete()
+                ant.delete(file: targetTmp, quiet: true, deleteonexit: true)
+            }
         }
-        doLast {
-            target.delete()
-            ant.delete(file: targetTmp, quiet: true, deleteonexit: true)
-        }
+
     }
 
     if (project.name in ['groovy', 'groovy-test']) {
         task grooidjar(type: Jar) {
-            onlyIf {
-                !rootProject.useIndy()
-            }
             destinationDir = jar.destinationDir
             baseName = jar.baseName
             appendix = jar.appendix
@@ -270,6 +280,11 @@ allprojects {
     }
 }
 
+[jar, jarWithIndy].each {
+    it.dependsOn('dgmConverter')
+    it.from files(dgmConverter.outputDir)
+}
+
 subprojects { sp ->
     jar {
         metaInf {
@@ -292,35 +307,8 @@ subprojects { sp ->
     }
 }
 
-task replaceJarWithJarJar(dependsOn: allprojects.jarjar ) {
-    description = "Overwrites normal JAR files with their JARJAR version"
-    doLast {
-        allprojects {
-            def jarjarFile = tasks.jarjar.archivePath
-            if (jarjarFile) {
-                file(jar.archivePath).delete()
-                ant.copy(file: jarjarFile, tofile: jar.archivePath)
-                jarjarFile.delete()
-            }
-        }
-    }
-    inputs.files(allprojects.jarjar.archivePath)
-    outputs.files(allprojects.jar.archivePath)
-}
-
 allprojects {
-    rootProject.replaceJarWithJarJar.mustRunAfter(test)
-}
-
-allprojects {
-    task jarWithIndy(type: GradleBuild) {
-        onlyIf rootProject.indyCapable
-        description = 'Triggers an external build generating the indy jar'
-        buildFile = 'build.gradle'
-        startParameter.projectProperties['indy'] = true
-        startParameter.projectCacheDir = file("$buildDir/indyCacheDir")
-        tasks = ['jar']
-    }
+    rootProject.jarjar.mustRunAfter(test)
 }
 
 task sourceAllJar(type: Jar, dependsOn: { modules()*.sourceJar + rootProject.sourceJar }) {
@@ -329,29 +317,24 @@ task sourceAllJar(type: Jar, dependsOn: { modules()*.sourceJar + rootProject.sou
         with it.rootSpec
     }
     baseName = 'groovy-all'
-    classifier = rootProject.useIndy() ? 'indy-sources' : 'sources'
 }
 
 allprojects {
     task javadocJar(type: Jar, dependsOn: javadoc) {
-        classifier = rootProject.useIndy() ? 'indy-javadoc' : 'javadoc'
         from javadoc.destinationDir
     }
     task groovydocJar(type: Jar, dependsOn: groovydoc) {
-        classifier = rootProject.useIndy() ? 'indy-groovydoc' : 'groovydoc'
         from groovydoc.destinationDir
     }
 }
 
 task javadocAllJar(type: Jar, dependsOn: javadocAll) {
     baseName = 'groovy-all'
-    classifier = rootProject.useIndy() ? 'indy-javadoc' : 'javadoc'
     from javadocAll.destinationDir
 }
 
 task groovydocAllJar(type: Jar, dependsOn: groovydocAll) {
     baseName = 'groovy-all'
-    classifier = rootProject.useIndy() ? 'indy-groovydoc' : 'groovydoc'
     from groovydocAll.destinationDir
 }
 
@@ -419,7 +402,7 @@ ext.distSpec = copySpec {
     }
 }
 
-task distBin(type: Zip, dependsOn: [jar, replaceJarWithJarJar]) {
+task distBin(type: Zip, dependsOn: [jarjar]) {
     baseName = 'apache-groovy'
     appendix = 'binary'
     into("groovy-$version") {

http://git-wip-us.apache.org/repos/asf/groovy/blob/06de8914/gradle/binarycompatibility.gradle
----------------------------------------------------------------------
diff --git a/gradle/binarycompatibility.gradle b/gradle/binarycompatibility.gradle
index b822d11..7ed12df 100644
--- a/gradle/binarycompatibility.gradle
+++ b/gradle/binarycompatibility.gradle
@@ -147,7 +147,7 @@ allprojects {
         }
 
         task japicmp(type: me.champeau.gradle.ArtifactJapicmpTask) {
-            dependsOn replaceJarWithJarJar
+            dependsOn jarjar
             baseline = "org.codehaus.groovy:${project.name}:${referenceMinorVersion}@jar"
             to = jar.archivePath
             accessModifier = 'protected'

http://git-wip-us.apache.org/repos/asf/groovy/blob/06de8914/gradle/indy.gradle
----------------------------------------------------------------------
diff --git a/gradle/indy.gradle b/gradle/indy.gradle
index 75b7422..f2262c1 100644
--- a/gradle/indy.gradle
+++ b/gradle/indy.gradle
@@ -23,56 +23,3 @@
 rootProject.ext.indyCapable = {
     !rootProject.hasProperty('skipIndy')
 }
-
-rootProject.ext.useIndy = {
-    boolean indy = false
-
-    // first, check if a system property activates indy support
-    indy |= System.hasProperty('indy') && Boolean.valueOf(System.getProperty('indy'))
-
-    // ultimately, check if the main project has an extension property setting indy to true
-    // which is the case if the build is started with -Pindy=true or during install/dist tasks
-    indy |= rootProject.hasProperty('indy') && (Boolean.valueOf(rootProject.indy))
-
-    indy && rootProject.indyCapable()
-}
-rootProject.ext.indyBanner = {
-    if (project==rootProject && useIndy()) {
-        logger.lifecycle '''
-
-         DM .N$?
-          $I?7OM.
-        .7+?II77MZ       ,:~~
-        +I$7O$8?  .M..DMMNNMMNZ.
-         ONDOMI.     7MMMMMMOO$I.
-         DOM87=      ZMNM8NMI77$.
-    .MNDO?$8$?       8MMNMMMN7II.
-   MMMO. O$7Z.   OI8?MDNNM$$$$7OM
-    M8  ZZ7$.    MMMMMDD7I77I777MMMM.
-       ZZ$7$     DMM$N$ZNMZDMODNDM. DD
-     .Z$$I$$       .ZI777777II778     ?D.
-    8$$7I$I+         .$I7?I7II7D.       ?Z
-   .O$$7I$78         N77O+??I?$.          Z
-   =7$7777$7 .    .=7NZ?I$7I+$.             O
-  ~:7$$7$7D+$~:=Z:=~++77Z$?IIZ~.             N
-  $Z$7O8D8=Z8I7==I~I:+~OZ887$MOI$O           .7
-  :O$I+~=?:O8?I$=++=:===Z$77ZN++$+~.          Z.
-   :7$78ZZZZZ=ZZ$~?==~+DD$8O$OO$7+?:.         $
-    .=~=+Z7I7?7I$+~=:~+~O~???77?~+??~         O
-        +=IZ7$7OI$=Z:~:~=8I?I?+$Z8++:        N.
-          =$+8ZO$$==+=~=?=8$IIIIID$ZZ.      Z
-
-                   INDY ENABLED !
-'''
-
-    }
-}
-
-if (useIndy()) {
-    gradle.taskGraph.whenReady { graph ->
-        graph.allTasks.findAll { it instanceof org.gradle.process.JavaForkOptions }.unique().each { task ->
-            logger.debug "Adding indy target to project ${task.project.name} task ${task.name}"
-            task.systemProperties 'groovy.target.indy': true
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/groovy/blob/06de8914/gradle/test.gradle
----------------------------------------------------------------------
diff --git a/gradle/test.gradle b/gradle/test.gradle
index a61d75f..e91a9a8 100644
--- a/gradle/test.gradle
+++ b/gradle/test.gradle
@@ -16,9 +16,6 @@
  *  specific language governing permissions and limitations
  *  under the License.
  */
-
-import org.apache.tools.ant.taskdefs.condition.Os
-
 allprojects {
     test {
         if (JavaVersion.current().isJava8Compatible()) {
@@ -89,11 +86,6 @@ tasks.addRule('Pattern: testSingle<Name> will test **/<Name>.class') { String ta
 def buildExcludeFilter() {
     def excludes = []
 
-    // if not compiled with indy support, disable indy tests
-    if (!rootProject.useIndy()) {
-        excludes += ['indy', 'Indy']
-    }
-
     // if no network available, disable Grapes
     if (!System.properties['junit.network']) {
         excludes  << 'groovy/grape/'

http://git-wip-us.apache.org/repos/asf/groovy/blob/06de8914/gradle/upload.gradle
----------------------------------------------------------------------
diff --git a/gradle/upload.gradle b/gradle/upload.gradle
index 6078d01..683a6d3 100644
--- a/gradle/upload.gradle
+++ b/gradle/upload.gradle
@@ -94,23 +94,20 @@ allprojects {
         }
 
         artifacts {
-            archives jar
+            archives jarjar
             archives sourceJar
             archives javadocJar
             archives groovydocJar
         }
 
+        configurations.archives.with {
+            artifacts.removeAll(artifacts.find { it.name =~ 'raw' } )
+        }
+
         [uploadArchives, install]*.with {
-            dependsOn([jar, jarWithIndy, sourceJar, javadocJar, groovydocJar])
+            dependsOn([jar, jarjarWithIndy, sourceJar, javadocJar, groovydocJar])
             doFirst {
-                if (rootProject.useIndy()) {
-                    new GradleException('You cannot use uploadArchives or install task with the flag [indy] turned'
-                            + ' on because the build handles indy artifacts by itself in that case.')
-                }
-                def indyJar = rootProject.ext.deriveFile(jar.archivePath, 'indy')
-                if (indyJar.exists()) {
-                    project.artifacts.add('archives', indyJar)
-                }
+                project.artifacts.add('archives', jarjarWithIndy)
                 def grooidJar = rootProject.ext.deriveFile(jar.archivePath, 'grooid')
                 if (grooidJar.exists()) {
                     project.artifacts.add('archives', grooidJar)


[07/19] groovy git commit: Re-introduce an `all` module, which is now using `pom` packaging

Posted by cc...@apache.org.
Re-introduce an `all` module, which is now using `pom` packaging

Unfortunately this doesn't seem to work unless we have at least one artifact.


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/8126cde4
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/8126cde4
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/8126cde4

Branch: refs/heads/GROOVY_2_6_X
Commit: 8126cde4590aa32f6ac204d15ec5eb8e5a13dd28
Parents: 17ff982
Author: Cedric Champeau <cc...@apache.org>
Authored: Sun Dec 10 22:22:51 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 gradle/upload.gradle | 24 ++++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/8126cde4/gradle/upload.gradle
----------------------------------------------------------------------
diff --git a/gradle/upload.gradle b/gradle/upload.gradle
index 88f5ab6..6078d01 100644
--- a/gradle/upload.gradle
+++ b/gradle/upload.gradle
@@ -143,7 +143,7 @@ allprojects {
 // we don't want them in the root project so add them as artifacts with a modified name
 // we'll exclude the original artifacts during publication with an exclude pattern
 [uploadArchives, install]*.with {
-    dependsOn([sourceJar, javadocJar, groovydocJar, distBin, distDoc, dist, distBin])
+    dependsOn([sourceAllJar, javadocAllJar, groovydocAllJar, distBin, distDoc, dist, distBin])
     doFirst {
         project.artifacts.add('archives', distBin) {
             name = 'groovy-binary'
@@ -197,7 +197,8 @@ ext.pomAll = {
                 !(artifact.name.contains('backport'))
     }
     addFilter('all') { artifact, file ->
-        artifact.name.contains('groovy-all')
+        // add an arbitrary artifact, so that the pom file is generated
+        artifact.name.contains('groovy-binary')
     }
     addFilter('binary') { artifact, file ->
         artifact.name.contains('groovy-binary')
@@ -231,6 +232,25 @@ ext.pomAll = {
         p.dependencies.clear()
     }
 
+    // pom for "all" dependencies
+    def allpom = pom('all', pomConfigureClosureWithoutTweaks)
+    allpom.artifactId = 'groovy-all'
+    allpom.packaging = 'pom'
+    allpom.whenConfigured { p ->
+        // this is the only way to get a handle on `maven.Dependency`
+        def dependencyClass = p.dependencies[0].getClass()
+        p.dependencies.clear()
+        allprojects {
+            if (it.name.startsWith('groovy')) {
+                def dep = dependencyClass.newInstance()
+                dep.groupId = 'org.codehaus.groovy'
+                dep.artifactId = it.name
+                dep.version = version
+                p.dependencies.add(dep)
+            }
+        }
+    }
+
     beforeDeployment { MavenDeployment deployment -> if (isReleaseVersion) signing.signPom(deployment) }
 }
 


[19/19] groovy git commit: Fix test for Gradle 4.4 setup

Posted by cc...@apache.org.
Fix test for Gradle 4.4 setup


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/2dd1e075
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/2dd1e075
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/2dd1e075

Branch: refs/heads/GROOVY_2_6_X
Commit: 2dd1e0755bedaa841762523bc07f44470660bcd3
Parents: 56a8e3d
Author: Cedric Champeau <cc...@apache.org>
Authored: Tue Dec 12 21:00:47 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 .../src/test-resources/org/codehaus/groovy/ant/GroovycTest.xml     | 2 +-
 .../src/test-resources/org/codehaus/groovy/ant/GroovycTest1.groovy | 2 +-
 .../src/test-resources/org/codehaus/groovy/ant/GroovycTest2.java   | 2 +-
 .../src/test/groovy/org/codehaus/groovy/ant/GroovycTest.java       | 2 +-
 4 files changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/2dd1e075/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest.xml
----------------------------------------------------------------------
diff --git a/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest.xml b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest.xml
index 5e2afba..05e33f4 100644
--- a/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest.xml
+++ b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest.xml
@@ -23,7 +23,7 @@
 <project name="Test Groovyc Task" default="test1">
 
     <property name="srcPath" value="."/>
-    <property name="destPath" value="${user.dir}/target/classes/test"/>
+    <property name="destPath" value="${user.dir}/target/classes/groovy/test"/>
 
     <property name="javaVersion" value="6"/>
 

http://git-wip-us.apache.org/repos/asf/groovy/blob/2dd1e075/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest1.groovy
----------------------------------------------------------------------
diff --git a/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest1.groovy b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest1.groovy
index a0694ab..32e73ac 100644
--- a/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest1.groovy
+++ b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest1.groovy
@@ -20,6 +20,6 @@ package org.codehaus.groovy.ant
 
 class GroovycTest1 {
   static void main ( String[] args ) {
-    ( new File ( 'target/classes/test/org/codehaus/groovy/ant/GroovycTest1_Result.txt' ) ).write ( 'OK.' )
+    ( new File ( 'target/classes/groovy/test/org/codehaus/groovy/ant/GroovycTest1_Result.txt' ) ).write ( 'OK.' )
   }
 }

http://git-wip-us.apache.org/repos/asf/groovy/blob/2dd1e075/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest2.java
----------------------------------------------------------------------
diff --git a/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest2.java b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest2.java
index d7ef1d5..57b2f2b 100644
--- a/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest2.java
+++ b/subprojects/groovy-ant/src/test-resources/org/codehaus/groovy/ant/GroovycTest2.java
@@ -24,7 +24,7 @@ import java.io.IOException;
 
 class GroovycTest2 {
     static void main(String[] args) throws IOException {
-        File f = new File("target/classes/test/org/codehaus/groovy/ant/GroovycTest2_Result.txt");
+        File f = new File("target/classes/groovy/test/org/codehaus/groovy/ant/GroovycTest2_Result.txt");
         FileOutputStream fout = new FileOutputStream(f);
         try {
             fout.write("OK.".getBytes());

http://git-wip-us.apache.org/repos/asf/groovy/blob/2dd1e075/subprojects/groovy-ant/src/test/groovy/org/codehaus/groovy/ant/GroovycTest.java
----------------------------------------------------------------------
diff --git a/subprojects/groovy-ant/src/test/groovy/org/codehaus/groovy/ant/GroovycTest.java b/subprojects/groovy-ant/src/test/groovy/org/codehaus/groovy/ant/GroovycTest.java
index 26b9790..70f7b9f 100644
--- a/subprojects/groovy-ant/src/test/groovy/org/codehaus/groovy/ant/GroovycTest.java
+++ b/subprojects/groovy-ant/src/test/groovy/org/codehaus/groovy/ant/GroovycTest.java
@@ -37,7 +37,7 @@ import java.util.regex.Pattern;
  * @author Russel Winder
  */
 public class GroovycTest extends GroovyTestCase {
-    private final String classDirectory = "target/classes/test/org/codehaus/groovy/ant/";
+    private final String classDirectory = "target/classes/groovy/test/org/codehaus/groovy/ant/";
     private final File antFile = new File("src/test-resources/org/codehaus/groovy/ant/GroovycTest.xml");
     private Project project;
     private static boolean warned = false;


[14/19] groovy git commit: Fix Groovy Sql indy tests missing sources

Posted by cc...@apache.org.
Fix Groovy Sql indy tests missing sources


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/b0646496
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/b0646496
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/b0646496

Branch: refs/heads/GROOVY_2_6_X
Commit: b06464966d8abd03014b273b56e108c4ce2ad395
Parents: fcc1ce3
Author: Cedric Champeau <cc...@apache.org>
Authored: Mon Dec 11 13:54:40 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 subprojects/groovy-sql/build.gradle | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/b0646496/subprojects/groovy-sql/build.gradle
----------------------------------------------------------------------
diff --git a/subprojects/groovy-sql/build.gradle b/subprojects/groovy-sql/build.gradle
index 6c911a5..b872f66 100644
--- a/subprojects/groovy-sql/build.gradle
+++ b/subprojects/groovy-sql/build.gradle
@@ -25,12 +25,11 @@ dependencies {
     testCompile project(':groovy-test')
 }
 
-// required for DataSet tests
-sourceSets.test.runtimeClasspath += files('src/test/groovy')
-
 // TODO move to parent build.gradle subprojects
 tasks.withType(Test) {
     excludes = ['**/*TestCase.class', '**/*$*.class']
+// required for DataSet tests
+    classpath = classpath + files('src/test/groovy')
 }
 
 task moduleDescriptor(type: org.codehaus.groovy.gradle.WriteExtensionDescriptorTask) {


[03/19] groovy git commit: Disable some tests with indy

Posted by cc...@apache.org.
Disable some tests with indy


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/1105e165
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/1105e165
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/1105e165

Branch: refs/heads/GROOVY_2_6_X
Commit: 1105e165150d010d64508fb6641129c94f24201b
Parents: 8cda091
Author: Cedric Champeau <cc...@apache.org>
Authored: Mon Dec 11 20:20:43 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 gradle/test.gradle | 3 +++
 1 file changed, 3 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/1105e165/gradle/test.gradle
----------------------------------------------------------------------
diff --git a/gradle/test.gradle b/gradle/test.gradle
index 176530d..9bb27c7 100644
--- a/gradle/test.gradle
+++ b/gradle/test.gradle
@@ -115,6 +115,9 @@ def buildExcludeFilter(boolean legacyTestSuite) {
     if (legacyTestSuite) {
         // indy tests will only be executed in indy test suite
         excludes += ['indy', 'Indy']
+    } else {
+        // tests not passing with indy : investigation required!
+        excludes += ['Log4j2Test', 'ASTTransformationCustomizerTest']
     }
 
     return { f ->


[02/19] groovy git commit: Fix groovydoc test for Gradle 4.4

Posted by cc...@apache.org.
Fix groovydoc test for Gradle 4.4


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/0c5e5b3c
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/0c5e5b3c
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/0c5e5b3c

Branch: refs/heads/GROOVY_2_6_X
Commit: 0c5e5b3cb5e07b9ee15e7593dfb1f2ceed5ba298
Parents: 2dd1e07
Author: Cedric Champeau <cc...@apache.org>
Authored: Tue Dec 12 21:14:44 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 .../src/test/resources/groovydoc/groovyDocTests.xml              | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/0c5e5b3c/subprojects/groovy-groovydoc/src/test/resources/groovydoc/groovyDocTests.xml
----------------------------------------------------------------------
diff --git a/subprojects/groovy-groovydoc/src/test/resources/groovydoc/groovyDocTests.xml b/subprojects/groovy-groovydoc/src/test/resources/groovydoc/groovyDocTests.xml
index d1aa402..46affd3 100644
--- a/subprojects/groovy-groovydoc/src/test/resources/groovydoc/groovyDocTests.xml
+++ b/subprojects/groovy-groovydoc/src/test/resources/groovydoc/groovyDocTests.xml
@@ -24,8 +24,8 @@
     <property name="tmpdir" value="${java.io.tmpdir}/${user.name}/${ant.project.name}"/>
 
     <path id="classpath">
-        <fileset dir="target/classes/main" includes="**/*.*"/>
-        <fileset dir="target/classes/test" includes="**/*.*"/>
+        <fileset dir="target/classes/groovy/main" includes="**/*.*"/>
+        <fileset dir="target/classes/groovy/test" includes="**/*.*"/>
     </path>
 
     <taskdef name="groovydoc" classpathref="classpath"


[08/19] groovy git commit: Fix generated resources missing from indy jar

Posted by cc...@apache.org.
Fix generated resources missing from indy jar


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/dd5a051a
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/dd5a051a
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/dd5a051a

Branch: refs/heads/GROOVY_2_6_X
Commit: dd5a051a04145b003878662c990e0518c2358912
Parents: f4baa7a
Author: Cedric Champeau <cc...@apache.org>
Authored: Mon Dec 11 10:24:12 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 gradle/assemble.gradle | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/dd5a051a/gradle/assemble.gradle
----------------------------------------------------------------------
diff --git a/gradle/assemble.gradle b/gradle/assemble.gradle
index 836659a..0d6bd78 100644
--- a/gradle/assemble.gradle
+++ b/gradle/assemble.gradle
@@ -144,6 +144,7 @@ allprojects {
             appendix = 'raw'
             from sourceSets.main.java.outputDir
             from compileGroovyWithIndy.destinationDir
+            from "${project.buildDir}/resources/main"
         }
         producedJars << jarWithIndy
     }


[05/19] groovy git commit: Make generateGrammarSource cacheable

Posted by cc...@apache.org.
Make generateGrammarSource cacheable


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/8b5cebfd
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/8b5cebfd
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/8b5cebfd

Branch: refs/heads/GROOVY_2_6_X
Commit: 8b5cebfd4b8dfac2a51b080f10fba0541dc6d32d
Parents: 74a763f
Author: Cedric Champeau <cc...@apache.org>
Authored: Sun Dec 10 19:42:00 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 subprojects/parser-antlr4/build.gradle | 1 +
 1 file changed, 1 insertion(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/8b5cebfd/subprojects/parser-antlr4/build.gradle
----------------------------------------------------------------------
diff --git a/subprojects/parser-antlr4/build.gradle b/subprojects/parser-antlr4/build.gradle
index d358eec..085ee12 100644
--- a/subprojects/parser-antlr4/build.gradle
+++ b/subprojects/parser-antlr4/build.gradle
@@ -32,6 +32,7 @@ def srcTest = "$srcBase/test"
 
 final PARSER_PACKAGE_NAME = 'org.apache.groovy.parser.antlr4'
 generateGrammarSource {
+    outputs.cacheIf { true }
     arguments += ["-visitor", "-no-listener", "-package", PARSER_PACKAGE_NAME]
 
     doLast {


[16/19] groovy git commit: Avoid resolving dependencies at configuration time

Posted by cc...@apache.org.
Avoid resolving dependencies at configuration time


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/8cda091a
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/8cda091a
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/8cda091a

Branch: refs/heads/GROOVY_2_6_X
Commit: 8cda091a220c4514614fc053549eb7c18dfe4bd1
Parents: b064649
Author: Cedric Champeau <cc...@apache.org>
Authored: Mon Dec 11 19:06:50 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 gradle/assemble.gradle | 67 ++++++++++++++++++++++++++++-----------------
 1 file changed, 42 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/8cda091a/gradle/assemble.gradle
----------------------------------------------------------------------
diff --git a/gradle/assemble.gradle b/gradle/assemble.gradle
index a7dd207..0e5cbae 100644
--- a/gradle/assemble.gradle
+++ b/gradle/assemble.gradle
@@ -165,7 +165,7 @@ allprojects {
         }
         arch.exclude '**/package-info.class'
 
-        task "jar${arch.name}"(type:Jar, dependsOn: arch) {
+        task "jar${arch.name}"(type: Jar, dependsOn: arch) {
             outputs.cacheIf {
                 // caching JarJar because it's quite expensive to create
                 true
@@ -258,7 +258,7 @@ allprojects {
             classifier = jar.classifier ? "${jar.classifier}grooid" : 'grooid'
             includeEmptyDirs = false
             def target = new File("${archivePath}.tmp")
-            boolean isRootProject = project==rootProject
+            boolean isRootProject = project == rootProject
 
             doFirst {
                 from zipTree(target)
@@ -268,7 +268,9 @@ allprojects {
                         zipfileset(dir: "$rootProject.projectDir/notices/", includes: isRootProject ? 'NOTICE-GROOIDJARJAR' : 'NOTICE-GROOID', fullpath: 'META-INF/NOTICE')
                         zipfileset(src: jarjar.archivePath, excludes: 'META-INF/NOTICE')
                         if (isRootProject) {
-                            zipfileset(src: rootProject.configurations.runtime.files.find { it.name.startsWith('openbeans') }, excludes: 'META-INF/*')
+                            zipfileset(src: rootProject.configurations.runtime.files.find {
+                                it.name.startsWith('openbeans')
+                            }, excludes: 'META-INF/*')
                         }
                         rule pattern: 'com.googlecode.openbeans.**', result: 'groovyjarjaropenbeans.@1'
                         rule pattern: 'org.apache.harmony.beans.**', result: 'groovyjarjarharmonybeans.@1'
@@ -349,6 +351,7 @@ task groovydocAllJar(type: Jar, dependsOn: groovydocAll) {
 }
 
 ext.distSpec = copySpec {
+    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
     from("$projectDir/licenses/LICENSE-BINZIP")
     from("$projectDir/notices/NOTICE-BINZIP")
     rename { String filename -> filename == 'LICENSE-BINZIP' ? 'LICENSE' : filename == 'NOTICE-BINZIP' ? 'NOTICE' : filename }
@@ -356,17 +359,29 @@ ext.distSpec = copySpec {
     into('lib') {
         from jarjar
         from modules()*.jarjar
-        from {
-            configurations.runtime.findAll {
-                it.name.endsWith('jar') && !it.name.startsWith('openbeans-') && !it.name.startsWith('asm-') && !it.name.startsWith('antlr-') && !it.name.startsWith('antlr4-') } +
-                    modules()*.jar.archivePath +
-                    modules().configurations.runtime*.findAll {
-                        it.name.endsWith('jar') && !it.name.contains('livetribe-jsr223') && !it.name.matches(/groovy-\d.*/) &&
-                                !it.name.startsWith('asm-') && !it.name.startsWith('antlr-') && !it.name.startsWith('antlr4-') && !it.name.startsWith('openbeans-')
-                    }.flatten() as Set
+        from(configurations.runtime) {
+            exclude {   it.file.name.startsWith('openbeans-') ||
+                        it.file.name.startsWith('asm-') ||
+                        it.file.name.startsWith('antlr-') ||
+                        it.file.name.startsWith('antlr4-')
+            }
         }
         from('src/bin/groovy.icns')
     }
+    modules().configurations.runtime.each { conf ->
+        into('lib') {
+            from(conf) {
+                exclude {
+                    it.file.name.contains('livetribe-jsr223') ||
+                            it.file.name.matches(/groovy-\d.*/) ||
+                            it.file.name.startsWith('asm-') ||
+                            it.file.name.startsWith('antlr-') ||
+                            it.file.name.startsWith('antlr4-') ||
+                            it.file.name.startsWith('openbeans-')
+                }
+            }
+        }
+    }
     into('indy') {
         from jarjarWithIndy
         from modules()*.jarjarWithIndy
@@ -384,7 +399,7 @@ ext.distSpec = copySpec {
     }
     into('bin') {
         from('src/bin') {
-            filter(ReplaceTokens, tokens: [GROOVYJAR:jarjar.archiveName])
+            filter(ReplaceTokens, tokens: [GROOVYJAR: jarjar.archiveName])
             fileMode = 0755
             exclude 'groovy.icns'
         }
@@ -442,8 +457,8 @@ task distSrc(type: Zip) {
 }
 
 def installDir = {
-    project.hasProperty('groovy_installPath')?project.groovy_installPath:
-        System.properties.installDirectory ?: "$buildDir/install"
+    project.hasProperty('groovy_installPath') ? project.groovy_installPath :
+            System.properties.installDirectory ?: "$buildDir/install"
 }
 
 task installGroovy(type: Sync, dependsOn: [checkCompatibility, distBin]) {
@@ -491,7 +506,7 @@ task dist(type: Zip, dependsOn: [checkCompatibility, distBin, distSrc, distDoc,
     }
 
     if ((version.endsWith('SNAPSHOT') && !groovyBundleVersion.endsWith('SNAPSHOT'))
-        || (!version.endsWith('SNAPSHOT') && groovyBundleVersion.endsWith('SNAPSHOT'))) {
+            || (!version.endsWith('SNAPSHOT') && groovyBundleVersion.endsWith('SNAPSHOT'))) {
         throw new GradleException("Incoherent versions. Found groovyVersion=$version and groovyBundleVersion=$groovyBundleVersion")
     }
 }
@@ -527,16 +542,18 @@ task updateLicenses {
         def jsr223Files = fileTree(licensesDir).include('jsr223-ALLJARJAR-SRC.txt')
         def licenseHdr = '\n\n------------------------------------------------------------------------\n\n'
         [
-                (licenseBinZipFile)     : binzipFiles,
-                (licenseDocFile)        : docFiles,
-                (licenseJarJarFile)     : jarjarFiles,
-                (licenseSrcFile)        : srcFiles,
+                (licenseBinZipFile)      : binzipFiles,
+                (licenseDocFile)         : docFiles,
+                (licenseJarJarFile)      : jarjarFiles,
+                (licenseSrcFile)         : srcFiles,
                 (licenseDocGeneratorFile): docgeneratorFiles,
                 (licenseGroovyDocFile)   : groovydocFiles,
                 (licenseJsr223File)      : jsr223Files,
         ].each { outFile, inFiles ->
             file(outFile).withWriter('utf-8') { writer ->
-                writer << ([file(licenseBaseFile)] + inFiles).collect { it.text.replaceAll(/[\n\r]*$/, '') }.join(licenseHdr) + '\n'
+                writer << ([file(licenseBaseFile)] + inFiles).collect {
+                    it.text.replaceAll(/[\n\r]*$/, '')
+                }.join(licenseHdr) + '\n'
             }
         }
         file(licenseSdkFile).withWriter { writer ->
@@ -582,11 +599,11 @@ task updateNotices {
         }.sort { it.name }
         def groovyconsoleFiles = fileTree(noticesDir)
         [
-                (noticeBinZipFile): binzipFiles,
-                (noticeGrooidFile): grooidFiles,
-                (noticeGrooidJarJarFile): grooidJarjarFiles,
-                (noticeJarJarFile): jarjarFiles,
-                (noticeSrcFile): srcFiles,
+                (noticeBinZipFile)       : binzipFiles,
+                (noticeGrooidFile)       : grooidFiles,
+                (noticeGrooidJarJarFile) : grooidJarjarFiles,
+                (noticeJarJarFile)       : jarjarFiles,
+                (noticeSrcFile)          : srcFiles,
                 (noticeGroovyConsoleFile): groovyconsoleFiles,
         ].each { outFile, inFiles ->
             file(outFile).withWriter('utf-8') { writer ->


[11/19] groovy git commit: Fix Groovy distribution zip

Posted by cc...@apache.org.
Fix Groovy distribution zip


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/55288179
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/55288179
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/55288179

Branch: refs/heads/GROOVY_2_6_X
Commit: 552881791f8f509f53aeb67da80e4c292633a94a
Parents: c75fd41
Author: Cedric Champeau <cc...@apache.org>
Authored: Mon Dec 11 11:09:36 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 gradle/assemble.gradle | 22 +++++++---------------
 1 file changed, 7 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/55288179/gradle/assemble.gradle
----------------------------------------------------------------------
diff --git a/gradle/assemble.gradle b/gradle/assemble.gradle
index 5f8e5af..a7dd207 100644
--- a/gradle/assemble.gradle
+++ b/gradle/assemble.gradle
@@ -352,8 +352,10 @@ ext.distSpec = copySpec {
     from("$projectDir/licenses/LICENSE-BINZIP")
     from("$projectDir/notices/NOTICE-BINZIP")
     rename { String filename -> filename == 'LICENSE-BINZIP' ? 'LICENSE' : filename == 'NOTICE-BINZIP' ? 'NOTICE' : filename }
+    exclude { it.file.name =~ /-raw/ }
     into('lib') {
-        from jar.archivePath
+        from jarjar
+        from modules()*.jarjar
         from {
             configurations.runtime.findAll {
                 it.name.endsWith('jar') && !it.name.startsWith('openbeans-') && !it.name.startsWith('asm-') && !it.name.startsWith('antlr-') && !it.name.startsWith('antlr4-') } +
@@ -366,12 +368,8 @@ ext.distSpec = copySpec {
         from('src/bin/groovy.icns')
     }
     into('indy') {
-        from { new File(jar.archivePath.parent, "${jar.baseName}-${jar.version}-indy.jar") }
-        from {
-            modules()*.jar.collect { j ->
-                new File(j.archivePath.parent, "${j.baseName}-${j.version}-indy.jar")
-            }
-        }
+        from jarjarWithIndy
+        from modules()*.jarjarWithIndy
     }
     into('grooid') {
         from { new File(jar.archivePath.parent, "${jar.baseName}-${jar.version}-grooid.jar") }
@@ -386,7 +384,7 @@ ext.distSpec = copySpec {
     }
     into('bin') {
         from('src/bin') {
-            filter(ReplaceTokens, tokens: [GROOVYJAR:jar.archiveName])
+            filter(ReplaceTokens, tokens: [GROOVYJAR:jarjar.archiveName])
             fileMode = 0755
             exclude 'groovy.icns'
         }
@@ -404,15 +402,9 @@ ext.distSpec = copySpec {
         include 'junit-license.txt'
         include 'xstream-license.txt'
     }
-    into('embeddable') {
-        subprojects.each {
-            from jar.archivePath
-            from { new File(jar.destinationDir, "${jar.baseName}-${jar.version}-indy.jar") }
-        }
-    }
 }
 
-task distBin(type: Zip, dependsOn: [jarjar]) {
+task distBin(type: Zip) {
     baseName = 'apache-groovy'
     appendix = 'binary'
     into("groovy-$version") {


[18/19] groovy git commit: Remove unnecessary task update

Posted by cc...@apache.org.
Remove unnecessary task update


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/10427f95
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/10427f95
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/10427f95

Branch: refs/heads/GROOVY_2_6_X
Commit: 10427f95cbf87afe692764e8a4e6cbaab5984aa3
Parents: 0c5e5b3
Author: Cedric Champeau <cc...@apache.org>
Authored: Tue Dec 12 21:16:11 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 subprojects/groovy-groovydoc/build.gradle | 5 -----
 1 file changed, 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/10427f95/subprojects/groovy-groovydoc/build.gradle
----------------------------------------------------------------------
diff --git a/subprojects/groovy-groovydoc/build.gradle b/subprojects/groovy-groovydoc/build.gradle
index 421bfb7..9338cfb 100644
--- a/subprojects/groovy-groovydoc/build.gradle
+++ b/subprojects/groovy-groovydoc/build.gradle
@@ -25,8 +25,3 @@ dependencies {
     testCompile "org.apache.ant:ant-testutil:$antVersion"
 }
 
-compileJava {
-    doLast {
-        mkdir "$sourceSets.main.output.classesDir/META-INF"
-    }
-}


[17/19] groovy git commit: Fix backport of build from `master`

Posted by cc...@apache.org.
Fix backport of build from `master`


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/56a8e3d8
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/56a8e3d8
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/56a8e3d8

Branch: refs/heads/GROOVY_2_6_X
Commit: 56a8e3d814013be83a9881ed8ea5aad9f44305cd
Parents: 4281d61
Author: Cedric Champeau <cc...@apache.org>
Authored: Tue Dec 12 08:13:52 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 build.gradle       | 29 ++++++++++++-----------------
 gradle/test.gradle |  2 +-
 2 files changed, 13 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/56a8e3d8/build.gradle
----------------------------------------------------------------------
diff --git a/build.gradle b/build.gradle
index 41dd00b..1b3628e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -51,14 +51,16 @@ buildscript {
 
 plugins {
     id 'com.gradle.build-scan' version '1.10.2'
-    id 'me.champeau.buildscan-recipes' version '0.1.7'
+    id 'me.champeau.buildscan-recipes' version '0.2.0'
 }
 
 buildScan {
     licenseAgreementUrl = 'https://gradle.com/terms-of-service'
     licenseAgree = 'yes'
     publishAlways()
+}
 
+buildScanRecipes {
     recipe 'git-commit', baseUrl: 'https://github.com/apache/groovy/tree'
     recipe 'teamcity', baseUrl: 'https://ci.groovy-lang.org', guest: 'true'
     recipes 'git-status', 'gc-stats', 'teamcity', 'travis-ci'
@@ -87,7 +89,7 @@ allprojects {
     group = 'org.codehaus.groovy'
     version = groovyVersion
     repositories {
-        if (isBuildInChina()) {
+        if (rootProject.hasProperty('buildInChina')) {
             // Try to use Aliyun maven repository when building in China
             maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
         }
@@ -343,14 +345,14 @@ processResources.doLast {
             include 'groovy/inspect/swingui/AstBrowserProperties.groovy',
                     'org/codehaus/groovy/tools/groovydoc/gstringTemplates/GroovyDocTemplateInfo.java'
         }
-        into sourceSets.main.output.classesDir
+        into sourceSets.main.java.outputDir
     }
 }
 
 compileJava {
     doLast {
         ant.java(classname:'org.jboss.bridger.Bridger', classpath: rootProject.configurations.tools.asPath, outputproperty: 'stdout') {
-            arg(value: "${sourceSets.main.output.classesDir.canonicalPath}/org/codehaus/groovy/runtime/DefaultGroovyMethods.class")
+            arg(value: "${sourceSets.main.java.outputDir.canonicalPath}/org/codehaus/groovy/runtime/DefaultGroovyMethods.class")
         }
         ant.echo('Bridger: ' + ant.properties.stdout)
     }
@@ -442,8 +444,8 @@ allprojects {
         task compileGroovyWithIndy(type: GroovyCompile) {
             source = sourceSets.main.groovy
             classpath = compileGroovy.classpath
-            sourceCompatibility = 1.8
-            targetCompatibility = 1.8
+            sourceCompatibility = 1.7
+            targetCompatibility = 1.7
             groovyOptions.optimizationOptions['indy'] = true
             destinationDir = file("$buildDir/classes/indy")
         }
@@ -457,7 +459,8 @@ allprojects {
                 rootProject.bootstrapJar.archivePath
         )
 
-        classpath = classpath + groovyClasspath
+        // TODO: this null check was required after adding JMH plugin to performance project
+        classpath = (classpath != null) ? classpath + groovyClasspath : groovyClasspath
     }
 }
 
@@ -467,11 +470,11 @@ compileTestGroovy {
 
 task checkCompatibility {
     doLast {
-        assert JavaVersion.current().isJava8Compatible()
+        assert JavaVersion.current().java8Compatible
     }
 }
 
-if (!JavaVersion.current().isJava8Compatible()) {
+if (!JavaVersion.current().java8Compatible) {
     logger.lifecycle '''
     **************************************** WARNING ********************************************
     ******   You are running the build with an older JDK. NEVER try to release with 1.7.   ******
@@ -504,14 +507,6 @@ licenseReport {
     ]
 }
 
-def isBuildInChina() {
-    try {
-        return !InetAddress.getByName('www.twitter.com').isReachable(3000)
-    } catch(e) {
-        return true
-    }
-}
-
 // UNCOMMENT THE FOLLOWING TASKS IF YOU WANT TO RUN LICENSE CHECKING
 //task licenseFormatCustom(type:nl.javadude.gradle.plugins.license.License) {
 //    source = fileTree(dir:"src").include ("**/*.java",'**/*.groovy','**/*.html','**/*.css','**/*.xml','**/*.properties','**/*.properties')

http://git-wip-us.apache.org/repos/asf/groovy/blob/56a8e3d8/gradle/test.gradle
----------------------------------------------------------------------
diff --git a/gradle/test.gradle b/gradle/test.gradle
index 9bb27c7..df0ff06 100644
--- a/gradle/test.gradle
+++ b/gradle/test.gradle
@@ -134,7 +134,7 @@ ext.extModuleOutputDir = file("$buildDir/testFixtures/extmodule")
 ext.extModuleRepoDir = file("$extModuleOutputDir/repo")
 
 task compileTestExtensionModule(type: JavaCompile) {
-    classpath = files(jar.archivePath)
+    classpath = files(jar)
     source fileTree("$extModuleFixtureDir/src/main/java")
     destinationDir = file("$extModuleOutputDir/classes")
     sourceCompatibility = 1.6


[12/19] groovy git commit: Cache asciidoctor tasks

Posted by cc...@apache.org.
Cache asciidoctor tasks


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/e111b8da
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/e111b8da
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/e111b8da

Branch: refs/heads/GROOVY_2_6_X
Commit: e111b8da7d2fb98b616f482dc2f37ede415bc311
Parents: 5528817
Author: Cedric Champeau <cc...@apache.org>
Authored: Mon Dec 11 11:32:56 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 build.gradle | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/e111b8da/build.gradle
----------------------------------------------------------------------
diff --git a/build.gradle b/build.gradle
index dd6d32e..41dd00b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -101,6 +101,10 @@ allprojects {
         apply from: "${rootProject.projectDir}/gradle/asciidoctor.gradle"
     }
 
+    tasks.withType(org.asciidoctor.gradle.AsciidoctorTask) {
+        outputs.cacheIf { true }
+    }
+
     tasks.withType(GroovyCompile) {
         groovyOptions.forkOptions.jvmArgs += ["-Dgroovy.antlr4.cache.threshold=50"]
     }


[15/19] groovy git commit: Bump to Gradle 4.4

Posted by cc...@apache.org.
Bump to Gradle 4.4


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/4281d61e
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/4281d61e
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/4281d61e

Branch: refs/heads/GROOVY_2_6_X
Commit: 4281d61edad06c8a840b1954c5d1af84ab2ae7dd
Parents: 1105e16
Author: Cedric Champeau <cc...@apache.org>
Authored: Mon Dec 11 20:45:37 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 gradle/wrapper/gradle-wrapper.properties | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/4281d61e/gradle/wrapper/gradle-wrapper.properties
----------------------------------------------------------------------
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 90a06ce..933b647 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -2,4 +2,4 @@ distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-3.5.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-bin.zip


[06/19] groovy git commit: Remove `groovy-all` jar

Posted by cc...@apache.org.
Remove `groovy-all` jar

This commit removes the generation of a Groovy all jar. This is done because of the JDK 9+ era, that prevents
the use of different "modules" containing the same packages, which is exactly what the all jar is. This also
adds an automatic module name to all generated jars and fixes several caching/up-to-date checking issues.

A "pom packaging" groovy-all artifact is going to be added in a subsequent commit.


Project: http://git-wip-us.apache.org/repos/asf/groovy/repo
Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/17ff9823
Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/17ff9823
Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/17ff9823

Branch: refs/heads/GROOVY_2_6_X
Commit: 17ff98234571a34cff8ecdc0d127e7eb54b024ff
Parents: 8b5cebf
Author: Cedric Champeau <cc...@apache.org>
Authored: Sun Dec 10 21:04:47 2017 +0100
Committer: Cedric Champeau <cc...@apache.org>
Committed: Tue Dec 12 21:55:47 2017 +0100

----------------------------------------------------------------------
 build.gradle                                    |  44 ++---
 gradle/assemble.gradle                          | 187 +------------------
 gradle/backports.gradle                         |   6 +-
 gradle/binarycompatibility.gradle               |  31 ---
 gradle/quality.gradle                           |   5 +-
 gradle/upload.gradle                            |  47 +----
 .../org/codehaus/groovy/tools/DgmConverter.java |   5 +-
 subprojects/performance/build.gradle            |   4 +-
 8 files changed, 40 insertions(+), 289 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/groovy/blob/17ff9823/build.gradle
----------------------------------------------------------------------
diff --git a/build.gradle b/build.gradle
index 36cbc98..6bb4ab7 100644
--- a/build.gradle
+++ b/build.gradle
@@ -50,7 +50,7 @@ buildscript {
 }
 
 plugins {
-    id 'com.gradle.build-scan' version '1.6'
+    id 'com.gradle.build-scan' version '1.10.2'
     id 'me.champeau.buildscan-recipes' version '0.1.7'
 }
 
@@ -122,12 +122,12 @@ task(copyResources, type: Copy) {
         include('**/*.png', '**/*.gif', '**/*.ico', '**/*.css')
     }
 }
-compileJava.dependsOn(copyResources)
+jar.dependsOn(copyResources)
 task(copyTestResources, type: Copy)
         .from('src/test')
         .into("$buildDir/classes/test")
         .include('**/*.txt', '**/*.xml', '**/*.properties', '**/*.png', '**/*.html', '**/*.gif', '**/*.ico', '**/*.css')
-compileTestJava.dependsOn(copyTestResources)
+test.dependsOn(copyTestResources)
 
 task sourceJar(type: Jar) {
     classifier = 'sources'
@@ -344,8 +344,8 @@ processResources.doLast {
     }
 }
 
-tasks.withType(Jar) {
-    doFirst {
+compileJava {
+    doLast {
         ant.java(classname:'org.jboss.bridger.Bridger', classpath: rootProject.configurations.tools.asPath, outputproperty: 'stdout') {
             arg(value: "${sourceSets.main.output.classesDir.canonicalPath}/org/codehaus/groovy/runtime/DefaultGroovyMethods.class")
         }
@@ -387,24 +387,26 @@ apply from: 'gradle/utils.gradle'
 apply from: 'wrapper.gradle'
 
 task dgmConverter(dependsOn:compileJava) {
+    outputs.cacheIf { true }
+
     description = 'Generates DGM info file required for faster startup.'
-    def classesDir = sourceSets.main.output.classesDir
-    def classpath = files(classesDir, configurations.compile)
+    def classpath = files(sourceSets.main.output.classesDirs, configurations.compile)
+    ext.outputDir = file("$buildDir/dgm")
 
     //main = 'org.codehaus.groovy.tools.DgmConverter'
     //args = ['--info', classesDir.absolutePath]
     doFirst {
-        file("$classesDir/META-INF").mkdirs()
+        file("$outputDir/META-INF").mkdirs()
         // we use ant.java because Gradle is a bit "too smart" with JavaExec
         // as it will invalidate the task if classpath changes, which will
         // happen once Groovy files are compiled
         ant.java(classname:'org.codehaus.groovy.tools.DgmConverter', classpath: classpath.asPath) {
             arg(value: '--info')
-            arg(value: classesDir.absolutePath)
+            arg(value: "$outputDir.absolutePath")
         }
     }
     inputs.files fileTree('src').include('**/*GroovyMethods.java')
-    outputs.file file("${classesDir}/META-INF/dgminfo")
+    outputs.dir outputDir
 }
 
 compileJava {
@@ -415,26 +417,16 @@ compileJava {
     // Gradle classloading magic with Groovy will only work if it finds a *jar*
     // on classpath. This "bootstrap jar" contains the minimal compiler, without .groovy compiled files
 
-task bootstrapJar {
+task bootstrapJar(type:Jar ) {
     dependsOn compileJava, dgmConverter
 
-    def destinationDir = file("$buildDir/bootstrap")
-    def archiveName = "groovy-${version}-bootstrap.jar"
-    ext.archivePath = file("$destinationDir/$archiveName")
+    from compileJava.destinationDir
+    from dgmConverter.outputDir
 
-    doLast {
-        // we use ant.jar because Gradle is a bit "too smart" with JavaExec
-        // as it will invalidate the task if classpath changes, which will
-        // happen once Groovy files are compiled
-        destinationDir.mkdirs()
-        ant.jar(
-                destfile: archivePath,
-                basedir: file(sourceSets.main.output.classesDir)
-        )
-    }
     inputs.property('indy', useIndy())
-    inputs.files sourceSets.main.allJava
-    outputs.file archivePath
+
+    destinationDir = file("$buildDir/bootstrap")
+    classifier = 'bootstrap'
 }
 
 compileGroovy.dependsOn bootstrapJar

http://git-wip-us.apache.org/repos/asf/groovy/blob/17ff9823/gradle/assemble.gradle
----------------------------------------------------------------------
diff --git a/gradle/assemble.gradle b/gradle/assemble.gradle
index 1b3a3f4..762b043 100644
--- a/gradle/assemble.gradle
+++ b/gradle/assemble.gradle
@@ -134,6 +134,7 @@ ext.subprojectOsgiManifest = {
 
 jar {
     dependsOn('dgmConverter')
+    from files(dgmConverter.outputDir)
     metaInf {
         from("$projectDir/licenses/LICENSE-JARJAR")
         from("$projectDir/licenses") {
@@ -209,6 +210,8 @@ allprojects {
                 symbolicName = gradleProject.name
                 instruction 'Import-Package', '*;resolution:=optional'
                 classesDir = targetTmp
+                def moduleName = "org.codehaus.${it.name.replace('-', '.')}"
+                attributes('Automatic-Module-Name': moduleName)
             }
             manifest(manifestSpec)
 
@@ -289,67 +292,6 @@ subprojects { sp ->
     }
 }
 
-def moduleJars() {
-    modules()*.jar.archivePath
-}
-
-def mergeModuleDescriptors() {
-    new File("$buildDir/tmp/").mkdirs()
-
-    def extensionClasses = []
-    def staticExtensionClasses = []
-
-    modules().collect {
-        new File("${it.buildDir}/classes/main/META-INF/services/org.codehaus.groovy.runtime.ExtensionModule")
-    }.findAll { it.exists() }.each {
-        def props = new Properties()
-        props.load(it.newInputStream())
-        extensionClasses += props.get('extensionClasses').split(',').findAll { it }
-        staticExtensionClasses += props.get('staticExtensionClasses').split(',').findAll { it }
-    }
-
-    def descriptor = new File("$buildDir/tmp/org.codehaus.groovy.runtime.ExtensionModule")
-    descriptor.withWriter('UTF-8') {
-        it << '# This is a generated file, do not edit\n'
-        it << 'moduleName=groovy-all\n'
-        it << "moduleVersion=${project.version}\n"
-        it << "extensionClasses=${extensionClasses.join(',')}\n"
-        it << "staticExtensionClasses=${staticExtensionClasses.join(',')}\n"
-    }
-
-    descriptor
-}
-
-def mergeGlobalTransforms() {
-    new File("$buildDir/tmp/").mkdirs()
-
-    def descriptor = new File("$buildDir/tmp/org.codehaus.groovy.transform.ASTTransformation")
-    descriptor.withWriter('UTF-8') {
-        it << '# This is a generated file, do not edit\n'
-    }
-
-    def files = []
-    files << new File("${rootProject.buildDir}/resources/main/META-INF/services/org.codehaus.groovy.transform.ASTTransformation")
-    modules().collect {
-        new File("${it.buildDir}/resources/main/META-INF/services/org.codehaus.groovy.transform.ASTTransformation")
-    }.findAll { it.exists() }.each {
-        files << it
-    }
-    files.each {
-        def skipping = true
-        it.readLines().each { line ->
-            if (skipping) {
-                skipping = line.startsWith('#')
-            }
-            if (!skipping) {
-                descriptor << line + '\n'
-            }
-        }
-    }
-
-    descriptor
-}
-
 task replaceJarWithJarJar(dependsOn: allprojects.jarjar ) {
     description = "Overwrites normal JAR files with their JARJAR version"
     doLast {
@@ -370,80 +312,6 @@ allprojects {
     rootProject.replaceJarWithJarJar.mustRunAfter(test)
 }
 
-task jarAll(type: Jar, dependsOn: replaceJarWithJarJar) {
-
-    inputs.files(allprojects.jar.archivePath)
-
-    ext.metaInfDir = "$buildDir/tmp/groovy-all-metainf"
-    baseName = 'groovy-all'
-    includeEmptyDirs = false
-    if (rootProject.useIndy()) {
-        classifier = 'indy'
-    }
-    doLast {
-        def manifestPath = "$ext.metaInfDir/MANIFEST.MF"
-        manifest.writeTo(manifestPath)
-        copy {
-            from "$projectDir/notices/NOTICE-ALLJARJAR"
-            into owner.ext.metaInfDir
-            rename('NOTICE-ALLJARJAR', 'NOTICE')
-        }
-        copy {
-            from "$projectDir/licenses"
-            into "$owner.ext.metaInfDir/licenses"
-            include 'normalize-stylesheet-license.txt'
-            include 'jsr223-license.txt'
-            include 'jline2-license.txt'
-        }
-        copy {
-            from "$projectDir/licenses/LICENSE-ALLJARJAR"
-            into owner.ext.metaInfDir
-            rename('LICENSE-ALLJARJAR', 'LICENSE')
-        }
-        copy {
-            from(mergeModuleDescriptors())
-            into "$owner.ext.metaInfDir/services"
-        }
-        copy {
-            from(mergeGlobalTransforms())
-            into "$owner.ext.metaInfDir/services"
-        }
-        copy {
-            into "$owner.ext.metaInfDir"
-        }
-        logger.info 'Packaging with jarjar'
-
-        def archivePathTmp = new File("${archivePath}.1.tmp")
-        ant {
-            taskdef name: 'jarjar', classname: jarjarTaskClassName, classpath: configurations.tools.asPath
-            jarjar(jarfile: archivePathTmp, manifest: "$owner.ext.metaInfDir/MANIFEST.MF") {
-                zipfileset(dir: "$owner.ext.metaInfDir", prefix: 'META-INF')
-                zipfileset(src: jar.archivePath, excludes:'META-INF/NOTICE,META-INF/LICENSE')
-                moduleJars().each {
-                    zipfileset(src: it, excludes:'META-INF/NOTICE,META-INF/LICENSE')
-                }
-            }
-        }
-
-        manifest = osgiManifest {
-            symbolicName = 'groovy-all'
-            instruction 'Import-Package', '*;resolution:=optional'
-            classesDir = archivePathTmp
-        }
-        manifest groovyOsgiManifest
-        manifestPath = "${temporaryDir}/META-INF/MANIFEST.MF"
-        manifest.writeTo(manifestPath)
-
-        ant {
-            copy(file: archivePathTmp, tofile: archivePath)
-            jar(destfile: archivePath, update: true, index: true, manifest: manifestPath) {
-                zipfileset(src: jar.archivePath, excludes:'META-INF')
-            }
-            delete(file: archivePathTmp, quiet: true, deleteonexit: true)
-        }
-    }
-}
-
 allprojects {
     task jarWithIndy(type: GradleBuild) {
         onlyIf rootProject.indyCapable
@@ -455,32 +323,6 @@ allprojects {
     }
 }
 
-task jarAllWithIndy(type: GradleBuild) {
-    onlyIf rootProject.indyCapable
-    description = 'Triggers an external build generating the indy jarAll'
-    buildFile = 'build.gradle'
-    startParameter.projectProperties['indy'] = true
-    startParameter.projectCacheDir = file("$buildDir/indyAllCacheDir")
-    tasks = ['jarAll']
-}
-
-task jarAllAll(dependsOn: [jarAll, jarAllWithIndy]) {
-    description = 'Generates groovy-all and groovy-all-indy jars'
-    doFirst {
-        if (useIndy()) {
-            logger.lifecycle('InvokeDynamic support was activated but needs to be off for this pass. Disabling.')
-            ext.useIndy = false
-        }
-    }
-}
-
-allprojects {
-    tasks.withType(Test) { task ->
-        jarAll.mustRunAfter(task)
-        jarAllWithIndy.mustRunAfter(task)
-    }
-}
-
 task sourceAllJar(type: Jar, dependsOn: { modules()*.sourceJar + rootProject.sourceJar }) {
     with sourceJar.rootSpec
     modules()*.sourceJar.each {
@@ -570,12 +412,14 @@ ext.distSpec = copySpec {
         include 'xstream-license.txt'
     }
     into('embeddable') {
-        from jarAll.archivePath
-        from { new File(jarAll.destinationDir, "${jarAll.baseName}-${jarAll.version}-indy.jar") }
+        subprojects.each {
+            from jar.archivePath
+            from { new File(jar.destinationDir, "${jar.baseName}-${jar.version}-indy.jar") }
+        }
     }
 }
 
-task distBin(type: Zip, dependsOn: [jar, jarAllAll, replaceJarWithJarJar]) {
+task distBin(type: Zip, dependsOn: [jar, replaceJarWithJarJar]) {
     baseName = 'apache-groovy'
     appendix = 'binary'
     into("groovy-$version") {
@@ -676,23 +520,18 @@ task updateLicenses {
     ext.licenseDocGeneratorFile = "${projectDir}/subprojects/groovy-docgenerator/LICENSE"
     ext.licenseGroovyDocFile = "${projectDir}/subprojects/groovy-groovydoc/LICENSE"
     ext.licenseJsr223File = "${projectDir}/subprojects/groovy-jsr223/LICENSE"
-    ext.licenseAllJarJarFile = "${licensesDir}/LICENSE-ALLJARJAR"
     ext.licenseBinZipFile = "${licensesDir}/LICENSE-BINZIP"
     ext.licenseDocFile = "${licensesDir}/LICENSE-DOC"
     ext.licenseJarJarFile = "${licensesDir}/LICENSE-JARJAR"
     ext.licenseSdkFile = "${licensesDir}/LICENSE-SDK"
     inputs.files(licenseBaseFile, fileTree(licensesDir).include('*.txt'))
-    outputs.files(licenseAllJarJarFile, licenseBinZipFile, licenseDocFile, licenseJarJarFile, licenseSrcFile,
+    outputs.files(licenseBinZipFile, licenseDocFile, licenseJarJarFile, licenseSrcFile,
             licenseDocGeneratorFile, licenseGroovyDocFile, licenseJsr223File, licenseSdkFile)
 
     doLast {
         def srcFiles = fileTree(licensesDir).include('*-SRC*.txt').sort { it.name }
         def docFiles = fileTree(licensesDir).include('*-DOC*.txt').sort { it.name }
         def jarjarFiles = fileTree(licensesDir).include('*-JARJAR*.txt').sort { it.name }
-        def allJarjarFiles = fileTree(licensesDir) {
-            include '*-JARJAR*.txt'
-            include '*-ALLJARJAR*.txt'
-        }.sort { it.name }
         def binzipFiles = fileTree(licensesDir) {
             include '*-JARJAR*.txt'
             include '*-ALLJARJAR*.txt'
@@ -703,7 +542,6 @@ task updateLicenses {
         def jsr223Files = fileTree(licensesDir).include('jsr223-ALLJARJAR-SRC.txt')
         def licenseHdr = '\n\n------------------------------------------------------------------------\n\n'
         [
-                (licenseAllJarJarFile)  : allJarjarFiles,
                 (licenseBinZipFile)     : binzipFiles,
                 (licenseDocFile)        : docFiles,
                 (licenseJarJarFile)     : jarjarFiles,
@@ -751,19 +589,14 @@ task updateNotices {
             include '*-JARJAR*.txt'
             include '*-GROOID*.txt'
         }.sort { it.name }
-        def allJarjarFiles = fileTree(noticesDir) {
-            include '*-JARJAR*.txt'
-            include '*-ALLJARJAR*.txt'
-        }.sort { it.name }
         def binzipFiles = fileTree(noticesDir) {
             include '*-JARJAR*.txt'
             include '*-ALLJARJAR*.txt'
             include '*-GROOID*.txt'
             include '*-BINZIP*.txt'
         }.sort { it.name }
-        def groovyconsoleFiles = fileTree(noticesDir).include('silkicons-ALLJARJAR-SRC.txt')
+        def groovyconsoleFiles = fileTree(noticesDir)
         [
-                (noticeAllJarJarFile): allJarjarFiles,
                 (noticeBinZipFile): binzipFiles,
                 (noticeGrooidFile): grooidFiles,
                 (noticeGrooidJarJarFile): grooidJarjarFiles,

http://git-wip-us.apache.org/repos/asf/groovy/blob/17ff9823/gradle/backports.gradle
----------------------------------------------------------------------
diff --git a/gradle/backports.gradle b/gradle/backports.gradle
index 0d8e5ed..8d4c779 100644
--- a/gradle/backports.gradle
+++ b/gradle/backports.gradle
@@ -38,7 +38,7 @@ uploadArchives.dependsOn backportJars
 backports.each { pkg, classList ->
     def backportJar = task "backport${pkg}Jar"(type:Jar) {
         group = 'Backports'
-        dependsOn jarAll
+        dependsOn jar
 
         from zipTree(jar.archivePath)
         include classList
@@ -50,14 +50,14 @@ backports.each { pkg, classList ->
     // it's stupid in our case, because we don't have such, but we have no choice
     def javadocJar = task "backport${pkg}JavadocJar"(type:Jar) {
         group = 'Backports'
-        dependsOn jarAll
+        dependsOn jar
 
         baseName = "groovy-backports-$pkg"
         classifier = 'javadoc'
     }
     def sourcesJar = task "backport${pkg}SourcesJar"(type:Jar) {
         group = 'Backports'
-        dependsOn jarAll
+        dependsOn jar
 
         baseName = "groovy-backports-$pkg"
         classifier = 'sources'

http://git-wip-us.apache.org/repos/asf/groovy/blob/17ff9823/gradle/binarycompatibility.gradle
----------------------------------------------------------------------
diff --git a/gradle/binarycompatibility.gradle b/gradle/binarycompatibility.gradle
index 96b1059..b822d11 100644
--- a/gradle/binarycompatibility.gradle
+++ b/gradle/binarycompatibility.gradle
@@ -140,37 +140,6 @@ templateConfiguration.with {
 }
 def engine = new MarkupTemplateEngine(this.class.classLoader, configDir, templateConfiguration)
 
-task japicmpAll(type: me.champeau.gradle.ArtifactJapicmpTask) {
-    dependsOn jarAll
-    baseline = "org.codehaus.groovy:groovy-all:${referenceMinorVersion}@jar"
-    to = jarAll.archivePath
-    accessModifier = 'protected'
-    onlyModified = true
-    failOnModification = false
-    txtOutputFile = file("$buildDir/reports/japi.txt")
-
-    doFirst {
-        classpath = allprojects.configurations.japicmp.files.flatten()
-    }
-
-    def htmlReportFile = file("${buildDir}/reports/binary-compat-${project.name}-all.html")
-    inputs.file file("$configDir/$templateFile")
-    inputs.file templateFile
-    outputs.file htmlReportFile
-
-    def model = [title   : "Binary compatibility report for ${project.name}",
-                 project : project,
-                 baseline: baseline,
-                 archive : to.name]
-    outputProcessor(reportGenerator.curry(model))
-
-    doLast {
-        htmlReportFile.withWriter('utf-8') { wrt ->
-            engine.createTemplateByPath(templateFile).make(model).writeTo(wrt)
-        }
-    }
-}
-
 allprojects {
     if (!(project.name in excludeModules)) {
         dependencies {

http://git-wip-us.apache.org/repos/asf/groovy/blob/17ff9823/gradle/quality.gradle
----------------------------------------------------------------------
diff --git a/gradle/quality.gradle b/gradle/quality.gradle
index 01fd6e6..b59f1d7 100644
--- a/gradle/quality.gradle
+++ b/gradle/quality.gradle
@@ -54,12 +54,9 @@ allprojects {
 
     // don't fail build on CodeNarc tasks
     tasks.withType(CodeNarc) {
-        dependsOn jarAll
+        dependsOn jar
         ignoreFailures = true
         configFile = file("$rootProject.projectDir/config/codenarc/codenarc.groovy")
-        codenarcClasspath = files(rootProject.jarAll.archivePath) +
-                configurations.compile +
-                files { configurations.codenarc.findAll { !(it.name =~ /groovy|junit/)} }
     }
 
     tasks.withType(Checkstyle) {

http://git-wip-us.apache.org/repos/asf/groovy/blob/17ff9823/gradle/upload.gradle
----------------------------------------------------------------------
diff --git a/gradle/upload.gradle b/gradle/upload.gradle
index be65fba..88f5ab6 100644
--- a/gradle/upload.gradle
+++ b/gradle/upload.gradle
@@ -101,9 +101,7 @@ allprojects {
         }
 
         [uploadArchives, install]*.with {
-            // dependency on jarAllAll should in theory be replaced with jar, jarWithIndy but
-            // in practice, it is faster
-            dependsOn([jarAllAll, sourceJar, javadocJar, groovydocJar])
+            dependsOn([jar, jarWithIndy, sourceJar, javadocJar, groovydocJar])
             doFirst {
                 if (rootProject.useIndy()) {
                     new GradleException('You cannot use uploadArchives or install task with the flag [indy] turned'
@@ -145,24 +143,11 @@ allprojects {
 // we don't want them in the root project so add them as artifacts with a modified name
 // we'll exclude the original artifacts during publication with an exclude pattern
 [uploadArchives, install]*.with {
-    dependsOn([sourceAllJar, javadocAllJar, groovydocAllJar, distBin, distDoc, dist, distBin])
+    dependsOn([sourceJar, javadocJar, groovydocJar, distBin, distDoc, dist, distBin])
     doFirst {
-        project.artifacts.add('archives', jarAll) {
-            name = 'groovy-all'
-        }
-        project.artifacts.add('archives', sourceAllJar) {
-            name = 'groovy-all'
-        }
-        project.artifacts.add('archives', javadocAllJar) {
-            name = 'groovy-all'
-        }
-        project.artifacts.add('archives', groovydocAllJar) {
-            name = 'groovy-all'
-        }
         project.artifacts.add('archives', distBin) {
             name = 'groovy-binary'
         }
-        signArchiveTask(jarAll)
         signArchiveTask(sourceAllJar)
         signArchiveTask(javadocAllJar)
         signArchiveTask(groovydocAllJar)
@@ -202,17 +187,6 @@ allprojects {
                 }
             }
         }
-
-        def indyJar = deriveFile(jarAll.archivePath, 'indy')
-        if (indyJar.exists()) {
-            project.artifacts.add('archives', indyJar)
-            signWithClassifier('indy', indyJar)
-        }
-        def grooidJar = deriveFile(jarAll.archivePath, 'grooid')
-        if (grooidJar.exists()) {
-            project.artifacts.add('archives', grooidJar)
-            signWithClassifier('grooid', grooidJar)
-        }
     }
 }
 
@@ -237,10 +211,6 @@ ext.pomAll = {
     // regular pom
     def groovypom = pom('groovy', pomConfigureClosure)
 
-    // pom for 'all'
-    def allpom = pom('all', pomConfigureClosure)
-    allpom.artifactId = 'groovy-all'
-
     // pom for binary zip
     def binarypom = pom('binary', pomConfigureClosureWithoutTweaks)
     binarypom.artifactId = 'groovy-binary'
@@ -255,20 +225,7 @@ ext.pomAll = {
         }
     }
 
-    modules().each { sp ->
-        sp.install.repositories.mavenInstaller.pom.whenConfigured { subpom ->
-            // add dependencies of other modules
-            allpom.dependencies.addAll(subpom.dependencies)
-        }
-        sp.uploadArchives.repositories.mavenDeployer.pom.whenConfigured { subpom ->
-            // add dependencies of other modules
-            allpom.dependencies.addAll(subpom.dependencies)
-        }
-    }
-
-
     groovypom.whenConfigured(removeJarjaredDependencies)
-    allpom.whenConfigured(removeJarjaredDependencies)
 
     binarypom.whenConfigured { p ->
         p.dependencies.clear()

http://git-wip-us.apache.org/repos/asf/groovy/blob/17ff9823/src/main/org/codehaus/groovy/tools/DgmConverter.java
----------------------------------------------------------------------
diff --git a/src/main/org/codehaus/groovy/tools/DgmConverter.java b/src/main/org/codehaus/groovy/tools/DgmConverter.java
index 0965c92..ba714bb 100644
--- a/src/main/org/codehaus/groovy/tools/DgmConverter.java
+++ b/src/main/org/codehaus/groovy/tools/DgmConverter.java
@@ -29,6 +29,7 @@ import org.objectweb.asm.Label;
 import org.objectweb.asm.MethodVisitor;
 import org.objectweb.asm.Opcodes;
 
+import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.ArrayList;
@@ -92,7 +93,9 @@ public class DgmConverter implements Opcodes {
             cw.visitEnd();
 
             final byte[] bytes = cw.toByteArray();
-            final FileOutputStream fileOutputStream = new FileOutputStream(targetDirectory + className + ".class");
+            File targetFile = new File(targetDirectory + className + ".class").getCanonicalFile();
+            targetFile.getParentFile().mkdirs();
+            final FileOutputStream fileOutputStream = new FileOutputStream(targetFile);
             fileOutputStream.write(bytes);
             fileOutputStream.flush();
             fileOutputStream.close();

http://git-wip-us.apache.org/repos/asf/groovy/blob/17ff9823/subprojects/performance/build.gradle
----------------------------------------------------------------------
diff --git a/subprojects/performance/build.gradle b/subprojects/performance/build.gradle
index 118ddb0..b0b7e1f 100644
--- a/subprojects/performance/build.gradle
+++ b/subprojects/performance/build.gradle
@@ -36,7 +36,7 @@ task performanceTests {
     ext.outputDir = file("$buildDir/compilation")
     ext.dataFile = file("$buildDir/compilation-stats.csv")
 
-    dependsOn rootProject.jarAll
+    dependsOn rootProject.jar
     doLast {
         ext.outputDir.deleteDir()
         def versions = []
@@ -65,7 +65,7 @@ task performanceTests {
         dependsOn compileTestJava
         def groovyConf = configurations.detachedConfiguration(
                 dependencies.create(
-                        'current' == version ? files(rootProject.jarAll.archivePath) : "org.codehaus.groovy:groovy-all:$version")
+                        'current' == version ? files(rootProject.jar.archivePath) : "org.codehaus.groovy:groovy:$version")
         )
         groovyConf.transitive = false
         main = 'org.apache.groovy.perf.CompilerPerformanceTest'