[gradle] 05/22: Refresh patches and build scripts.

Kai-Chung Yan seamlik-guest at moszumanska.debian.org
Wed Nov 2 10:13:16 UTC 2016


This is an automated email from the git hooks/post-receive script.

seamlik-guest pushed a commit to branch master
in repository gradle.

commit 93c34c649c995f1216a8da815e70a257b3e07f29
Author: Kai-Chung Yan (殷啟聰) <seamlikok at gmail.com>
Date:   Fri Oct 28 01:41:27 2016 +0800

    Refresh patches and build scripts.
    
    New patches:
      * drop_http-builder.patch
      * new_APIs_in_3.0.patch
      * disable_Kotlin.patch
      * disable_buildSrc_tests.patch
      * dependency-management_depends_on_testkit.patch
      * Groovy_projects_depends_on_localGroovy.patch
    
    Removed patches:
      * disable_sonar.diff
    
    New JARs:
      * gradle-ide-play.jar
      * gradle-jvm-services.jar
      * gradle-logging.jar
      * gradle-process-services.jar
      * gradle-task-cache-http.jar
      * gradle-composite-builds.jar
    
    Removed documentations:
      * Groovydoc
    
    Changed behaviors:
      * Use javahelper to install Javadoc
---
 debian/gradle-doc.doc-base.gradle-dsl              |   8 +
 debian/gradle-doc.doc-base.gradle-groovydoc        |   9 -
 debian/gradle-doc.doc-base.gradle-javadoc          |   1 -
 debian/gradle-doc.doc-base.gradle-userguide        |  11 +
 debian/gradle-doc.install                          |   3 +-
 debian/gradle-doc.javadoc                          |   1 +
 debian/libgradle-core-java.links                   |   5 +-
 debian/libgradle-core-java.poms                    |   3 +
 debian/libgradle-plugins-java.links                |   3 +
 debian/libgradle-plugins-java.poms                 |   3 +
 debian/patches/33_scala_zinc.diff                  |  54 +++--
 debian/patches/34_disable_code_quality.diff        |  67 +++++-
 .../Groovy_projects_depends_on_localGroovy.patch   |  31 +++
 .../dependency-management_depends_on_testkit.patch |  11 +
 debian/patches/disable_Kotlin.patch                |  13 ++
 debian/patches/disable_aws.diff                    |  14 +-
 debian/patches/disable_buildSrc_tests.patch        |  17 ++
 debian/patches/disable_sonar.diff                  |  76 -------
 debian/patches/disable_tests.diff                  | 243 +++++++++++++++------
 debian/patches/docs.diff                           |  36 ++-
 debian/patches/drop_http-builder.patch             | 151 +++++++++++++
 debian/patches/eclipse-aether.diff                 |  26 +--
 debian/patches/generate_pom.diff                   |   4 +-
 debian/patches/groovy-jar.patch                    |  10 +-
 debian/patches/ivy-2.4.0.patch                     |  25 +--
 debian/patches/jcommander.diff                     |   6 +-
 debian/patches/maven-3.3-compatibility.patch       |  10 +-
 debian/patches/nekohtml.diff                       |   4 +-
 debian/patches/new_APIs_in_3.0.patch               |  17 ++
 debian/patches/relax_warnings.diff                 |   2 +-
 debian/patches/removeTimestampInManifest.patch     |  54 +----
 debian/patches/search_system_jar.diff              |  12 +-
 debian/patches/series                              |   7 +-
 debian/patches/upgrade-to-jetty9.patch             |  63 +++---
 debian/patches/use_local_artifacts.diff            |  75 ++++---
 debian/rules                                       |  10 +-
 36 files changed, 686 insertions(+), 399 deletions(-)

diff --git a/debian/gradle-doc.doc-base.gradle-dsl b/debian/gradle-doc.doc-base.gradle-dsl
new file mode 100644
index 0000000..b6904b1
--- /dev/null
+++ b/debian/gradle-doc.doc-base.gradle-dsl
@@ -0,0 +1,8 @@
+Document: gradle-dsl
+Title: Gradle DSL Reference
+Author: Gradle developers
+Section: Programming/Java
+
+Format: HTML
+Files: /usr/share/doc/gradle/dsl/*
+Index: /usr/share/doc/gradle/dsl/index.html
\ No newline at end of file
diff --git a/debian/gradle-doc.doc-base.gradle-groovydoc b/debian/gradle-doc.doc-base.gradle-groovydoc
deleted file mode 100644
index 791826e..0000000
--- a/debian/gradle-doc.doc-base.gradle-groovydoc
+++ /dev/null
@@ -1,9 +0,0 @@
-Document: gradle-groovydoc
-Title: Gradle Groovydoc
-Author: Gradle developers
-Abstract: Groovydoc for Gradle APIs
-Section: Programming/Java
-
-Format: HTML
-Files: /usr/share/doc/gradle/gapi/*
-Index: /usr/share/doc/gradle/gapi/index.html
\ No newline at end of file
diff --git a/debian/gradle-doc.doc-base.gradle-javadoc b/debian/gradle-doc.doc-base.gradle-javadoc
index 6e17a65..b4ef6ad 100644
--- a/debian/gradle-doc.doc-base.gradle-javadoc
+++ b/debian/gradle-doc.doc-base.gradle-javadoc
@@ -1,7 +1,6 @@
 Document: gradle-javadoc
 Title: Gradle Javadoc
 Author: Gradle developers
-Abstract: Javadoc for Gradle APIs
 Section: Programming/Java
 
 Format: HTML
diff --git a/debian/gradle-doc.doc-base.gradle-userguide b/debian/gradle-doc.doc-base.gradle-userguide
new file mode 100644
index 0000000..21a1b48
--- /dev/null
+++ b/debian/gradle-doc.doc-base.gradle-userguide
@@ -0,0 +1,11 @@
+Document: gradle-userguide
+Title: Gradle User Guide
+Author: Gradle developers
+Section: Programming/Java
+
+Format: HTML
+Files: /usr/share/doc/gradle/userguide/*
+Index: /usr/share/doc/gradle/userguide/userguide.html
+
+Format: PDF
+Files: /usr/share/doc/gradle/userguide.pdf.gz
\ No newline at end of file
diff --git a/debian/gradle-doc.install b/debian/gradle-doc.install
index 8f89a57..1e43ddf 100644
--- a/debian/gradle-doc.install
+++ b/debian/gradle-doc.install
@@ -1,5 +1,4 @@
 subprojects/docs/build/docs/dsl                      usr/share/doc/gradle
-subprojects/docs/build/docs/groovydoc/*              usr/share/doc/gradle/gapi
-subprojects/docs/build/docs/javadoc/*                usr/share/doc/gradle/api
 subprojects/docs/build/docs/release-notes.html       usr/share/doc/gradle
+subprojects/docs/build/docs/userguide                usr/share/doc/gradle
 subprojects/docs/build/samples/*                     usr/share/doc/gradle/examples
\ No newline at end of file
diff --git a/debian/gradle-doc.javadoc b/debian/gradle-doc.javadoc
new file mode 100644
index 0000000..1ff5d49
--- /dev/null
+++ b/debian/gradle-doc.javadoc
@@ -0,0 +1 @@
+subprojects/docs/build/docs/javadoc   usr/share/doc/gradle/api
\ No newline at end of file
diff --git a/debian/libgradle-core-java.links b/debian/libgradle-core-java.links
index 8a98f06..2bb9224 100755
--- a/debian/libgradle-core-java.links
+++ b/debian/libgradle-core-java.links
@@ -12,4 +12,7 @@ usr/share/java/gradle-native-${GRADLE_VERSION}.jar               usr/share/gradl
 usr/share/java/gradle-open-api-${GRADLE_VERSION}.jar             usr/share/gradle/lib/gradle-open-api-${GRADLE_VERSION}.jar
 usr/share/java/gradle-resources-${GRADLE_VERSION}.jar            usr/share/gradle/lib/gradle-resources-${GRADLE_VERSION}.jar
 usr/share/java/gradle-tooling-api-${GRADLE_VERSION}.jar          usr/share/gradle/lib/gradle-tooling-api-${GRADLE_VERSION}.jar
-usr/share/java/gradle-wrapper-${GRADLE_VERSION}.jar              usr/share/gradle/lib/gradle-wrapper-${GRADLE_VERSION}.jar
\ No newline at end of file
+usr/share/java/gradle-wrapper-${GRADLE_VERSION}.jar              usr/share/gradle/lib/gradle-wrapper-${GRADLE_VERSION}.jar
+usr/share/java/gradle-logging-${GRADLE_VERSION}.jar              usr/share/gradle/lib/gradle-logging-${GRADLE_VERSION}.jar
+usr/share/java/gradle-process-services-${GRADLE_VERSION}.jar     usr/share/gradle/lib/gradle-process-services-${GRADLE_VERSION}.jar
+usr/share/java/gradle-jvm-services-${GRADLE_VERSION}.jar         usr/share/gradle/lib/gradle-jvm-services-${GRADLE_VERSION}.jar
\ No newline at end of file
diff --git a/debian/libgradle-core-java.poms b/debian/libgradle-core-java.poms
index 95b320a..c30c715 100644
--- a/debian/libgradle-core-java.poms
+++ b/debian/libgradle-core-java.poms
@@ -3,10 +3,13 @@ subprojects/base-services/build/pom.xml --artifact=subprojects/base-services/bui
 subprojects/cli/build/pom.xml --artifact=subprojects/cli/build/libs/*.jar --java-lib
 subprojects/core/build/pom.xml --artifact=subprojects/core/build/libs/*.jar --java-lib
 subprojects/docs/build/pom.xml --artifact=subprojects/docs/build/libs/*.jar --java-lib
+subprojects/jvm-services/build/pom.xml --artifact=subprojects/jvm-services/build/libs/*.jar --java-lib
+subprojects/logging/build/pom.xml --artifact=subprojects/logging/build/libs/*.jar --java-lib
 subprojects/messaging/build/pom.xml --artifact=subprojects/messaging/build/libs/*.jar --java-lib
 subprojects/model-core/build/pom.xml --artifact=subprojects/model-core/build/libs/*.jar --java-lib
 subprojects/model-groovy/build/pom.xml --artifact=subprojects/model-groovy/build/libs/*.jar --java-lib
 subprojects/native/build/pom.xml --artifact=subprojects/native/build/libs/*.jar --java-lib
 subprojects/open-api/build/pom.xml --artifact=subprojects/open-api/build/libs/*.jar --java-lib
+subprojects/process-services/build/pom.xml --artifact=subprojects/process-services/build/libs/*.jar --java-lib
 subprojects/resources/build/pom.xml --artifact=subprojects/resources/build/libs/*.jar --java-lib
 subprojects/tooling-api/build/pom.xml --artifact=subprojects/tooling-api/build/libs/*.jar --java-lib
diff --git a/debian/libgradle-plugins-java.links b/debian/libgradle-plugins-java.links
index 69ebf6c..d85ed3d 100755
--- a/debian/libgradle-plugins-java.links
+++ b/debian/libgradle-plugins-java.links
@@ -39,3 +39,6 @@ usr/share/java/gradle-testing-base-${GRADLE_VERSION}.jar          usr/share/grad
 usr/share/java/gradle-testing-jvm-${GRADLE_VERSION}.jar           usr/share/gradle/lib/plugins/gradle-testing-jvm-${GRADLE_VERSION}.jar
 usr/share/java/gradle-testing-native-${GRADLE_VERSION}.jar        usr/share/gradle/lib/plugins/gradle-testing-native-${GRADLE_VERSION}.jar
 usr/share/java/gradle-tooling-api-builders-${GRADLE_VERSION}.jar  usr/share/gradle/lib/plugins/gradle-tooling-api-builders-${GRADLE_VERSION}.jar
+usr/share/java/gradle-ide-play-${GRADLE_VERSION}.jar              usr/share/gradle/lib/gradle-ide-play-${GRADLE_VERSION}.jar
+usr/share/java/gradle-task-cache-http-${GRADLE_VERSION}.jar       usr/share/gradle/lib/gradle-task-cache-http-${GRADLE_VERSION}.jar
+usr/share/java/gradle-composite-builds-${GRADLE_VERSION}.jar      usr/share/gradle/lib/gradle-composite-builds-${GRADLE_VERSION}.jar
\ No newline at end of file
diff --git a/debian/libgradle-plugins-java.poms b/debian/libgradle-plugins-java.poms
index 4fe74c3..1f543c6 100644
--- a/debian/libgradle-plugins-java.poms
+++ b/debian/libgradle-plugins-java.poms
@@ -3,10 +3,12 @@ subprojects/antlr/build/pom.xml --artifact=subprojects/antlr/build/libs/*.jar --
 subprojects/build-comparison/build/pom.xml --artifact=subprojects/build-comparison/build/libs/*.jar --java-lib
 subprojects/build-init/build/pom.xml --artifact=subprojects/build-init/build/libs/*.jar --java-lib
 subprojects/code-quality/build/pom.xml --artifact=subprojects/code-quality/build/libs/*.jar --java-lib
+subprojects/composite-builds/build/pom.xml --artifact=subprojects/composite-builds/build/libs/*.jar --java-lib
 subprojects/dependency-management/build/pom.xml --artifact=subprojects/dependency-management/build/libs/*.jar --java-lib
 subprojects/diagnostics/build/pom.xml --artifact=subprojects/diagnostics/build/libs/*.jar --java-lib
 subprojects/ear/build/pom.xml --artifact=subprojects/ear/build/libs/*.jar --java-lib
 subprojects/ide-native/build/pom.xml --artifact=subprojects/ide-native/build/libs/*.jar --java-lib
+subprojects/ide-play/build/pom.xml --artifact=subprojects/ide-play/build/libs/*.jar --java-lib
 subprojects/ide/build/pom.xml --artifact=subprojects/ide/build/libs/*.jar --java-lib
 subprojects/ivy/build/pom.xml --artifact=subprojects/ivy/build/libs/*.jar --java-lib
 subprojects/jacoco/build/pom.xml --artifact=subprojects/jacoco/build/libs/*.jar --java-lib
@@ -32,6 +34,7 @@ subprojects/resources-http/build/pom.xml --artifact=subprojects/resources-http/b
 subprojects/resources-sftp/build/pom.xml --artifact=subprojects/resources-sftp/build/libs/*.jar --java-lib
 subprojects/scala/build/pom.xml --artifact=subprojects/scala/build/libs/*.jar --java-lib
 subprojects/signing/build/pom.xml --artifact=subprojects/signing/build/libs/*.jar --java-lib
+subprojects/task-cache-http/build/pom.xml --artifact=subprojects/task-cache-http/build/libs/*.jar --java-lib
 subprojects/test-kit/build/pom.xml --artifact=subprojects/test-kit/build/libs/*.jar --java-lib
 subprojects/testing-base/build/pom.xml --artifact=subprojects/testing-base/build/libs/*.jar --java-lib
 subprojects/testing-jvm/build/pom.xml --artifact=subprojects/testing-jvm/build/libs/*.jar --java-lib
diff --git a/debian/patches/33_scala_zinc.diff b/debian/patches/33_scala_zinc.diff
index e74b381..4384e74 100644
--- a/debian/patches/33_scala_zinc.diff
+++ b/debian/patches/33_scala_zinc.diff
@@ -2,12 +2,12 @@ Description: No Zinc Compiler (https://github.com/typesafehub/zinc) in Debian.
              Zinc depends on SBT compiler and SBT is not yet in Debian
              See SBT ITP : http://bugs.debian.org/639910
 Author: Damien Raude-Morvan <drazzib at debian.org>
-        Kai-Chung Yan <seamlikok at gmail.com>
-Last-Update: 2015-09-30
+        Kai-Chung Yan (殷啟聰)
+Last-Update: 2016-10-20
 Forwarded: not-needed
 --- a/subprojects/language-scala/language-scala.gradle
 +++ b/subprojects/language-scala/language-scala.gradle
-@@ -5,8 +5,6 @@
+@@ -8,8 +8,6 @@
      compile project(":platformJvm")
      compile project(":languageJava")
      compile project(":languageJvm")
@@ -16,31 +16,27 @@ Forwarded: not-needed
  
      testCompile libraries.groovy
  }
-@@ -16,3 +14,5 @@
+@@ -19,3 +17,5 @@
  useTestFixtures(project: ":languageJvm", sourceSet: 'testFixtures')
  useTestFixtures(project: ":platformBase")
  useTestFixtures(project: ":launcher")
 +
 +sourceSets.main.java { exclude "**/ZincScalaCompiler.java" }
