From: Markus Koschany <apo@debian.org>
Date: Sat, 18 Nov 2017 23:27:06 +0100
Subject: use local artifacts
 Use local jar files to build Gradle. The core point is using a local Maven
 repository pointing to `/usr/share/maven-repo`. Due to some invisible bug,
 `resolutionStrategy` is able to override artifact versions only, so we have
 to patch some artifact names here.
Forwarded: not-needed
---
 build.gradle                                        |    5 --
 buildSrc/build.gradle                               |    8 +--
 gradle/dependencies.gradle                          |   21 ++++++----
 subprojects/build-init/build-init.gradle            |    1
 subprojects/core/core.gradle                        |    1
 .../dependency-management.gradle                    |    5 --
 subprojects/reporting/reporting.gradle              |    2
 .../testing/worker/ForkingTestClassProcessor.java   |    2
 8 files changed, 22 insertions(+), 23 deletions(-)

--- a/build.gradle
+++ b/build.gradle
@@ -194,9 +194,8 @@
     group = 'org.gradle'
 
     repositories {
-        maven { url 'https://repo.gradle.org/gradle/libs-releases' }
-        maven { url 'https://repo.gradle.org/gradle/libs-milestones' }
-        maven { url "https://repo.gradle.org/gradle/libs-snapshots" }
+        maven { url 'file:///usr/share/maven-repo' }
+        maven { url "file://${rootDir}/debian/maven-repo" }
     }
 
     // patchExternalModules lives in the root project - we need to activate normalization there, too.
--- a/buildSrc/build.gradle
+++ b/buildSrc/build.gradle
@@ -26,9 +26,7 @@
 def asciidoctorPluginVersion = JavaVersion.current() == JavaVersion.VERSION_1_7 ? '1.5.3' : '1.5.6'
 
 repositories {
-    maven { url 'https://repo.gradle.org/gradle/libs-releases' }
-    maven { url "https://repo.gradle.org/gradle/libs-snapshots" }
-    maven { url "https://plugins.gradle.org/m2/" }
+    maven { url 'file:///usr/share/maven-repo' }
 }
 
 sourceSets { test { groovy { exclude '**' } } }
@@ -40,9 +38,9 @@
 }
 
 dependencies {
-    compile 'org.ow2.asm:asm-all:5.0.3'
+    compile 'org.ow2.asm:asm-all:6.2.1@jar'
     compile gradleApi()
-    compile 'com.google.guava:guava-jdk5:14.0.1@jar'
+    compile 'com.google.guava:guava:14.0.1@jar'
     compile 'commons-lang:commons-lang:2.6@jar'
     compile localGroovy()
     testCompile 'junit:junit:4.12@jar'
--- a/gradle/dependencies.gradle
+++ b/gradle/dependencies.gradle
@@ -35,7 +35,7 @@
     dependency "org.apache.ant:ant-launcher:${versions.ant}@jar"
 }
 
-libraries.asm =  'org.ow2.asm:asm-debug-all:6.0_ALPHA'
+libraries.asm =  'org.ow2.asm:asm-all:6.0_ALPHA'
 libraries.cglib = 'cglib:cglib:3.2.5'
 libraries.bndlib = dependencies.module('biz.aQute.bnd:biz.aQute.bndlib:3.4.0')
 libraries.commons_cli = 'commons-cli:commons-cli:1.2@jar'