---- a/subprojects/scala/src/main/groovy/org/gradle/api/plugins/scala/ScalaBasePlugin.groovy
-+++ b/subprojects/scala/src/main/groovy/org/gradle/api/plugins/scala/ScalaBasePlugin.groovy
-@@ -107,15 +107,7 @@
-     private void configureCompileDefaults() {
-         project.tasks.withType(ScalaCompile.class) { ScalaCompile compile ->
-             compile.conventionMapping.scalaClasspath = { scalaRuntime.inferScalaClasspath(compile.classpath) }
--            compile.conventionMapping.zincClasspath = {
--                def config = project.configurations[ZINC_CONFIGURATION_NAME]
--                if (!compile.scalaCompileOptions.internalIsUseAnt() && config.dependencies.empty) {
--                    project.dependencies {
--                        zinc("com.typesafe.zinc:zinc:$DefaultScalaToolProvider.DEFAULT_ZINC_VERSION")
--                    }
--                }
--                config
--            }
-+            compile.conventionMapping.zincClasspath = {}
-         }
-     }
- 
+--- a/subprojects/scala/src/main/java/org/gradle/api/plugins/scala/ScalaBasePlugin.java
++++ b/subprojects/scala/src/main/java/org/gradle/api/plugins/scala/ScalaBasePlugin.java
+@@ -153,11 +153,7 @@
+                 compile.getConventionMapping().map("zincClasspath", new Callable<Configuration>() {
+                     @Override
+                     public Configuration call() throws Exception {
+-                        Configuration config = project.getConfigurations().getAt(ZINC_CONFIGURATION_NAME);
+-                        if (config.getDependencies().isEmpty()) {
+-                            project.getDependencies().add("zinc", "com.typesafe.zinc:zinc:" + DefaultScalaToolProvider.DEFAULT_ZINC_VERSION);
+-                        }
+-                        return config;
++                        return null;
+                     }
+                 });
+             }
 --- a/subprojects/language-scala/src/main/java/org/gradle/language/scala/internal/toolchain/DefaultScalaToolProvider.java
 +++ b/subprojects/language-scala/src/main/java/org/gradle/language/scala/internal/toolchain/DefaultScalaToolProvider.java
 @@ -20,7 +20,6 @@
@@ -64,15 +60,17 @@ Forwarded: not-needed
      }
  
      @Override
---- a/subprojects/scala/src/main/groovy/org/gradle/api/internal/tasks/scala/ScalaCompilerFactory.java
-+++ b/subprojects/scala/src/main/groovy/org/gradle/api/internal/tasks/scala/ScalaCompilerFactory.java
-@@ -65,7 +65,7 @@
+--- a/subprojects/scala/src/main/java/org/gradle/api/internal/tasks/scala/ScalaCompilerFactory.java
++++ b/subprojects/scala/src/main/java/org/gradle/api/internal/tasks/scala/ScalaCompilerFactory.java
+@@ -46,9 +46,7 @@
          Set<File> zincClasspathFiles = zincClasspath.getFiles();
  
          // currently, we leave it to ZincScalaCompiler to also compile the Java code
--        Compiler<ScalaJavaJointCompileSpec> scalaCompiler = new DaemonScalaCompiler<ScalaJavaJointCompileSpec>(rootProjectDirectory, new ZincScalaCompiler(scalaClasspathFiles, zincClasspathFiles, gradleUserHomeDir), compilerDaemonFactory, zincClasspathFiles);
+-        Compiler<ScalaJavaJointCompileSpec> scalaCompiler = new DaemonScalaCompiler<ScalaJavaJointCompileSpec>(
+-            rootProjectDirectory, new ZincScalaCompiler(scalaClasspathFiles, zincClasspathFiles, gradleUserHomeDir),
+-            compilerDaemonFactory, zincClasspathFiles);
 -        return new NormalizingScalaCompiler(scalaCompiler);
 +        Compiler<ScalaJavaJointCompileSpec> scalaCompiler = null;
-+        throw new GradleException("Gradle in Debian does not support Zinc compiler.");
++        throw new org.gradle.api.GradleException("Gradle in Debian does not support Zinc compiler.");
      }
  }
diff --git a/debian/patches/34_disable_code_quality.diff b/debian/patches/34_disable_code_quality.diff
index f45617c..61c01ea 100644
--- a/debian/patches/34_disable_code_quality.diff
+++ b/debian/patches/34_disable_code_quality.diff
@@ -4,22 +4,65 @@ Description: Disable checkstyle and codenarc tasks during build
  Oracle JDK.
 Bug-Debian: http://bugs.debian.org/719415
 Bug: http://issues.gradle.org/browse/GRADLE-2858
-Last-Update: 2013-08-11
+Last-Update: 2016-10-20
 Forwarded: not-needed
 --- a/buildSrc/build.gradle
 +++ b/buildSrc/build.gradle
-@@ -15,8 +15,6 @@
+@@ -49,8 +49,4 @@
+ apply from: '../gradle/classycle.gradle'
+ apply from: '../debian/substituteDependencies.gradle'
+ 
+-ext.isCiServer = System.getenv().containsKey("TEAMCITY_VERSION")
+-
+-if (!isCiServer || (isCiServer && Boolean.getBoolean('enableCodeQuality'))) {
+-    apply from: '../gradle/codeQuality.gradle'
+-}
++ext.isCiServer = System.getenv().containsKey("TEAMCITY_VERSION")
+\ No newline at end of file
+--- a/build.gradle
++++ b/build.gradle
+@@ -233,8 +233,6 @@
+         apply from: "$rootDir/gradle/publish.gradle"
+     }
+ 
+-    apply from: "$rootDir/gradle/codeQuality.gradle"
+-
+     if (isCiServer) {
+         reporting.baseDir "$rootProject.reporting.baseDir/${path.replaceFirst(':', '').replaceAll(':', '.')}"
+     }
+--- a/subprojects/core/core.gradle
++++ b/subprojects/core/core.gradle
+@@ -14,8 +14,6 @@
+  * limitations under the License.
   */
  
- apply plugin: 'groovy'
--apply plugin: 'checkstyle'
--apply plugin: 'codenarc'
- apply plugin: 'idea'
- apply plugin: 'eclipse'
+-apply from: "$rootDir/gradle/taskProperties.gradle"
+-
+ sourceCompatibility = javaVersion.java9Compatible ? 1.6 : 1.5
  
-@@ -42,5 +40,4 @@
+ configurations {
+--- a/subprojects/docs/docs.gradle
++++ b/subprojects/docs/docs.gradle
+@@ -354,11 +354,7 @@
+     ext.entryPoint = "$destinationDir/index.html"
+ }
  
- apply from: '../gradle/compile.gradle'
- apply from: '../gradle/taskOrdering.gradle'
--apply from: '../gradle/codeQuality.gradle'
- apply from: '../gradle/classycle.gradle'
+-task checkstyleApi(type: Checkstyle) {
+-    source javadocAll.source
+-    configFile = file("$checkstyleConfigDir/checkstyle-api.xml")
+-    classpath = files()
+-    reports.xml.destination = file("$checkstyle.reportsDir/checkstyle-api.xml")
++task checkstyleApi {
+ }
+ 
+ task userguideFragmentSrc(type: UserGuideTransformTask, dependsOn: [userguideStyleSheets]) {
+--- a/gradle/classycle.gradle
++++ b/gradle/classycle.gradle
+@@ -64,7 +64,6 @@
+             }
+             classycle.dependsOn taskName
+             check.dependsOn taskName
+-            codeQuality.dependsOn taskName
+         }
+     }
+ }
diff --git a/debian/patches/Groovy_projects_depends_on_localGroovy.patch b/debian/patches/Groovy_projects_depends_on_localGroovy.patch
new file mode 100644
index 0000000..9b7cbc4
--- /dev/null
+++ b/debian/patches/Groovy_projects_depends_on_localGroovy.patch
@@ -0,0 +1,31 @@
+Description: Otherwise it complains "Cannot infer Groovy class path because no
+             Groovy Jar was found on class path
+Author: Kai-Chung Yan (殷啟聰)
+Last-Update: 2016-10-27
+--- a/subprojects/plugins/plugins.gradle
++++ b/subprojects/plugins/plugins.gradle
+@@ -23,7 +23,7 @@
+ }
+ 
+ dependencies {
+-    compile libraries.groovy
++    compile localGroovy()
+ 
+     compile project(':core')
+     compile project(':dependencyManagement')
+@@ -45,6 +45,7 @@
+     runtime libraries.commons_cli
+ 
+     testCompile libraries.jsoup
++    providedPlusCompile 'org.codehaus.groovy:groovy-all:debian'
+ }
+ 
+ evaluationDependsOn(":wrapper")
+@@ -60,5 +61,4 @@
+ useTestFixtures(project: ':diagnostics')
+ 
+ 
+-verifyTestFilesCleanup.errorWhenNotEmpty = false
+-
++verifyTestFilesCleanup.errorWhenNotEmpty = false
+\ No newline at end of file
diff --git a/debian/patches/dependency-management_depends_on_testkit.patch b/debian/patches/dependency-management_depends_on_testkit.patch
new file mode 100644
index 0000000..e8f3370
--- /dev/null
+++ b/debian/patches/dependency-management_depends_on_testkit.patch
@@ -0,0 +1,11 @@
+Description: Otherwise it complains about ZIP file I/O errors
+Author: Kai-Chung Yan (殷啟聰)
+Last-Update: 2016-10-28
+--- a/subprojects/dependency-management/dependency-management.gradle
++++ b/subprojects/dependency-management/dependency-management.gradle
+@@ -53,4 +53,4 @@
+ }
+ 
+ jar.dependsOn(generateGradleApiPackageList, generateTestKitPackageList)
+-
++generateTestKitPackageList.dependsOn ':testKit:jar'
diff --git a/debian/patches/disable_Kotlin.patch b/debian/patches/disable_Kotlin.patch
new file mode 100644
index 0000000..4eac966
--- /dev/null
+++ b/debian/patches/disable_Kotlin.patch
@@ -0,0 +1,13 @@
+Description: Kotlin is not in Debian yet
+Author: Kai-Chung Yan (殷啟聰)
+Last-Update: 2016-10-28
+--- a/subprojects/dependency-management/dependency-management.gradle
++++ b/subprojects/dependency-management/dependency-management.gradle
+@@ -37,7 +37,6 @@
+     classpath = files([])
+     doFirst {
+         classpath = files(
+-            rootProject.configurations.externalModules,
+             [':core', ':dependencyManagement', ':pluginUse', ":toolingApi"].collect() {
+                 project(it).configurations.runtime
+             }, project(':').configurations.gradlePlugins)
diff --git a/debian/patches/disable_aws.diff b/debian/patches/disable_aws.diff
index 726f115..3598905 100644
--- a/debian/patches/disable_aws.diff
+++ b/debian/patches/disable_aws.diff
@@ -1,20 +1,20 @@
 Description: AWS SDK for Java is not in Debian yet.
-Author: Kai-Chung Yan <seamlikok at gmial.com>
-Last-Update: 2015-07-07
+Author: Kai-Chung Yan (殷啟聰)
+Last-Update: 2016-10-20
 --- a/build.gradle
 +++ b/build.gradle
-@@ -145,7 +145,7 @@
+@@ -174,7 +174,7 @@
          'platformJvm', 'languageJvm', 'languageJava', 'languageGroovy', 'languageScala',
-         'platformNative', 'platformPlay', 'languageNative', 'ideNative', 'testingBase',
+         'platformNative', 'platformPlay', 'idePlay', 'languageNative', 'ideNative', 'testingBase',
          'testingNative', 'testingJvm', 'pluginDevelopment', 'pluginUse', 'resourcesHttp',
--        'resourcesSftp', 'resourcesS3', 'toolingApiBuilders'
-+        'resourcesSftp', 'toolingApiBuilders'
+-        'resourcesSftp', 'resourcesS3', 'toolingApiBuilders', 'compositeBuilds', 'taskCacheHttp'
++        'resourcesSftp', 'toolingApiBuilders', 'compositeBuilds', 'taskCacheHttp'
      ].collect {
          project(it)
      }
 --- a/settings.gradle
 +++ b/settings.gradle
-@@ -24,7 +24,6 @@
+@@ -27,7 +27,6 @@
  include 'messaging'
  include 'resources'
  include 'resourcesHttp'
diff --git a/debian/patches/disable_buildSrc_tests.patch b/debian/patches/disable_buildSrc_tests.patch
new file mode 100644
index 0000000..40ca0bf
--- /dev/null
+++ b/debian/patches/disable_buildSrc_tests.patch
@@ -0,0 +1,17 @@
+Description: Disable buildSrc tests
+ When building Gradle 3.1 using Gradle 2.13, buildSrc tests complained about
+ being unable find a method in native-platform. After Gradle in Debian is
+ updated to 3.1, this patch should be safe to remove.
+Author: Kai-Chung Yan (殷啟聰)
+Last-Update: 2016-10-27
+--- a/buildSrc/build.gradle
++++ b/buildSrc/build.gradle
+@@ -25,6 +25,8 @@
+     maven { url 'file:///usr/share/maven-repo' }
+ }
+ 
++sourceSets { test { groovy { exclude '**' } } }
++
+ dependencies {
+     compile 'org.ow2.asm:asm-all:5.0.3'
+     compile gradleApi()
diff --git a/debian/patches/disable_sonar.diff b/debian/patches/disable_sonar.diff
deleted file mode 100644
index 9ebcb47..0000000
--- a/debian/patches/disable_sonar.diff
+++ /dev/null
@@ -1,76 +0,0 @@
-Description: Disable Sonar features since it is not available in Debian yet
-Author: Miguel Landaeta <miguel at miguel.cc>
-        Damien Raude-Morvan <drazzib at debian.org>
-Forwarded: not-needed
-Last-Update: 2015-07-02
-
---- a/build.gradle
-+++ b/build.gradle
-@@ -140,7 +140,7 @@
-     publicGroovyProjects = groovyProjects - internalProjects
-     pluginProjects = [
-         'plugins', 'codeQuality', 'jetty', 'antlr', 'wrapper', 'osgi', 'maven',
--        'ide', 'announce', 'scala', 'sonar', 'signing', 'ear', 'javascript', 'buildComparison',
-+        'ide', 'announce', 'scala', 'signing', 'ear', 'javascript', 'buildComparison',
-         'diagnostics', 'reporting', 'publish', 'ivy', 'jacoco', 'buildInit', 'platformBase',
-         'platformJvm', 'languageJvm', 'languageJava', 'languageGroovy', 'languageScala',
-         'platformNative', 'platformPlay', 'languageNative', 'ideNative', 'testingBase',
---- a/settings.gradle
-+++ b/settings.gradle
-@@ -41,7 +41,6 @@
- include 'toolingApi'
- include 'toolingApiBuilders'
- include 'docs'
--include 'sonar'
- include 'signing'
- include 'ear'
- include 'native'
---- a/subprojects/docs/src/docs/userguide/sonarPlugin.xml
-+++ b/subprojects/docs/src/docs/userguide/sonarPlugin.xml
-@@ -223,7 +223,6 @@
-             <tr>
-                 <td><literal>sonarAnalyze</literal></td>
-                 <td>-</td>
--                <td><apilink class="org.gradle.api.plugins.sonar.SonarAnalyze"/></td>
-                 <td>Analyzes a project hierarchy and stores the results in the Sonar database.</td>
-             </tr>
-         </table>
---- a/subprojects/docs/src/docs/dsl/dsl.xml
-+++ b/subprojects/docs/src/docs/dsl/dsl.xml
-@@ -416,12 +416,6 @@
-                 <td>org.gradle.plugins.signing.Sign</td>
-             </tr>
-             <tr>
--                <td>org.gradle.api.plugins.sonar.SonarAnalyze</td>
--            </tr>
--            <tr>
--                <td>org.gradle.sonar.runner.tasks.SonarRunner</td>
--            </tr>
--            <tr>
-                 <td>org.gradle.api.tasks.Sync</td>
-             </tr>
-             <tr>
---- a/subprojects/docs/src/docs/dsl/plugins.xml
-+++ b/subprojects/docs/src/docs/dsl/plugins.xml
-@@ -77,10 +77,6 @@
-     <plugin id="visual-studio" description="Visual Studio Plugin">
-         <extends targetClass="org.gradle.api.Project" id="visualStudio" extensionClass="org.gradle.ide.visualstudio.VisualStudioExtension"/>
-     </plugin>
--    <plugin id="sonar-runner" description="Sonar Runner Plugin">
--        <extends targetClass="org.gradle.api.Project" id="sonarRunner" extensionClass="org.gradle.sonar.runner.SonarRunnerExtension"/>
--        <extends targetClass="org.gradle.api.Project" id="sonarRunner" extensionClass="org.gradle.sonar.runner.SonarRunnerRootExtension"/>
--    </plugin>
- 
-     <plugin id="play" description="Play Plugin">
-     </plugin>
---- a/subprojects/docs/src/docs/userguide/userguide.xml
-+++ b/subprojects/docs/src/docs/userguide/userguide.xml
-@@ -102,8 +102,6 @@
-         <xi:include href='jdependPlugin.xml'/>
-         <xi:include href='pmdPlugin.xml'/>
-         <xi:include href='jacocoPlugin.xml'/>
--        <xi:include href='sonarPlugin.xml'/>
--        <xi:include href='sonarRunnerPlugin.xml'/>
-         <xi:include href='osgi.xml'/>
-         <xi:include href='eclipsePlugin.xml'/>
-         <xi:include href='ideaPlugin.xml'/>
diff --git a/debian/patches/disable_tests.diff b/debian/patches/disable_tests.diff
index bc064ee..8d58ad5 100644
--- a/debian/patches/disable_tests.diff
+++ b/debian/patches/disable_tests.diff
@@ -1,10 +1,10 @@
 Description: Disable tests
-Author: Kai-Chung Yan <seamlikok at gmail.com>
-Last-Update: 2016-09-08
+Author: Kai-Chung Yan (殷啟聰)
+Last-Update: 2016-10-20
 Forwarded: not-needed
 --- a/build.gradle
 +++ b/build.gradle
-@@ -108,7 +108,6 @@
+@@ -137,7 +137,6 @@
      }
  }
  
@@ -12,7 +12,7 @@ Forwarded: not-needed
  apply from: 'gradle/buildSplits.gradle'
  ext {
      jvm = org.gradle.internal.jvm.Jvm.current()
-@@ -171,7 +170,6 @@
+@@ -204,7 +203,6 @@
  apply from: "gradle/classycle.gradle"
  apply from: "gradle/strictCompile.gradle"
  apply from: "gradle/noDependencyResolutionDuringConfiguration.gradle"
@@ -20,7 +20,7 @@ Forwarded: not-needed
  apply from: "gradle/taskOrdering.gradle"
  apply from: "gradle/fix-GRADLE-2492.gradle"
  apply from: 'gradle/customM2Check.gradle'
-@@ -268,11 +266,6 @@
+@@ -330,11 +328,6 @@
      installDirPropertyName = 'gradle_installPath'
  }
  
@@ -31,34 +31,37 @@ Forwarded: not-needed
 -apply from: "gradle/intTestImage.gradle"
  apply from: 'gradle/pullRequestBuild.gradle'
  
- def reportsFolder = new File(buildDir, "reports")
+ // Generate a report showing which tests in a subproject are leaving
 --- a/gradle/groovyProject.gradle
 +++ b/gradle/groovyProject.gradle
-@@ -72,19 +72,24 @@
+@@ -57,27 +57,6 @@
+     def sourceSet = params.sourceSet ?: "test"
      def compileConfiguration = sourceSet == "main" ? "compile" : "${sourceSet}Compile"
      def runtimeConfiguration = sourceSet == "main" ? "runtime" : "${sourceSet}Runtime"
- 
-+    /*
-     dependencies {
-         add(compileConfiguration, project(path: projectPath, configuration: "testFixturesUsageCompile"))
-         add(compileConfiguration, project(':internalTesting'))
-         add(runtimeConfiguration, project(path: projectPath, configuration: "testFixturesUsageRuntime"))
-     }
-+    */
- }
- 
-+/*
- if (file("src/testFixtures").exists()) {
-     apply from: "$rootDir/gradle/testFixtures.gradle"
+-
+-    dependencies {
+-        add(compileConfiguration, project(path: projectPath, configuration: "testFixturesUsageCompile"))
+-        add(compileConfiguration, project(':internalTesting'))
+-        add(runtimeConfiguration, project(path: projectPath, configuration: "testFixturesUsageRuntime"))
+-    }
+-}
+-
+-if (file("src/testFixtures").exists()) {
+-    apply from: "$rootDir/gradle/testFixtures.gradle"
+-}
+-
+-apply from: "$rootDir/gradle/integTest.gradle"
+-
+-
+-if (file("src/performanceTest").exists()) {
+-    apply from: "$rootDir/gradle/performanceTest.gradle"
+-}
+-
+-if (file("src/jmh").exists()) {
+-    apply from: "$rootDir/gradle/jmh.gradle"
  }
  
- apply from: "$rootDir/gradle/integTest.gradle"
- 
-+*/
-+
  class ClasspathManifest extends DefaultTask {
- 
-     FileCollection input = project.configurations.runtime
 --- a/subprojects/distributions/distributions.gradle
 +++ b/subprojects/distributions/distributions.gradle
 @@ -37,8 +37,6 @@
@@ -70,7 +73,7 @@ Forwarded: not-needed
  evaluationDependsOn ":docs"
  
  ext {
-@@ -129,12 +127,4 @@
+@@ -126,12 +124,4 @@
  
  artifacts {
      dists allZip, binZip, srcZip
@@ -87,7 +90,7 @@ Forwarded: not-needed
 \ No newline at end of file
 --- a/subprojects/tooling-api/tooling-api.gradle
 +++ b/subprojects/tooling-api/tooling-api.gradle
-@@ -7,36 +7,6 @@
+@@ -9,44 +9,6 @@
      compile project(':wrapper')
      compile project(':baseServices')
      publishCompile libraries.slf4j_api
@@ -96,18 +99,22 @@ Forwarded: not-needed
 -    testFixturesCompile project(':internalIntegTesting')
 -    testCompile libraries.groovy
 -
--    // lots of integTest errors otherwise
--    integTestCompile project(':internalIntegTesting')
+-    // Need these to be loaded into the integTestRuntime, so that the modules are available on the classpath and the services can be registered
+-    // I think this is only really required for the TAPI tests in embedded mode, where we use `GradleConnector.useClasspathDistribution()`.
 -    integTestRuntime project(':ide')
 -    integTestRuntime project(':buildInit')
 -    integTestRuntime project(':buildComparison')
 -    integTestRuntime project(":ivy")
 -    integTestRuntime project(":maven")
+-    integTestRuntime project(":compositeBuilds")
 -
 -    integTestRuntime project(":toolingApiBuilders")
 -}
 -
 -useTestFixtures()
+-useTestFixtures(project: ":logging")
+-useTestFixtures(project: ':dependencyManagement')
+-useTestFixtures(project: ':ide')
 -
 -integTestTasks.all {
 -    dependsOn({ rootProject.getTasksByName('publishLocalArchives', true) }, ':distributions:binZip')
@@ -119,14 +126,18 @@ Forwarded: not-needed
 -    }
 -}
 -
+-parallelIntegTest {
+-    enabled = false //tooling integ tests use parallel settings, don't run
+-}
+-
 -daemonIntegTest {
 -    enabled = false //tooling integ tests use daemon anyway, don't rerun
  }
  
- task jarjarJar(type: JarJarJar) {
+ task shadedJar(type: ShadedJar) {
 --- a/subprojects/wrapper/wrapper.gradle
 +++ b/subprojects/wrapper/wrapper.gradle
-@@ -18,8 +18,6 @@
+@@ -22,8 +22,6 @@
  
      testCompile libraries.groovy
      testCompile libraries.ant
@@ -135,7 +146,7 @@ Forwarded: not-needed
  }
  
  task buildReceiptResource(type: Copy, dependsOn: rootProject.createBuildReceipt) {
-@@ -35,9 +33,5 @@
+@@ -39,9 +37,5 @@
      from configurations.runtime.allDependencies.withType(ProjectDependency).collect { it.dependencyProject.sourceSets.main.output }
  }
  
@@ -147,8 +158,8 @@ Forwarded: not-needed
  useClassycle()
 --- a/subprojects/scala/scala.gradle
 +++ b/subprojects/scala/scala.gradle
-@@ -24,12 +24,4 @@
- 
+@@ -26,12 +26,4 @@
+     compile project(":plugins")
  
      testCompile libraries.slf4j_api
 -
@@ -162,31 +173,44 @@ Forwarded: not-needed
  }
 --- a/settings.gradle
 +++ b/settings.gradle
-@@ -41,14 +41,10 @@
+@@ -45,16 +45,9 @@
  include 'toolingApi'
  include 'toolingApiBuilders'
  include 'docs'
 -include 'integTest'
- include 'sonar'
  include 'signing'
  include 'ear'
  include 'native'
 -include 'internalTesting'
 -include 'internalIntegTesting'
+-include 'internalPerformanceTesting'
+-include 'internalAndroidPerformanceTesting'
 -include 'performance'
+-include 'buildScanPerformance'
  include 'javascript'
  include 'buildComparison'
  include 'reporting'
+@@ -82,8 +75,6 @@
+ include 'platformPlay'
+ include 'testKit'
+ include 'installationBeacon'
+-include 'soak'
+-include 'smokeTest'
+ include 'compositeBuilds'
+ 
+ rootProject.name = 'gradle'
 --- a/subprojects/announce/announce.gradle
 +++ b/subprojects/announce/announce.gradle
-@@ -17,7 +17,6 @@
-     compile libraries.groovy
+@@ -18,7 +18,4 @@
      compile libraries.slf4j_api
      compile project(':core')
+     testCompile libraries.groovy
 -    integTestRuntime project(':plugins')
- }
- 
- useTestFixtures()
+-}
+-
+-useTestFixtures()
++}
+\ No newline at end of file
 --- a/subprojects/build-init/build-init.gradle
 +++ b/subprojects/build-init/build-init.gradle
 @@ -18,8 +18,6 @@