@@ -91,7 +91,7 @@
 libraries += [
     jatl: 'com.googlecode.jatl:jatl:0.2.2',
     dom4j: 'dom4j:dom4j:1.6.1@jar',
-    guava: 'com.google.guava:guava-jdk5:17.0@jar',
+    guava: 'com.google.guava:guava:17.0@jar',
     kryo: 'com.esotericsoftware.kryo:kryo:2.20',
     jsr305: 'com.google.code.findbugs:jsr305:1.3.9@jar',
     groovy: "org.codehaus.groovy:groovy-all:${versions.groovy}",
@@ -102,11 +102,10 @@
     equalsVerifier: 'nl.jqno.equalsverifier:equalsverifier:2.1.6',
     xbean: 'org.apache.xbean:xbean-reflect:3.4@jar', //required by maven3 classes
     nativePlatform: 'net.rubygrapefruit:native-platform:0.14',
-    jansi: dependencies.module('org.fusesource.jansi:jansi:1.14'),
+    jansi: 'org.fusesource.jansi:jansi:1.14',
     xerces: "xerces:xercesImpl:2.11.0",
     objenesis: 'org.objenesis:objenesis:1.2@jar',
     jsoup: 'org.jsoup:jsoup:1.6.3',
-    xmlApis: 'xml-apis:xml-apis:1.4.01',
     jgit: [
         'org.eclipse.jgit:org.eclipse.jgit:4.5.3.201708160445-r@jar', // 4.6+ requires Java 8
         libraries.commons_httpclient,
@@ -157,7 +156,7 @@
     dependency 'org.apache.maven.wagon:wagon-file:2.4@jar'
     dependency 'org.apache.maven.wagon:wagon-http:2.4@jar'
     dependency 'org.apache.maven.wagon:wagon-provider-api:2.4@jar'
-    dependency 'org.apache.maven.wagon:wagon-http-shared4:2.4@jar'
+    dependency 'org.apache.maven.wagon:wagon-http-shared:2.4@jar'
 
     //eather:
     dependency 'org.apache.maven.resolver:maven-resolver-api:1.13.1@jar'
@@ -200,8 +199,8 @@
     dependency libraries.mina
 }
 
-libraries.bouncycastle_provider = "org.bouncycastle:bcprov-jdk15on:${versions.bouncycastle}@jar"
-libraries.bouncycastle_pgp = dependencies.module("org.bouncycastle:bcpg-jdk15on:${versions.bouncycastle}") {
+libraries.bouncycastle_provider = "org.bouncycastle:bcprov:debian"
+libraries.bouncycastle_pgp = dependencies.module("org.bouncycastle:bcpg:debian") {
     dependency libraries.bouncycastle_provider
 }
 
@@ -252,3 +251,11 @@
         }
     }
 }
+
+allprojects {
+  try {
+    apply from: "${rootDir}/debian/substituteDependencies.gradle"
+  } catch (Exception ex) {
+    apply from: "${rootDir}/../debian/substituteDependencies.gradle"
+  }
+}
--- a/subprojects/core/core.gradle
+++ b/subprojects/core/core.gradle
@@ -55,7 +55,6 @@
     implementation libraries.jcip
     implementation libraries.nativePlatform
     implementation libraries.commons_compress
-    implementation libraries.xmlApis
 
     runtimeOnly project(":docs")
 
--- a/subprojects/dependency-management/dependency-management.gradle
+++ b/subprojects/dependency-management/dependency-management.gradle
@@ -6,11 +6,6 @@
     mvn3Input
 }
 
-repositories {
-    jcenter()
-    mavenCentral()
-}
-
 dependencies {
     compile project(":core")
     compile project(":resources")
--- a/subprojects/reporting/reporting.gradle
+++ b/subprojects/reporting/reporting.gradle
@@ -7,7 +7,7 @@
 }
 
 repositories {
-    javaScript.googleApis()
+    flatDir { dirs "/usr/share/javascript/jquery" }
 }
 
 dependencies {
--- 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
@@ -110,7 +110,7 @@
             moduleRegistry.getExternalModule("native-platform").getImplementationClasspath().getAsURLs(),
             moduleRegistry.getExternalModule("kryo").getImplementationClasspath().getAsURLs(),
             moduleRegistry.getExternalModule("commons-lang").getImplementationClasspath().getAsURLs(),
-            moduleRegistry.getExternalModule("junit").getImplementationClasspath().getAsURLs()
+            moduleRegistry.getExternalModule("junit4").getImplementationClasspath().getAsURLs()
         );
     }
 
--- a/subprojects/build-init/build-init.gradle
+++ b/subprojects/build-init/build-init.gradle
@@ -18,6 +18,7 @@
     compile project(':core')
     compile project(':plugins')
     compile project(':wrapper')
+    compile 'org.eclipse.sisu:org.eclipse.sisu.plexus:debian'
     integTestRuntime project(':maven')
     integTestRuntime project(':scala')
 }