@@ -200,7 +224,7 @@ Forwarded: not-needed
  dependencies {
 --- a/subprojects/core/core.gradle
 +++ b/subprojects/core/core.gradle
-@@ -56,16 +56,6 @@
+@@ -58,16 +58,6 @@
  
      testRuntime libraries.xerces
      testRuntime project(":diagnostics")
@@ -219,7 +243,7 @@ Forwarded: not-needed
  useTestFixtures()
 --- a/subprojects/ivy/ivy.gradle
 +++ b/subprojects/ivy/ivy.gradle
-@@ -23,10 +23,6 @@
+@@ -24,10 +24,6 @@
      compile project(':dependencyManagement')
  
      testCompile libraries.groovy
@@ -232,7 +256,7 @@ Forwarded: not-needed
  useTestFixtures()
 --- a/subprojects/maven/maven.gradle
 +++ b/subprojects/maven/maven.gradle
-@@ -29,12 +29,6 @@
+@@ -30,12 +30,6 @@
      compile "org.codehaus.plexus:plexus-component-annotations-1.5:1.6 at jar"
  
      testCompile libraries.xmlunit
@@ -247,7 +271,9 @@ Forwarded: not-needed
  useTestFixtures()
 --- a/subprojects/open-api/open-api.gradle
 +++ b/subprojects/open-api/open-api.gradle
-@@ -1,7 +1 @@
+@@ -1,9 +1,3 @@
+ sourceCompatibility = javaVersion.java9Compatible ? 1.6 : 1.5
+ 
 -dependencies {
 -    integTestCompile libraries.groovy
 -    integTestCompile libraries.slf4j_api
@@ -269,7 +295,7 @@ Forwarded: not-needed
  useTestFixtures()
 --- a/subprojects/reporting/reporting.gradle
 +++ b/subprojects/reporting/reporting.gradle
-@@ -14,8 +14,6 @@
+@@ -16,8 +16,6 @@
      compile 'com.googlecode.jatl:jatl:0.2.2'
  
      testCompile libraries.jsoup
@@ -280,7 +306,7 @@ Forwarded: not-needed
  }
 --- a/subprojects/dependency-management/dependency-management.gradle
 +++ b/subprojects/dependency-management/dependency-management.gradle
-@@ -18,16 +18,6 @@
+@@ -22,16 +22,6 @@
      compile libraries.maven3
  
      testCompile libraries.groovy
@@ -296,10 +322,10 @@ Forwarded: not-needed
 -    testFixturesCompile project(":internalIntegTesting")
  }
  
- if (isWindows && javaVersion.java5) {
+ useTestFixtures()
 --- a/subprojects/diagnostics/diagnostics.gradle
 +++ b/subprojects/diagnostics/diagnostics.gradle
-@@ -20,10 +20,6 @@
+@@ -21,10 +21,6 @@
      compile project(':reporting')
      compile project(':platformBase')
      compile project(':dependencyManagement')
@@ -312,7 +338,7 @@ Forwarded: not-needed
  useTestFixtures()
 --- a/subprojects/model-core/model-core.gradle
 +++ b/subprojects/model-core/model-core.gradle
-@@ -30,12 +30,6 @@
+@@ -32,12 +32,6 @@
      compile libraries.asm
  
      testCompile libraries.groovy
@@ -342,7 +368,7 @@ Forwarded: not-needed
  useTestFixtures()
 --- a/subprojects/platform-jvm/platform-jvm.gradle
 +++ b/subprojects/platform-jvm/platform-jvm.gradle
-@@ -4,10 +4,6 @@
+@@ -6,10 +6,6 @@
      compile project(":diagnostics")
  
      testCompile libraries.groovy
@@ -368,7 +394,7 @@ Forwarded: not-needed
  useTestFixtures()
 --- a/subprojects/plugins/plugins.gradle
 +++ b/subprojects/plugins/plugins.gradle
-@@ -42,8 +42,6 @@
+@@ -44,8 +44,6 @@
      runtime libraries.commons_cli
  
      testCompile libraries.jsoup
@@ -390,7 +416,7 @@ Forwarded: not-needed
  useTestFixtures()
 --- a/subprojects/language-groovy/language-groovy.gradle
 +++ b/subprojects/language-groovy/language-groovy.gradle
-@@ -3,9 +3,6 @@
+@@ -8,9 +8,6 @@
      compile project(":languageJava")
  
      testCompile libraries.groovy
@@ -399,10 +425,10 @@ Forwarded: not-needed
 -    integTestRuntime project(':plugins')
  }
  
- useClassycle(exclude: ["org/gradle/api/internal/tasks/compile/**"])
+ useClassycle(exclude: ["org/gradle/api/internal/tasks/compile/**", "org/gradle/api/tasks/javadoc/**"])
 --- a/subprojects/language-java/language-java.gradle
 +++ b/subprojects/language-java/language-java.gradle
-@@ -3,9 +3,6 @@
+@@ -6,9 +6,6 @@
      compile project(":core")
      compile project(":platformJvm")
      compile project(":languageJvm")
@@ -414,7 +440,7 @@ Forwarded: not-needed
  // These public packages have classes that are tangled with the corresponding internal package.
 --- a/subprojects/language-jvm/language-jvm.gradle
 +++ b/subprojects/language-jvm/language-jvm.gradle
-@@ -5,8 +5,6 @@
+@@ -8,8 +8,6 @@
      testCompile libraries.groovy
  
      testRuntime project(":languageJava")
@@ -436,7 +462,7 @@ Forwarded: not-needed
  useTestFixtures()
 --- a/subprojects/platform-base/platform-base.gradle
 +++ b/subprojects/platform-base/platform-base.gradle
-@@ -2,7 +2,6 @@
+@@ -4,7 +4,6 @@
      compile libraries.groovy
      compile project(':core')
      compile project(':dependencyManagement')
@@ -446,11 +472,13 @@ Forwarded: not-needed
  //useClassycle(exclude: ['org.gradle.language.base.internal/**'])
 --- a/subprojects/platform-play/platform-play.gradle
 +++ b/subprojects/platform-play/platform-play.gradle
-@@ -7,17 +7,7 @@
+@@ -10,20 +10,7 @@
      compile project(":languageScala")
      compile project(":javascript")
      compile project(":diagnostics")
 -
+-    integTestRuntime project(":compositeBuilds")
+-    integTestRuntime project(":idePlay")
 -    testFixturesCompile project(":internalIntegTesting")
  }
  
@@ -459,6 +487,7 @@ Forwarded: not-needed
 -useTestFixtures(project: ":languageJava", sourceSet: 'integTest')
 -useTestFixtures(project: ':languageJvm', sourceSet: 'testFixtures')
 -useTestFixtures(project: ":launcher", sourceSet: 'testFixtures')
+-useTestFixtures(project: ":dependencyManagement")
 -useTestFixtures(project: ":diagnostics")
 -useTestFixtures(project: ':platformBase')
 -
@@ -466,7 +495,7 @@ Forwarded: not-needed
  strictCompile()
 --- a/gradle/buildSplits.gradle
 +++ b/gradle/buildSplits.gradle
-@@ -37,7 +37,7 @@
+@@ -117,7 +117,7 @@
  def uncoveredProjects = subprojects.collect { ":${it.name}" } - coveredProjects
  assert uncoveredProjects == [] : "The following projects should be added to a bucket: ${uncoveredProjects}"
  
@@ -475,7 +504,7 @@ Forwarded: not-needed
  
  //Make sure there are no duplicates between buckets
  for (int bucket : buckets.keySet().collect{it as int}) {
-@@ -79,13 +79,5 @@
+@@ -159,13 +159,5 @@
  }
  
  def String resolveTask(String projectPath, String task) {
@@ -492,25 +521,28 @@ Forwarded: not-needed
  }
 --- a/subprojects/launcher/launcher.gradle
 +++ b/subprojects/launcher/launcher.gradle
-@@ -16,14 +16,6 @@
+@@ -18,30 +18,9 @@
  
-     testCompile libraries.groovy
+     compile libraries.slf4j_api
  
+-    testCompile libraries.groovy
+-
 -    integTestCompile project(':internalIntegTesting')
 -    integTestRuntime project(':plugins')
 -
 -    testFixturesCompile project(':internalIntegTesting')
 -
 -    // Needed for testing debug command line option
--    testFixturesCompile files(Jvm.current().toolsJar)
+-    testFixturesCompile files(Jvm.current().toolsJar?:[])
 -
      startScriptGenerator project(':plugins')
  }
  
-@@ -31,12 +23,6 @@
- useTestFixtures(project: ':languageJava')
- useTestFixtures(project: ':messaging')
- 
+-useTestFixtures()
+-useTestFixtures(project: ':languageJava')
+-useTestFixtures(project: ':messaging')
+-useTestFixtures(project: ":logging")
+-
 -integTestTasks.all {
 -    if (isCiServer) {
 -        maxParallelForks = Math.min(3, rootProject.maxParallelForks)
@@ -520,7 +552,7 @@ Forwarded: not-needed
  jar {
      manifest.mainAttributes('Main-Class': "org.gradle.launcher.GradleMain")
      doFirst {
-@@ -85,11 +71,4 @@
+@@ -90,13 +69,6 @@
      }
  }
  
@@ -532,3 +564,76 @@ Forwarded: not-needed
 -}
 -
  useClassycle()
+ 
+ verifyTestFilesCleanup.errorWhenNotEmpty = false
+--- a/subprojects/logging/logging.gradle
++++ b/subprojects/logging/logging.gradle
+@@ -14,12 +14,8 @@
+     compile project(":messaging")
+     compile project(":cli")
+ 
+-    testCompile project(":internalTesting")
+-
+     runtime libraries.log4j_to_slf4j
+     runtime libraries.jcl_to_slf4j
+ }
+ 
+-useTestFixtures()
+-
+ useClassycle(exclude: ["org/gradle/internal/featurelifecycle/**"])
+--- a/subprojects/ide-play/ide-play.gradle
++++ b/subprojects/ide-play/ide-play.gradle
+@@ -19,13 +19,8 @@
+     compile project(':core')
+     compile project(":ide")
+     compile project(':platformPlay')
+-
+-    integTestRuntime project(':compositeBuilds')
+ }
+ 
+-useTestFixtures()
+-useTestFixtures(project: ":platformPlay")
+-useTestFixtures(project: ":ide")
+ useClassycle()
+ strictCompile()
+ 
+--- a/subprojects/task-cache-http/task-cache-http.gradle
++++ b/subprojects/task-cache-http/task-cache-http.gradle
+@@ -21,10 +21,7 @@
+     compile libraries.commons_httpclient
+ 
+     testCompile libraries.groovy
+-
+-    integTestCompile libraries.jetty
+ }
+ 
+-useTestFixtures()
+ useClassycle()
+ strictCompile()
+--- a/subprojects/composite-builds/composite-builds.gradle
++++ b/subprojects/composite-builds/composite-builds.gradle
+@@ -2,13 +2,6 @@
+     compile project(':core')
+     compile project(':dependencyManagement')
+     compile project(':launcher')
+-
+-    integTestRuntime project(":toolingApiBuilders")
+-    integTestRuntime project(":pluginDevelopment")
+-    integTestRuntime project(":testKit")
+ }
+ 
+-useTestFixtures(project: ':dependencyManagement')
+-useTestFixtures(project: ':ide')
+-
+ verifyTestFilesCleanup.errorWhenNotEmpty = false
+--- a/subprojects/test-kit/test-kit.gradle
++++ b/subprojects/test-kit/test-kit.gradle
+@@ -12,8 +12,6 @@
+     systemProperties['org.gradle.integtest.executer'] = 'forking'
+ }
+ 
+-crossVersionIntegTest.dependsOn testKitVersionCompatibilityIntegTest
+-
+ strictCompile()
+ useTestFixtures()
+ 
diff --git a/debian/patches/docs.diff b/debian/patches/docs.diff
index 532314e..832c78d 100644
--- a/debian/patches/docs.diff
+++ b/debian/patches/docs.diff
@@ -2,13 +2,13 @@ Description: Fix build of documentation to build everything using docbook-xsl,
              xalan2 and xhtmlrenderer from Debian
 Author: Miguel Landaeta <miguel at miguel.cc>
         Damien Raude-Morvan <drazzib at debian.org>
-        Kai-Chung Yan <seamlikok at gmail.com>
+        Kai-Chung Yan (殷啟聰)
 Forwarded: not-needed
-Last-Update: 2015-09-30
+Last-Update: 2016-10-20
 
 --- a/subprojects/docs/docs.gradle
 +++ b/subprojects/docs/docs.gradle
-@@ -31,8 +31,11 @@
+@@ -32,8 +32,11 @@
  apply plugin: 'javascript-base'
  
  repositories {
@@ -22,16 +22,16 @@ Last-Update: 2015-09-30
  }
  
  configurations {
-@@ -51,7 +54,7 @@
-     }
+@@ -52,7 +55,7 @@
      userGuideTask 'xslthl:xslthl:2.0.1 at jar'
+ 
      jquery "jquery:jquery.min:1.8.0 at js"
 -    jqueryTipTip "com.drewwilson.code:jquery.tipTip:1.3:minified at js"
 +    jqueryTipTip "com.drewwilson.code:jquery.tipTip:1.3:@js"
  
-     groovydocGroovy libraries.groovy
- 
-@@ -121,12 +124,7 @@
+     testCompile libraries.groovy
+     testCompile "org.pegdown:pegdown:1.1.0"
+@@ -118,12 +121,7 @@
          [it.name, it.bytes.encodeBase64().toString()]
      }
  
@@ -45,7 +45,7 @@ Last-Update: 2015-09-30
      css.inputs.property 'tokens', tokens
      css.filter ReplaceTokens, tokens: tokens
  }
-@@ -173,10 +171,6 @@
+@@ -171,10 +169,6 @@
          include '*.xsl'
      }
      from(cssFiles)
@@ -56,7 +56,7 @@ Last-Update: 2015-09-30
  }
  
  task samplesDocbook(type: AssembleSamplesDocTask) {
-@@ -300,8 +294,8 @@
+@@ -303,8 +297,8 @@
      classpath = configurations.userGuideTask
  }
  
@@ -67,7 +67,7 @@ Last-Update: 2015-09-30
  
  task javadocAll(type: Javadoc) {
      ext.stylesheetFile = file("src/docs/css/javadoc.css")
-@@ -343,8 +337,7 @@
+@@ -346,8 +340,7 @@
      include 'org/gradle/testkit/**'
      include 'org/gradle/testing/**'
      exclude '**/internal/**'
@@ -117,13 +117,6 @@ Last-Update: 2015-09-30
      <xsl:import href="userGuideHtmlCommon.xsl"/>
  
      <xsl:param name="root.filename">userguide</xsl:param>
-@@ -84,4 +84,4 @@
-         </div>
-     </xsl:template>
- 
--</xsl:stylesheet>
-\ No newline at end of file
-+</xsl:stylesheet>
 --- a/subprojects/docs/src/docs/stylesheets/userGuideHtmlCommon.xsl
 +++ b/subprojects/docs/src/docs/stylesheets/userGuideHtmlCommon.xsl
 @@ -16,8 +16,8 @@
@@ -157,16 +150,15 @@ Last-Update: 2015-09-30
 +</xsl:stylesheet>
 --- a/subprojects/docs/src/docs/stylesheets/userGuideSingleHtml.xsl
 +++ b/subprojects/docs/src/docs/stylesheets/userGuideSingleHtml.xsl
-@@ -15,6 +15,6 @@
+@@ -15,7 +15,7 @@
    -->
  <xsl:stylesheet
          xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
 -    <xsl:import href="html/docbook.xsl"/>
 +    <xsl:import href="/usr/share/xml/docbook/stylesheet/docbook-xsl/html/docbook.xsl"/>
      <xsl:import href="userGuideHtmlCommon.xsl"/>
--</xsl:stylesheet>
-\ No newline at end of file
-+</xsl:stylesheet>
+ 
+     <!--
 --- a/subprojects/docs/src/transforms/release-notes.gradle
 +++ b/subprojects/docs/src/transforms/release-notes.gradle
 @@ -1,6 +1,7 @@
diff --git a/debian/patches/drop_http-builder.patch b/debian/patches/drop_http-builder.patch
new file mode 100644
index 0000000..1c890ef
--- /dev/null
+++ b/debian/patches/drop_http-builder.patch
@@ -0,0 +1,151 @@
+Description: http-builder is not in Debian yet
+Author: Kai-Chung Yan (殷啟聰)
+Last-Update: 2016-10-28
+--- a/buildSrc/build.gradle
++++ b/buildSrc/build.gradle
+@@ -31,10 +31,6 @@
+     compile 'com.google.guava:guava:14.0.1 at jar'
+     compile 'commons-lang:commons-lang:2.6 at jar'
+     compile localGroovy()
+-    compile('org.codehaus.groovy.modules.http-builder:http-builder:0.7.2') {
+-        exclude(module: 'groovy')
+-        exclude(module: 'xercesImpl')
+-    }
+     testCompile 'junit:junit:4.x at jar'
+     testCompile 'org.spockframework:spock-core:1.0-groovy-2.4 at jar', 'cglib:cglib-nodep:2.2', 'org.objenesis:objenesis:1.2'
+     testCompile 'org.hamcrest:hamcrest-core:1.3'
+--- a/buildSrc/src/main/groovy/org/gradle/testing/DistributedPerformanceTest.groovy
++++ b/buildSrc/src/main/groovy/org/gradle/testing/DistributedPerformanceTest.groovy
+@@ -22,8 +22,6 @@
+ import groovy.transform.TypeChecked
+ import groovy.transform.TypeCheckingMode
+ import groovy.xml.XmlUtil
+-import groovyx.net.http.ContentType
+-import groovyx.net.http.RESTClient
+ import org.gradle.api.GradleException
+ import org.gradle.api.tasks.Input
+ import org.gradle.api.tasks.Optional
+@@ -69,7 +67,7 @@
+     @OutputFile
+     File scenarioReport
+ 
+-    RESTClient client
++    GroovyObject client
+ 
+     List<String> scheduledBuilds = Lists.newArrayList()
+ 
+@@ -137,36 +135,7 @@
+ 
+     @TypeChecked(TypeCheckingMode.SKIP)
+     private void schedule(Scenario scenario, String lastChangeId) {
+-        def buildRequest = """
+-                <build>
+-                    <buildType id="${buildTypeId}"/>
+-                    <properties>
+-                        <property name="scenario" value="${scenario.id}"/>
+-                        <property name="templates" value="${scenario.templates.join(' ')}"/>
+-                        <property name="baselines" value="${baselines?:'defaults'}"/>
+-                        <property name="warmups" value="${warmups!=null?:'defaults'}"/>
+-                        <property name="runs" value="${runs!=null?:'defaults'}"/>
+-                        <property name="checks" value="${checks?:'all'}"/>
+-                        <property name="channel" value="${channel?:'commits'}"/>
+-                    </properties>
+-                    ${renderLastChange(lastChangeId)}
+-                </build>
+-            """
+-        logger.info("Scheduling $scenario.id, estimated runtime: $scenario.estimatedRuntime, coordinatorBuildId: $coordinatorBuildId, lastChangeId: $lastChangeId, build request: $buildRequest")
+-        def response = client.post(
+-            path: "buildQueue",
+-            requestContentType: ContentType.XML,
+-            body: buildRequest
+-        )
+-        if (!response.success) {
+-            throw new RuntimeException("Cannot schedule build job. build request: $buildRequest\nresponse: ${xmlToString(response.data)}")
+-        }
+-        def workerBuildId = response.data. at id
+-        def scheduledChangeId = findLastChangeIdInXml(response.data)
+-        if (lastChangeId && scheduledChangeId != lastChangeId) {
+-            throw new RuntimeException("The requested change id is different than the actual one. requested change id: $lastChangeId in coordinatorBuildId: $coordinatorBuildId , actual change id: $scheduledChangeId in workerBuildId: $workerBuildId\nresponse: ${xmlToString(response.data)}")
+-        }
+-        scheduledBuilds += workerBuildId
++        throw new GradleException('Groovy HTTPBuilder not available in Debian')
+     }
+ 
+     @TypeChecked(TypeCheckingMode.SKIP)
+@@ -195,13 +164,7 @@
+ 
+     @TypeChecked(TypeCheckingMode.SKIP)
+     private String resolveLastChangeId() {
+-        if (coordinatorBuildId) {
+-            def response = client.get(path: "builds/id:$coordinatorBuildId")
+-            if (response.success) {
+-                return findLastChangeIdInXml(response.data)
+-            }
+-        }
+-        return null
++        throw new GradleException('Groovy HTTPBuilder not available in Debian')
+     }
+ 
+     @TypeChecked(TypeCheckingMode.SKIP)
+@@ -211,46 +174,12 @@
+ 
+     @TypeChecked(TypeCheckingMode.SKIP)
+     private void join(String jobId) {
+-        def finished = false
+-        def response
+-        while (!finished) {
+-            response = client.get(path: "builds/id:$jobId")
+-            finished = response.data. at state == "finished"
+-            if (!finished) {
+-                sleep(TimeUnit.MINUTES.toMillis(1))
+-            }
+-        }
+-        finishedBuilds += response.data
+-
+-        try {
+-            testResultFilesForBuild.put(jobId, fetchTestResults(jobId, response.data))
+-        } catch (e) {
+-            e.printStackTrace(System.err)
+-        }
++        throw new GradleException('Groovy HTTPBuilder not available in Debian')
+     }
+ 
+     @TypeChecked(TypeCheckingMode.SKIP)
+     private def fetchTestResults(String jobId, buildData) {
+-        def unzippedFiles = []
+-        def artifactsUri = buildData?.artifacts?. at href?.text()
+-        if (artifactsUri) {
+-            def resultArtifacts = client.get(path: "${artifactsUri}/results/${project.name}/build/")
+-            if (resultArtifacts.success) {
+-                def zipName = "test-results-${workerTestTaskName}.zip".toString()
+-                def fileNode = resultArtifacts.data.file.find {
+-                    it. at name.text() == zipName
+-                }
+-                if (fileNode) {
+-                    def resultsDirectory = new File(workerTestResultsTempDir, jobId)
+-                    def contentUri = fileNode.content. at href.text()
+-                    client.get(path: contentUri, contentType: ContentType.BINARY) {
+-                        resp, inputStream ->
+-                            unzippedFiles = unzipToDirectory(inputStream, resultsDirectory)
+-                    }
+-                }
+-            }
+-        }
+-        unzippedFiles
++        throw new GradleException('Groovy HTTPBuilder not available in Debian')
+     }
+ 
+     @TypeChecked(TypeCheckingMode.SKIP)
+@@ -288,10 +217,8 @@
+         }
+     }
+ 
+-    private RESTClient createClient() {
+-        client = new RESTClient("$teamCityUrl/httpAuth/app/rest/")
+-        client.auth.basic(teamCityUsername, teamCityPassword)
+-        client
++    private GroovyObject createClient() {
++        throw new GradleException('Groovy HTTPBuilder not available in Debian')
+     }
+ 
+ 
diff --git a/debian/patches/eclipse-aether.diff b/debian/patches/eclipse-aether.diff
index 80832ad..3aaf1f6 100644
--- a/debian/patches/eclipse-aether.diff
+++ b/debian/patches/eclipse-aether.diff
@@ -1,11 +1,11 @@
 Description: Maven module originally uses aether which is deprecated. This
              patch changes it to use eclipse-aether.
-Author: Kai-Chung Yan <seamlikok at gmail.com>
-Last-Update: 2015-09-30
+Author: Kai-Chung Yan (殷啟聰)
+Last-Update: 2016-10-20
 Forwarded: no
 --- a/gradle/dependencies.gradle
 +++ b/gradle/dependencies.gradle
-@@ -131,11 +131,11 @@
+@@ -132,11 +132,11 @@
      dependency 'org.apache.maven.wagon:wagon-http-shared-2.x:2.x at jar'
  
      //eather:
@@ -22,8 +22,8 @@ Forwarded: no
  }
  
  libraries.spock = [
---- a/subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/action/SnapshotVersionManager.java
-+++ b/subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/action/SnapshotVersionManager.java
+--- a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/SnapshotVersionManager.java
++++ b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/SnapshotVersionManager.java
 @@ -16,13 +16,13 @@
  
  package org.gradle.api.publication.maven.internal.action;
@@ -56,8 +56,8 @@ Forwarded: no
      }
  
      @Override
---- a/subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/action/MavenDeployAction.java
-+++ b/subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/action/MavenDeployAction.java
+--- a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/MavenDeployAction.java
++++ b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/MavenDeployAction.java
 @@ -19,14 +19,14 @@
  import org.gradle.api.GradleException;
  import org.slf4j.Logger;
@@ -123,8 +123,8 @@ Forwarded: no
 +        return repo.build();
      }
  }
---- a/subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/action/MavenInstallAction.java
-+++ b/subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/action/MavenInstallAction.java
+--- a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/MavenInstallAction.java
++++ b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/MavenInstallAction.java
 @@ -15,11 +15,11 @@
   */
  package org.gradle.api.publication.maven.internal.action;
@@ -142,8 +142,8 @@ Forwarded: no
  
  import java.io.File;
  import java.util.Collection;
---- a/subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/action/AbstractMavenPublishAction.java
-+++ b/subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/action/AbstractMavenPublishAction.java
+--- a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/AbstractMavenPublishAction.java
++++ b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/AbstractMavenPublishAction.java
 @@ -18,7 +18,7 @@
  
  import org.apache.maven.model.Model;
@@ -213,8 +213,8 @@ Forwarded: no
              deployer.addMetadataGeneratorFactory(new VersionsMetadataGeneratorFactory());
              deployer.addMetadataGeneratorFactory(new SnapshotMetadataGeneratorFactory());
              deployer.addMetadataGeneratorFactory(snapshotVersionManager);
---- a/subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/action/LoggingMavenTransferListener.java
-+++ b/subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/action/LoggingMavenTransferListener.java
+--- a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/LoggingMavenTransferListener.java
++++ b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/LoggingMavenTransferListener.java
 @@ -18,9 +18,9 @@
  
  import org.slf4j.Logger;
diff --git a/debian/patches/generate_pom.diff b/debian/patches/generate_pom.diff
index dc0903b..0701ef7 100644
--- a/debian/patches/generate_pom.diff
+++ b/debian/patches/generate_pom.diff
@@ -2,12 +2,12 @@ Description:
  By default Gradle won't generate POMs for itself. generate_pom.gradle makes
  Gradle auto generate POMs for all of the JARs so that we can install the
  POMs to /usr/share/maven-repo
-Author: Kai-Chung Yan <seamlikok at gmail.com>
+Author: Kai-Chung Yan (殷啟聰)
 Last-Updtae: 2016-09-08
 Forwarded: not-needed
 --- a/build.gradle
 +++ b/build.gradle
-@@ -192,6 +192,7 @@
+@@ -225,6 +225,7 @@
          apply from: "$rootDir/gradle/java9.gradle"
          check.dependsOn ":docs:checkstyleApi"
          check.dependsOn "codeQuality"
diff --git a/debian/patches/groovy-jar.patch b/debian/patches/groovy-jar.patch
index b9229fe..b4b5f14 100644
--- a/debian/patches/groovy-jar.patch
+++ b/debian/patches/groovy-jar.patch
@@ -22,11 +22,11 @@ Description: Tweaks the Groovy classpath detection logic to recognize the groovy
      public boolean isGroovyAll() {
 --- a/gradle/groovyProject.gradle
 +++ b/gradle/groovyProject.gradle
-@@ -105,6 +105,7 @@
+@@ -84,6 +84,7 @@
          properties.runtime = input.fileCollection {
              (it instanceof ExternalDependency) || (it instanceof FileCollectionDependency)
          }.collect { it.name }.join(',')
-+        properties.runtime = properties.runtime.replaceAll("groovy-all-[\\d\\.]+.jar", "groovy-all.jar");
-         properties.projects = input.allDependencies.withType(ProjectDependency).collect { it.dependencyProject.archivesBaseName }.join(',')
-         return properties
-     }
++        properties.runtime = properties.runtime.replaceAll('groovy-all-[\\d\\.]+.jar', 'groovy-all.jar');
+         properties.projects = input.allDependencies.withType(ProjectDependency).collect {
+             it.dependencyProject.archivesBaseName
+         }.join(',')
diff --git a/debian/patches/ivy-2.4.0.patch b/debian/patches/ivy-2.4.0.patch
index acf3345..8920b40 100644
--- a/debian/patches/ivy-2.4.0.patch
+++ b/debian/patches/ivy-2.4.0.patch
@@ -14,7 +14,7 @@ Forwarded: no
 
 --- a/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/ivyresolve/parser/IvyXmlModuleDescriptorParser.java
 +++ b/subprojects/dependency-management/src/main/java/org/gradle/api/internal/artifacts/ivyservice/ivyresolve/parser/IvyXmlModuleDescriptorParser.java
-@@ -1135,7 +1135,7 @@
+@@ -1183,7 +1183,7 @@
                  buffer = null;
                  state = State.INFO;
              } else if (state == State.EXTRA_INFO) {
@@ -23,26 +23,3 @@ Forwarded: no
                  buffer = null;
                  state = State.INFO;
              } else if (state == State.DESCRIPTION) {
---- a/subprojects/dependency-management/src/main/java/org/gradle/internal/component/external/model/DefaultIvyModuleResolveMetaData.java
-+++ b/subprojects/dependency-management/src/main/java/org/gradle/internal/component/external/model/DefaultIvyModuleResolveMetaData.java
-@@ -31,17 +31,17 @@
- 
-     public DefaultIvyModuleResolveMetaData(ModuleDescriptor moduleDescriptor) {
-         super(moduleDescriptor);
--        this.extraInfo = moduleDescriptor.getExtraInfo();
-+        this.extraInfo = (Map)moduleDescriptor.getExtraInfo();
-     }
- 
-     public DefaultIvyModuleResolveMetaData(ModuleComponentIdentifier componentIdentifier, ModuleDescriptor moduleDescriptor) {
-         super(DefaultModuleVersionIdentifier.newId(componentIdentifier), moduleDescriptor, componentIdentifier);
--        this.extraInfo = moduleDescriptor.getExtraInfo();
-+        this.extraInfo = (Map)moduleDescriptor.getExtraInfo();
-     }
- 
-     private DefaultIvyModuleResolveMetaData(ModuleVersionIdentifier identifier, ModuleDescriptor moduleDescriptor, ModuleComponentIdentifier componentIdentifier) {
-         super(identifier, moduleDescriptor, componentIdentifier);
--        this.extraInfo = moduleDescriptor.getExtraInfo();
-+        this.extraInfo = (Map)moduleDescriptor.getExtraInfo();
-     }
- 
-     public DefaultIvyModuleResolveMetaData(ModuleComponentIdentifier componentIdentifier, Set<IvyArtifactName> artifacts) {
diff --git a/debian/patches/jcommander.diff b/debian/patches/jcommander.diff
index fcea1c0..7515c5a 100644
--- a/debian/patches/jcommander.diff
+++ b/debian/patches/jcommander.diff
@@ -4,7 +4,7 @@ Last-Update: 2016-09-08
 Forwarded: not-needed
 --- a/subprojects/maven/maven.gradle
 +++ b/subprojects/maven/maven.gradle
-@@ -29,6 +29,8 @@
+@@ -30,6 +30,8 @@
      compile "org.codehaus.plexus:plexus-component-annotations-1.5:1.6 at jar"
  
      testCompile libraries.xmlunit
@@ -25,7 +25,7 @@ Forwarded: not-needed
  useTestFixtures()
 --- a/subprojects/tooling-api-builders/tooling-api-builders.gradle
 +++ b/subprojects/tooling-api-builders/tooling-api-builders.gradle
-@@ -2,6 +2,7 @@
+@@ -3,6 +3,7 @@
      compile project(':testingJvm')
      compile project(':launcher')
      compile project(':toolingApi')
@@ -35,7 +35,7 @@ Forwarded: not-needed
  useClassycle()
 --- a/subprojects/plugins/plugins.gradle
 +++ b/subprojects/plugins/plugins.gradle
-@@ -38,6 +38,7 @@
+@@ -40,6 +40,7 @@
      compile libraries.commons_io
      compile libraries.commons_lang
      compile libraries.slf4j_api
diff --git a/debian/patches/maven-3.3-compatibility.patch b/debian/patches/maven-3.3-compatibility.patch
index eb7d4b4..91bc00c 100644
--- a/debian/patches/maven-3.3-compatibility.patch
+++ b/debian/patches/maven-3.3-compatibility.patch
@@ -3,7 +3,7 @@ Author: Emmanuel Bourg <ebourg at apache.org>
 Forwarded: no
 --- a/gradle/dependencies.gradle
 +++ b/gradle/dependencies.gradle
-@@ -106,9 +106,15 @@
+@@ -107,9 +107,15 @@
      dependency "org.codehaus.plexus:plexus-utils:2.0.6 at jar"
      dependency "org.codehaus.plexus:plexus-interpolation:1.14 at jar"
      dependency "org.codehaus.plexus:plexus-component-annotations-1.5:1.6 at jar"
@@ -20,7 +20,7 @@ Forwarded: no
      //sonatype plexus
      dependency "org.sonatype.plexus:plexus-cipher:1.7 at jar"
      dependency "org.sonatype.plexus:plexus-sec-dispatcher:1.3 at jar"
-@@ -118,6 +124,7 @@
+@@ -119,6 +125,7 @@
      dependency "org.apache.maven:maven-compat-3.x:3.x at jar"
      dependency "org.apache.maven:maven-model-builder-3.x:3.x at jar"
      dependency "org.apache.maven:maven-model-3.x:3.x at jar"
@@ -28,7 +28,7 @@ Forwarded: no
  
      //somewhat core:
      dependency "org.apache.maven:maven-artifact-3.x:3.x at jar"
-@@ -136,6 +143,8 @@
+@@ -137,6 +144,8 @@
      dependency 'org.eclipse.aether:eclipse-aether-spi:1.13.1 at jar'
      dependency 'org.eclipse.aether:eclipse-aether-util:1.13.1 at jar'
      dependency 'org.eclipse.aether:eclipse-aether-connector-basic:1.13.1 at jar'
@@ -37,8 +37,8 @@ Forwarded: no
  }
  
  libraries.spock = [
---- a/subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/action/AbstractMavenPublishAction.java
-+++ b/subprojects/maven/src/main/groovy/org/gradle/api/publication/maven/internal/action/AbstractMavenPublishAction.java
+--- a/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/AbstractMavenPublishAction.java
++++ b/subprojects/maven/src/main/java/org/gradle/api/publication/maven/internal/action/AbstractMavenPublishAction.java
 @@ -115,7 +115,7 @@
                      classRealm.addURL(jar.toURI().toURL());
                  }
diff --git a/debian/patches/nekohtml.diff b/debian/patches/nekohtml.diff
index 94d52a7..371f868 100644
--- a/debian/patches/nekohtml.diff
+++ b/debian/patches/nekohtml.diff
@@ -1,10 +1,10 @@
 Description: The usage of nekohtml APIs must comes with xerces.
-Author: Kai-Chung Yan <seamlikok at gmail.com>
+Author: Kai-Chung Yan (殷啟聰)
 Last-Update: 2015-07-03
 Forwarded: no
 --- a/gradle/dependencies.gradle
 +++ b/gradle/dependencies.gradle
-@@ -96,6 +96,8 @@
+@@ -97,6 +97,8 @@
          jsoup:'org.jsoup:jsoup:1.6.3'
  ]
  
diff --git a/debian/patches/new_APIs_in_3.0.patch b/debian/patches/new_APIs_in_3.0.patch
new file mode 100644
index 0000000..c15c704
--- /dev/null
+++ b/debian/patches/new_APIs_in_3.0.patch
@@ -0,0 +1,17 @@
+Description: buildSrc uses new APIs in Gradle 3.1
+ This workaround consists of:
+   * Add some new Java files to buildSrc's source files
+   * buildSrc links to gradle-core.jar
+ This patch should be safe to remove once Gradle is updated to 3.1
+Author: Kai-Chung Yan (殷啟聰)
+Last-Update: 2016-10-28
+--- a/buildSrc/build.gradle
++++ b/buildSrc/build.gradle
+@@ -37,6 +37,7 @@
+ 
+     compile "org.pegdown:pegdown:1.6.0"
+     compile "org.jsoup:jsoup:1.6.3"
++    compile files('/usr/share/java/gradle-core.jar')
+ }
+ 
+ apply from: '../gradle/compile.gradle'
diff --git a/debian/patches/relax_warnings.diff b/debian/patches/relax_warnings.diff
index 59306e1..fef5f76 100644
--- a/debian/patches/relax_warnings.diff
+++ b/debian/patches/relax_warnings.diff
@@ -1,6 +1,6 @@
 Description: resource-http produces lots of warnings and "-Werror" makes them
              errors.
-Author: Kai-Chung Yan <seamlikok at gmail.com>
+Author: Kai-Chung Yan (殷啟聰)
 Last-Update: 2015-07-03
 --- a/gradle/strictCompile.gradle
 +++ b/gradle/strictCompile.gradle
diff --git a/debian/patches/removeTimestampInManifest.patch b/debian/patches/removeTimestampInManifest.patch
index e28e65d..5ad61f7 100644
--- a/debian/patches/removeTimestampInManifest.patch
+++ b/debian/patches/removeTimestampInManifest.patch
@@ -1,5 +1,5 @@
 Author: Kai-Chung Yan (殷啟聰)
-Last-Update: 2016-09-08
+Last-Update: 2016-10-20
 Forwarded: no
 Description: Remove timetamps in manefest files
  java.util.Properties writes timestamps to the output file but this feature
@@ -8,35 +8,6 @@ Description: Remove timetamps in manefest files
  .
  This patch also manually sets the timestamps and other dynamic strings that
  breaks the reproducibility.
---- a/gradle/groovyProject.gradle
-+++ b/gradle/groovyProject.gradle
-@@ -112,7 +112,12 @@
- 
-     @TaskAction
-     def generate() {
--        manifestFile.withOutputStream { properties.save(it, 'module definition') }
-+        manifestFile.withPrintWriter {
-+            def prop = properties
-+            it.println '# module definition'
-+            it.println "projects=${prop.projects}"
-+            it.println "runtime=${prop.runtime}"
-+        }
-     }
- }
- 
---- a/subprojects/core/core.gradle
-+++ b/subprojects/core/core.gradle
-@@ -93,6 +93,9 @@
- 
-     @TaskAction
-     def generate() {
--        propertiesFile.withOutputStream { pluginProperties.save(it, 'plugin definitions') }
-+        propertiesFile.withPrintWriter {
-+            it.println '# plugin definitions'
-+            it.println "plugins=${pluginProperties.plugins}"
-+        }
-     }
- }
 --- a/gradle/buildReceipt.gradle
 +++ b/gradle/buildReceipt.gradle
 @@ -105,7 +105,7 @@
@@ -46,30 +17,19 @@ Description: Remove timetamps in manefest files
 -task createBuildReceipt(dependsOn: determineCommitId) {
 +task createBuildReceipt() {
      ext.receiptFile = file("$buildDir/$buildReceiptFileName")
+     inputs.property "version", { version }
+     inputs.property "versionBase", { versionBase }
+@@ -115,11 +115,11 @@
      outputs.file receiptFile
-     outputs.upToDateWhen { false }
-@@ -127,18 +127,18 @@
-             }
-         }
+     doLast {
          def data = [
--                commitId: determineCommitId.commitId,
+-                commitId: devBuild ? "HEAD" : determineCommitId.commitId,
 +                commitId: 'none',
                  versionNumber: version,
                  versionBase: versionBase,
                  isSnapshot: isSnapshot,
-                 rcNumber: rcNumber == null ? "" : rcNumber,
 -                buildTimestamp: buildTimestamp,
--                buildNumber: System.properties["build.number"] ?: 'none',
--                username: System.properties["user.name"],
--                hostname: hostName,
 +                buildTimestamp: '20121221000000+0000',
-+                buildNumber: 'none',
-+                username: 'debian',
-+                hostname: 'debian',
-                 javaVersion: System.properties["java.version"],
-                 osName: System.properties["os.name"],
--                osVersion: System.properties["os.version"],
-+                osVersion: 'none',
-                 project: 'gradle'
          ]
  
+         receiptFile.parentFile.mkdirs()
diff --git a/debian/patches/search_system_jar.diff b/debian/patches/search_system_jar.diff
index d4744cf..959fcd4 100644
--- a/debian/patches/search_system_jar.diff
+++ b/debian/patches/search_system_jar.diff
@@ -4,10 +4,10 @@ Description: Gradle searches its own directory for Java libraries ignoring
              issues, and the large amount of symlinks in the binary packages
              may be possible to remove. Maintaining so many symlinks is too
              error prone.
-Author: Kai-Chung Yan <seamlikok at gmail.com>
-Last-Update: 2015-09-30
---- a/subprojects/core/src/main/groovy/org/gradle/internal/installation/CurrentGradleInstallationLocator.java
-+++ b/subprojects/core/src/main/groovy/org/gradle/internal/installation/CurrentGradleInstallationLocator.java
+Author: Kai-Chung Yan (殷啟聰)
+Last-Update: 2016-10-20
+--- a/subprojects/core/src/main/java/org/gradle/internal/installation/CurrentGradleInstallationLocator.java
++++ b/subprojects/core/src/main/java/org/gradle/internal/installation/CurrentGradleInstallationLocator.java
 @@ -51,13 +51,7 @@
      }
  
@@ -23,8 +23,8 @@ Last-Update: 2015-09-30
      }
  
      /**
---- a/subprojects/core/src/main/groovy/org/gradle/internal/installation/GradleInstallation.java
-+++ b/subprojects/core/src/main/groovy/org/gradle/internal/installation/GradleInstallation.java
+--- a/subprojects/core/src/main/java/org/gradle/internal/installation/GradleInstallation.java
++++ b/subprojects/core/src/main/java/org/gradle/internal/installation/GradleInstallation.java
 @@ -49,6 +49,7 @@
      private static List<File> findLibDirs(File dir) {
          List<File> libDirAndSubdirs = new ArrayList<File>();
diff --git a/debian/patches/series b/debian/patches/series
index 3d22f8a..31af463 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,7 +3,6 @@ use_local_artifacts.diff
 33_scala_zinc.diff
 disable_tests.diff
 docs.diff
-disable_sonar.diff
 search_system_jar.diff
 disable_aws.diff
 jcommander.diff
@@ -16,3 +15,9 @@ maven-3.3-compatibility.patch
 groovy-jar.patch
 upgrade-to-jetty9.patch
 removeTimestampInManifest.patch
+drop_http-builder.patch
+new_APIs_in_3.0.patch
+disable_Kotlin.patch
+disable_buildSrc_tests.patch
+dependency-management_depends_on_testkit.patch
+Groovy_projects_depends_on_localGroovy.patch
diff --git a/debian/patches/upgrade-to-jetty9.patch b/debian/patches/upgrade-to-jetty9.patch
index 76cc428..ed6df88 100644
--- a/debian/patches/upgrade-to-jetty9.patch
+++ b/debian/patches/upgrade-to-jetty9.patch
@@ -62,10 +62,10 @@ Forwarded: no
 +useTestFixtures()
 --- a/subprojects/jetty/src/main/java/org/gradle/api/plugins/jetty/AbstractJettyRunTask.java
 +++ b/subprojects/jetty/src/main/java/org/gradle/api/plugins/jetty/AbstractJettyRunTask.java
-@@ -29,11 +29,11 @@
+@@ -31,11 +31,11 @@
  import org.gradle.internal.classpath.DefaultClassPath;
- import org.gradle.logging.ProgressLogger;
- import org.gradle.logging.ProgressLoggerFactory;
+ import org.gradle.internal.logging.progress.ProgressLogger;
+ import org.gradle.internal.logging.progress.ProgressLoggerFactory;
 -import org.mortbay.jetty.Connector;
 -import org.mortbay.jetty.RequestLog;
 -import org.mortbay.jetty.Server;
@@ -79,7 +79,7 @@ Forwarded: no
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  
-@@ -110,7 +110,7 @@
+@@ -115,7 +115,7 @@
      /**
       * List of security realms to set up. Optional.
       */
@@ -88,7 +88,7 @@ Forwarded: no
  
      /**
       * A RequestLog implementation to use for the webapp at runtime. Optional.
-@@ -313,7 +313,7 @@
+@@ -321,7 +321,7 @@
      /**
       * Run a scanner thread on the given list of files and directories, calling stop/start on the given list of LifeCycle objects if any of the watched files change.
       */
@@ -97,10 +97,10 @@ Forwarded: no
  
          // check if scanning is enabled
          if (getScanIntervalSeconds() <= 0) {
-@@ -536,11 +536,11 @@
-         this.connectors = connectors;
+@@ -554,11 +554,11 @@
      }
  
+     @Internal
 -    public UserRealm[] getUserRealms() {
 +    public LoginService[] getUserRealms() {
          return userRealms;
@@ -113,10 +113,10 @@ Forwarded: no
  
 --- a/subprojects/jetty/src/main/java/org/gradle/api/plugins/jetty/JettyRun.java
 +++ b/subprojects/jetty/src/main/java/org/gradle/api/plugins/jetty/JettyRun.java
-@@ -26,15 +26,15 @@
- import org.gradle.api.tasks.InputFile;
- import org.gradle.api.tasks.InputFiles;
+@@ -28,15 +28,15 @@
+ import org.gradle.api.tasks.Internal;
  import org.gradle.api.tasks.Optional;
+ import org.gradle.api.tasks.OrderSensitive;
 -import org.mortbay.jetty.Handler;
 -import org.mortbay.jetty.Server;
 -import org.mortbay.jetty.handler.ContextHandler;
@@ -151,7 +151,7 @@ Forwarded: no
  import org.slf4j.Logger;
  import org.slf4j.LoggerFactory;
  import org.gradle.api.tasks.InputFile;
-@@ -51,7 +51,7 @@
+@@ -54,7 +54,7 @@
      }
  
      /* (non-Javadoc)
@@ -199,7 +199,7 @@ Forwarded: no
 @@ -39,6 +42,7 @@
  
      public static final int DEFAULT_MAX_IDLE_TIME = 30000;
-     private Server server;
+     private final Server server;
 +    private List<LoginService> loginServices;
      private ContextHandlerCollection contexts; //the list of ContextHandlers
      HandlerCollection handlers; //the list of lists of Handlers
@@ -234,7 +234,7 @@ Forwarded: no
      }
  
      public void setRequestLog(Object requestLog) {
-@@ -151,9 +157,9 @@
+@@ -156,9 +162,9 @@
      }
  
      public Object createDefaultConnector(int port) throws Exception {
@@ -248,17 +248,9 @@ Forwarded: no
      }
 --- a/subprojects/jetty/src/main/java/org/gradle/api/plugins/jetty/internal/JettyConfiguration.java
 +++ b/subprojects/jetty/src/main/java/org/gradle/api/plugins/jetty/internal/JettyConfiguration.java
-@@ -17,28 +17,22 @@
- package org.gradle.api.plugins.jetty.internal;
+@@ -16,29 +16,23 @@
  
- import java.io.File;
--import java.io.IOException;
--import java.lang.reflect.Method;
--import java.net.URL;
- import java.net.URLClassLoader;
--import java.util.Iterator;
- import java.util.List;
-+import java.util.Arrays;
+ package org.gradle.api.plugins.jetty.internal;
  
 -import org.mortbay.jetty.plus.annotation.InjectionCollection;
 -import org.mortbay.jetty.plus.annotation.LifeCycleCallbackCollection;
@@ -266,8 +258,8 @@ Forwarded: no
 -import org.mortbay.jetty.plus.webapp.Configuration;
 -import org.mortbay.jetty.servlet.FilterHolder;
 -import org.mortbay.jetty.servlet.ServletHolder;
--import org.mortbay.jetty.webapp.WebAppContext;
 -import org.mortbay.jetty.webapp.WebAppClassLoader;
+-import org.mortbay.jetty.webapp.WebAppContext;
 -import org.mortbay.log.Log;
 -import org.mortbay.util.LazyList;
 +import org.eclipse.jetty.webapp.WebAppContext;
@@ -276,6 +268,15 @@ Forwarded: no
 +import org.eclipse.jetty.util.log.Log;
 +import org.eclipse.jetty.util.log.Logger;
  
+ import java.io.File;
+-import java.io.IOException;
+-import java.lang.reflect.Method;
+-import java.net.URL;
+ import java.net.URLClassLoader;
+-import java.util.Iterator;
+ import java.util.List;
++import java.util.Arrays;
+ 
 -public class JettyConfiguration extends Configuration {
 +public class JettyConfiguration extends WebXmlConfiguration {
      private List<File> classPathFiles;
@@ -286,7 +287,7 @@ Forwarded: no
      public JettyConfiguration() {
          super();
      }
-@@ -54,84 +48,25 @@
+@@ -54,85 +48,19 @@
      /**
       * Set up the classloader for the webapp, using the various parts of the Maven project
       *
@@ -306,7 +307,7 @@ Forwarded: no
 +                ((WebAppClassLoader) context.getClassLoader()).addClassPath(
                          classPathFile.getCanonicalPath());
              }
- 
+-
 -            if (Log.isDebugEnabled()) {
 -                Log.debug("Classpath = " + LazyList.array2List(
 -                        ((URLClassLoader) getWebAppContext().getClassLoader()).getURLs()));
@@ -338,7 +339,7 @@ Forwarded: no
 -        int major = Integer.parseInt(version[0]);
 -        int minor = Integer.parseInt(version[1]);
 -        if ((major >= 1) && (minor >= 5)) {
--            //TODO it would be nice to be able to re-use the parseAnnotations() method on 
+-            //TODO it would be nice to be able to re-use the parseAnnotations() method on
 -            //the org.mortbay.jetty.annotations.Configuration class, but it's too difficult?
 -
 -            //able to use annotations on jdk1.5 and above
@@ -351,6 +352,7 @@ Forwarded: no
 -            Iterator itor = LazyList.iterator(_servlets);
 -            while (itor.hasNext()) {
 -                ServletHolder holder = (ServletHolder) itor.next();
+-                //TODO: Some paths within Jetty can acquire persistent file locks on the jars containing these classes.
 -                Class servlet = getWebAppContext().loadClass(holder.getClassName());
 -                parseAnnotationsMethod.invoke(null, getWebAppContext(), servlet, _runAsCollection, _injections,
 -                        _callbacks);
@@ -370,11 +372,8 @@ Forwarded: no
 -                Object listener = itor.next();
 -                parseAnnotationsMethod.invoke(null, getWebAppContext(), listener.getClass(), null, _injections,
 -                        _callbacks);
-+            if (LOG.isDebugEnabled()) {
-+                Log.getLog().debug("Classpath = " + Arrays.asList(
-+                        ((URLClassLoader) context.getClassLoader()).getURLs()));
-             }
-         } else {
+-            }
+-        } else {
 -            Log.info("Annotations are not supported on jvms prior to jdk1.5");
 +            super.configure(context);
          }
diff --git a/debian/patches/use_local_artifacts.diff b/debian/patches/use_local_artifacts.diff
index 06286e7..4b71431 100644
--- a/debian/patches/use_local_artifacts.diff
+++ b/debian/patches/use_local_artifacts.diff
@@ -5,21 +5,22 @@ Description: Use local jar files to build Gradle. The core point is using
              need to remove the versions but Gradle is an exception because
              it dynamically loads libraries using its own mechanism and
              maintains classpaths.
-Author: Kai-Chung Yan <seamlikok at gmail.com>
+Author: Kai-Chung Yan (殷啟聰)
 Forwarded: not-needed
-Last-Update: 2016-09-08
+Last-Update: 2016-10-20
 --- a/build.gradle
 +++ b/build.gradle
-@@ -180,7 +180,7 @@
+@@ -213,8 +213,7 @@
      group = 'org.gradle'
  
      repositories {
--        maven { url 'https://repo.gradle.org/gradle/libs' }
-+        flatDir { dirs "/usr/share/java" }
+-        maven { url 'https://repo.gradle.org/gradle/libs-releases' }
+-        maven { url 'https://repo.gradle.org/gradle/libs-milestones' }
++        flatDir { dirs '/usr/share/java' }
      }
  }
  
-@@ -188,6 +188,7 @@
+@@ -222,6 +221,7 @@
      version = rootProject.version
  
      if (project in groovyProjects) {
@@ -29,31 +30,46 @@ Last-Update: 2016-09-08
          apply from: "$rootDir/gradle/java9.gradle"
 --- a/buildSrc/build.gradle
 +++ b/buildSrc/build.gradle
-@@ -21,16 +21,17 @@
- apply plugin: 'eclipse'
+@@ -22,20 +22,20 @@
+ targetCompatibility = '1.7'
  
  repositories {
--    maven { url 'https://repo.gradle.org/gradle/libs' }
--    mavenCentral()
+-    maven { url 'https://repo.gradle.org/gradle/libs-releases' }
 +    maven { url 'file:///usr/share/maven-repo' }
  }
  
-+apply from: '../debian/substituteDependencies.gradle'
-+
  dependencies {
+     compile 'org.ow2.asm:asm-all:5.0.3'
      compile gradleApi()
 -    compile 'com.google.guava:guava-jdk5:14.0.1 at jar'
-+    compile 'com.google.guava:guava:debian'
++    compile 'com.google.guava:guava:14.0.1 at jar'
      compile 'commons-lang:commons-lang:2.6 at jar'
      compile localGroovy()
+     compile('org.codehaus.groovy.modules.http-builder:http-builder:0.7.2') {
+         exclude(module: 'groovy')
+         exclude(module: 'xercesImpl')
+     }
 -    testCompile 'junit:junit:4.12 at jar'
 +    testCompile 'junit:junit:4.x at jar'
      testCompile 'org.spockframework:spock-core:1.0-groovy-2.4 at jar', 'cglib:cglib-nodep:2.2', 'org.objenesis:objenesis:1.2'
+     testCompile 'org.hamcrest:hamcrest-core:1.3'
+ 
+@@ -47,6 +47,7 @@
+ apply from: '../gradle/taskOrdering.gradle'
+ apply from: '../gradle/dependencies.gradle'
+ apply from: '../gradle/classycle.gradle'
++apply from: '../debian/substituteDependencies.gradle'
+ 
+ ext.isCiServer = System.getenv().containsKey("TEAMCITY_VERSION")
  
-     compile "org.pegdown:pegdown:1.1.0"
 --- a/gradle/dependencies.gradle
 +++ b/gradle/dependencies.gradle
-@@ -34,13 +34,13 @@
+@@ -30,17 +30,17 @@
+ }
+ 
+ libraries.asm =  'org.ow2.asm:asm-all:5.1'
+-libraries.bndlib = dependencies.module('biz.aQute.bnd:biz.aQute.bndlib:3.2.0')
++libraries.bndlib = dependencies.module('biz.aQute.bnd:bndlib:3.2.0')
  libraries.commons_cli = 'commons-cli:commons-cli:1.2 at jar'
  libraries.commons_io = dependencies.module(versions.commons_io)
  libraries.commons_lang = 'commons-lang:commons-lang:2.6 at jar'
@@ -69,24 +85,23 @@ Last-Update: 2016-09-08
  
  // Logging
  libraries.slf4j_api = dependencies.module('org.slf4j:slf4j-api:1.7.10')
-@@ -80,13 +80,13 @@
+@@ -82,12 +82,12 @@
  
  libraries += [
          dom4j: 'dom4j:dom4j:1.6.1 at jar',
 -        guava: 'com.google.guava:guava-jdk5:17.0 at jar',
-+        guava: 'com.google.guava:guava:debian',
++        guava: 'com.google.guava:guava:17.0 at jar',
          jsr305: 'com.google.code.findbugs:jsr305:1.3.9 at jar',
 -        groovy: "org.codehaus.groovy:groovy-all:${versions.groovy}",
-+        groovy: "org.codehaus.groovy:groovy-all:[${versions.groovy}, )",
++        groovy: "org.codehaus.groovy:groovy-all:debian",
          jaxen: 'jaxen:jaxen:1.1 at jar',
          jcip: "net.jcip:jcip-annotations:1.0 at jar",
-         jna: 'net.java.dev.jna:jna:3.2.7 at jar',
 -        junit: 'junit:junit:4.12 at jar',
 +        junit: 'junit:junit4:4.x at jar',
          xmlunit: 'xmlunit:xmlunit:1.3',
          nekohtml: 'net.sourceforge.nekohtml:nekohtml:1.9.14',
          xbean: 'org.apache.xbean:xbean-reflect:3.4 at jar', //required by maven3 classes
-@@ -96,37 +96,37 @@
+@@ -97,37 +97,37 @@
          jsoup:'org.jsoup:jsoup:1.6.3'
  ]
  
@@ -142,7 +157,7 @@ Last-Update: 2016-09-08
  
      //eather:
      dependency "org.sonatype.aether:aether-api:1.13.1 at jar"
-@@ -157,8 +157,8 @@
+@@ -158,8 +158,8 @@
      dependency "org.apache.mina:mina-core:2.0.8"
  }
  
@@ -166,7 +181,7 @@ Last-Update: 2016-09-08
      compile project(':core'), project(":plugins")
 --- a/subprojects/reporting/reporting.gradle
 +++ b/subprojects/reporting/reporting.gradle
-@@ -5,7 +5,7 @@
+@@ -7,7 +7,7 @@
  }
  
  repositories {
@@ -177,7 +192,7 @@ Last-Update: 2016-09-08
  dependencies {
 --- a/subprojects/docs/docs.gradle
 +++ b/subprojects/docs/docs.gradle
-@@ -31,18 +31,8 @@
+@@ -32,18 +32,8 @@
  apply plugin: 'javascript-base'
  
  repositories {
@@ -198,7 +213,7 @@ Last-Update: 2016-09-08
  }
  
  configurations {
-@@ -55,26 +45,14 @@
+@@ -55,26 +45,15 @@
  }
  
  dependencies {
@@ -209,7 +224,7 @@ Last-Update: 2016-09-08
          dependency 'itext:itext:2.0.8 at jar'
      }
      userGuideTask 'xslthl:xslthl:2.0.1 at jar'
--
+ 
 -    userGuideStyleSheets 'docbook:docbook-xsl:1.75.2 at zip'
      jquery "jquery:jquery.min:1.8.0 at js"
      jqueryTipTip "com.drewwilson.code:jquery.tipTip:1.3:minified at js"
@@ -224,12 +239,12 @@ Last-Update: 2016-09-08
 -        "ubuntumono:bold:3:ceqTZGKHipo8pJj4molytp_TkvowlIOtbR7ePgFOpF4 at ttf",
 -        "ubuntumono:bold-italic:3:n_d8tv_JOIiYyMXR4eaV9WsGzsqhEorxQDpu60nfWEc at ttf"
 -
-     groovydocGroovy libraries.groovy
- 
      testCompile libraries.groovy
+     testCompile "org.pegdown:pegdown:1.1.0"
+     testCompile libraries.jsoup
 --- a/subprojects/dependency-management/dependency-management.gradle
 +++ b/subprojects/dependency-management/dependency-management.gradle
-@@ -4,11 +4,6 @@
+@@ -6,11 +6,6 @@
      mvn3Input
  }
  
@@ -243,7 +258,7 @@ Last-Update: 2016-09-08
      compile project(":resources")
 --- a/subprojects/testing-base/src/main/java/org/gradle/api/internal/tasks/testing/worker/ForkingTestClassProcessor.java
 +++ b/subprojects/testing-base/src/main/java/org/gradle/api/internal/tasks/testing/worker/ForkingTestClassProcessor.java
-@@ -96,7 +96,7 @@
+@@ -102,7 +102,7 @@
              moduleRegistry.getModule("gradle-native").getImplementationClasspath().getAsURLs(),
              moduleRegistry.getModule("gradle-testing-base").getImplementationClasspath().getAsURLs(),
              moduleRegistry.getModule("gradle-testing-jvm").getImplementationClasspath().getAsURLs(),
@@ -254,7 +269,7 @@ Last-Update: 2016-09-08
              moduleRegistry.getExternalModule("native-platform").getImplementationClasspath().getAsURLs(),
 --- a/subprojects/maven/maven.gradle
 +++ b/subprojects/maven/maven.gradle
-@@ -26,7 +26,7 @@
+@@ -27,7 +27,7 @@
      compile libraries.maven3
      compile "org.sonatype.pmaven:pmaven-common:0.8-20100325 at jar"
      compile "org.sonatype.pmaven:pmaven-groovy:0.8-20100325 at jar"
diff --git a/debian/rules b/debian/rules
index 79295c3..9cee253 100755
--- a/debian/rules
+++ b/debian/rules
@@ -18,9 +18,14 @@ ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
 endif
 
 %:
-	dh $@ --with maven_repo_helper
+	dh $@ --with maven_repo_helper,javahelper
 
 override_dh_auto_build:
+	mkdir --parents buildSrc/src/main/java
+	# These symlinks are due to new APIs introduced in Gradle 3.1
+	ln -s ../../../../subprojects/dependency-management/src/main/java/org/gradle/api/internal/runtimeshaded/PackageListGenerator.java buildSrc/src/main/java/PackageListGenerator.java
+	ln -s ../../../../subprojects/dependency-management/src/main/java/org/gradle/api/internal/runtimeshaded/Trie.java buildSrc/src/main/java/Trie.java
+	ln -s ../../../../subprojects/core/src/main/java/org/gradle/api/tasks/OrderSensitive.java buildSrc/src/main/java/OrderSensitive.java
 	gradle $(GRADLE_TASKS) $(GRADLE_FLAGS)
 	pandoc -s -o debian/gradle.1 debian/gradle.1.md
 
@@ -29,12 +34,15 @@ override_dh_auto_clean:
 	find . -wholename .*build/generated-resources | xargs echo | sed -e 's^build/generated-resources^build^g' | xargs rm -Rf
 	rm -r -f .gradle debian/.gradlehome buildSrc/.gradle buildSrc/build build
 	rm -r -f debian/gradle.1 subprojects/distributions/build
+	$(RM) -r buildSrc/src/main/java
 
 override_dh_install:
 	dh_install
 	# Remove lintian warning zero-byte-file-in-doc-directory
 	rm debian/gradle-doc/usr/share/doc/gradle/dsl/dsl-standalone.html
 	rm debian/gradle-doc/usr/share/doc/gradle/dsl/sidebar.js
+	mv debian/gradle-doc/usr/share/doc/gradle/userguide/userguide.pdf \
+	   debian/gradle-doc/usr/share/doc/gradle
 
 get-orig-source:
 	uscan --download-current-version --force-download --repack --compression xz

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/gradle.git



More information about the pkg-java-commits mailing list