Move gradle config for reproducible builds into init.gradle file
This commit is contained in:
8
gradle/reprod/init.gradle
Normal file
8
gradle/reprod/init.gradle
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
allprojects {
|
||||||
|
tasks.withType(AbstractArchiveTask) {
|
||||||
|
preserveFileTimestamps = false
|
||||||
|
reproducibleFileOrder = true
|
||||||
|
dirMode = 0775
|
||||||
|
fileMode = 0664
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -13,7 +13,7 @@ new file mode 100644
|
|||||||
index 0000000..22fa679
|
index 0000000..22fa679
|
||||||
--- /dev/null
|
--- /dev/null
|
||||||
+++ b/build.gradle
|
+++ b/build.gradle
|
||||||
@@ -0,0 +1,25 @@
|
@@ -0,0 +1,18 @@
|
||||||
+apply plugin: 'java'
|
+apply plugin: 'java'
|
||||||
+
|
+
|
||||||
+sourceCompatibility = 1.8
|
+sourceCompatibility = 1.8
|
||||||
@@ -32,13 +32,6 @@ index 0000000..22fa679
|
|||||||
+ }
|
+ }
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
+tasks.withType(AbstractArchiveTask) {
|
|
||||||
+ preserveFileTimestamps = false
|
|
||||||
+ reproducibleFileOrder = true
|
|
||||||
+ dirMode = 0775
|
|
||||||
+ fileMode = 0664
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
--
|
--
|
||||||
2.5.5
|
2.5.5
|
||||||
|
|
||||||
|
|||||||
@@ -1,28 +0,0 @@
|
|||||||
From 21caf62b4f60cce47a5d3b8c939cc7b177904e00 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Herzig <me@johni0702.de>
|
|
||||||
Date: Mon, 7 Aug 2017 19:52:13 +0200
|
|
||||||
Subject: [PATCH] Configure gradle to build reproducible archives
|
|
||||||
|
|
||||||
---
|
|
||||||
fernflower.gradle | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/fernflower.gradle b/fernflower.gradle
|
|
||||||
index 78a2be1..468733e 100644
|
|
||||||
--- a/fernflower.gradle
|
|
||||||
+++ b/fernflower.gradle
|
|
||||||
@@ -12,4 +12,11 @@ compileJava {
|
|
||||||
}
|
|
||||||
|
|
||||||
+tasks.withType(AbstractArchiveTask) {
|
|
||||||
+ preserveFileTimestamps = false
|
|
||||||
+ reproducibleFileOrder = true
|
|
||||||
+ dirMode = 0775
|
|
||||||
+ fileMode = 0664
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
sourceSets {
|
|
||||||
main.java.srcDirs = ['src']
|
|
||||||
--
|
|
||||||
2.5.5
|
|
||||||
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
From 21caf62b4f60cce47a5d3b8c939cc7b177904e00 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Herzig <me@johni0702.de>
|
|
||||||
Date: Mon, 7 Aug 2017 19:52:13 +0200
|
|
||||||
Subject: [PATCH 1/5] Configure gradle to build reproducible archives
|
|
||||||
|
|
||||||
---
|
|
||||||
build.gradle | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/build.gradle b/build.gradle
|
|
||||||
index 78a2be1..468733e 100644
|
|
||||||
--- a/build.gradle
|
|
||||||
+++ b/build.gradle
|
|
||||||
@@ -138,6 +138,13 @@ jar {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+tasks.withType(AbstractArchiveTask) {
|
|
||||||
+ preserveFileTimestamps = false
|
|
||||||
+ reproducibleFileOrder = true
|
|
||||||
+ dirMode = 0775
|
|
||||||
+ fileMode = 0664
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
javadoc {
|
|
||||||
classpath += configurations.compileOnly
|
|
||||||
|
|
||||||
--
|
|
||||||
2.5.5
|
|
||||||
|
|
||||||
@@ -47,7 +47,7 @@ index 468733e..91ea99a 100644
|
|||||||
+ }
|
+ }
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType(AbstractArchiveTask) {
|
javadoc {
|
||||||
--
|
--
|
||||||
2.5.5
|
2.5.5
|
||||||
|
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
From ef56dfff6da10203e6319289b88571e8aa511ae4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Herzig <me@johni0702.de>
|
|
||||||
Date: Sat, 26 Aug 2017 16:58:15 +0200
|
|
||||||
Subject: [PATCH 1/3] Configure gradle to build reproducible archives
|
|
||||||
|
|
||||||
---
|
|
||||||
build.gradle | 7 +++++++
|
|
||||||
1 file changed, 7 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/build.gradle b/build.gradle
|
|
||||||
index 9d0e832..bc6d5bb 100644
|
|
||||||
--- a/build.gradle
|
|
||||||
+++ b/build.gradle
|
|
||||||
@@ -18,6 +18,13 @@ description = 'A Gradle plugin to manage patches for Git repositories'
|
|
||||||
sourceCompatibility = '1.7'
|
|
||||||
targetCompatibility = '1.7'
|
|
||||||
|
|
||||||
+tasks.withType(AbstractArchiveTask) {
|
|
||||||
+ preserveFileTimestamps = false
|
|
||||||
+ reproducibleFileOrder = true
|
|
||||||
+ dirMode = 0775
|
|
||||||
+ fileMode = 0664
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
repositories {
|
|
||||||
jcenter()
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.5.5
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
From e6caf7be3f8b7fbe6be79449b30a93c8a362997f Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Herzig <me@johni0702.de>
|
|
||||||
Date: Mon, 7 Aug 2017 20:00:16 +0200
|
|
||||||
Subject: [PATCH] Configure gradle to build reproducible archives
|
|
||||||
|
|
||||||
---
|
|
||||||
build.gradle | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/build.gradle b/build.gradle
|
|
||||||
index 988a3bf..b75571c 100644
|
|
||||||
--- a/build.gradle
|
|
||||||
+++ b/build.gradle
|
|
||||||
@@ -8,3 +8,10 @@ dependencies {
|
|
||||||
sourceCompatibility = '1.7'
|
|
||||||
targetCompatibility = '1.7'
|
|
||||||
|
|
||||||
+tasks.withType(AbstractArchiveTask) {
|
|
||||||
+ preserveFileTimestamps = false
|
|
||||||
+ reproducibleFileOrder = true
|
|
||||||
+ dirMode = 0775
|
|
||||||
+ fileMode = 0664
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
--
|
|
||||||
2.5.5
|
|
||||||
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
From e00b13e31dde9e889a177b905db0f384f20eaf05 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Herzig <me@johni0702.de>
|
|
||||||
Date: Sat, 26 Aug 2017 17:29:13 +0200
|
|
||||||
Subject: [PATCH 2/2] Configure gradle to build reproducible archives
|
|
||||||
|
|
||||||
---
|
|
||||||
build.gradle | 7 +++++++
|
|
||||||
1 file changed, 7 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/build.gradle b/build.gradle
|
|
||||||
index b6c63bb..da0fdb9 100644
|
|
||||||
--- a/build.gradle
|
|
||||||
+++ b/build.gradle
|
|
||||||
@@ -16,6 +16,13 @@ jar {
|
|
||||||
manifest.attributes('Main-Class': 'de.oceanlabs.mcp.mcinjector.MCInjector')
|
|
||||||
}
|
|
||||||
|
|
||||||
+tasks.withType(AbstractArchiveTask) {
|
|
||||||
+ preserveFileTimestamps = false
|
|
||||||
+ reproducibleFileOrder = true
|
|
||||||
+ dirMode = 0775
|
|
||||||
+ fileMode = 0664
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
dependencies {
|
|
||||||
compile 'org.ow2.asm:asm-debug-all:5.0.4'
|
|
||||||
compile 'net.sf.jopt-simple:jopt-simple:4.5'
|
|
||||||
--
|
|
||||||
2.5.5
|
|
||||||
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
From e60dd702c247692529a7cece94a475650623482e Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Herzig <me@johni0702.de>
|
|
||||||
Date: Tue, 8 Aug 2017 19:05:14 +0200
|
|
||||||
Subject: [PATCH 1/7] Configure gradle to build reproducible archives
|
|
||||||
|
|
||||||
---
|
|
||||||
build.gradle | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/build.gradle b/build.gradle
|
|
||||||
index 4f0aa28..e0c46ea 100644
|
|
||||||
--- a/build.gradle
|
|
||||||
+++ b/build.gradle
|
|
||||||
@@ -170,6 +170,13 @@ processResources {
|
|
||||||
from 'LICENSE.txt'
|
|
||||||
}
|
|
||||||
|
|
||||||
+tasks.withType(AbstractArchiveTask) {
|
|
||||||
+ preserveFileTimestamps = false
|
|
||||||
+ reproducibleFileOrder = true
|
|
||||||
+ dirMode = 0775
|
|
||||||
+ fileMode = 0664
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
// License header formatting
|
|
||||||
license {
|
|
||||||
ext {
|
|
||||||
--
|
|
||||||
2.5.5
|
|
||||||
|
|
||||||
@@ -30,8 +30,8 @@ index e0c46ea..165dbe4 100644
|
|||||||
apply plugin: 'checkstyle'
|
apply plugin: 'checkstyle'
|
||||||
apply plugin: 'maven'
|
apply plugin: 'maven'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
@@ -177,23 +172,6 @@ tasks.withType(AbstractArchiveTask) {
|
@@ -170,23 +165,6 @@ tasks.withType(AbstractArchiveTask) {
|
||||||
fileMode = 0664
|
from 'LICENSE.txt'
|
||||||
}
|
}
|
||||||
|
|
||||||
-// License header formatting
|
-// License header formatting
|
||||||
|
|||||||
@@ -19,8 +19,8 @@ index 0f189ec..f8598a3 100644
|
|||||||
apply plugin: 'maven'
|
apply plugin: 'maven'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
apply plugin: 'idea'
|
apply plugin: 'idea'
|
||||||
@@ -172,17 +171,6 @@ tasks.withType(AbstractArchiveTask) {
|
@@ -165,17 +164,6 @@ tasks.withType(AbstractArchiveTask) {
|
||||||
fileMode = 0664
|
from 'LICENSE.txt'
|
||||||
}
|
}
|
||||||
|
|
||||||
-checkstyle {
|
-checkstyle {
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
From 34446d49be65c3a17e962c2e4053ed3e41aa2ab4 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Herzig <me@johni0702.de>
|
|
||||||
Date: Mon, 7 Aug 2017 20:04:25 +0200
|
|
||||||
Subject: [PATCH 1/3] Configure gradle to build reproducible archives
|
|
||||||
|
|
||||||
---
|
|
||||||
build.gradle | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/build.gradle b/build.gradle
|
|
||||||
index 3127c7f..c34a8a2 100644
|
|
||||||
--- a/build.gradle
|
|
||||||
+++ b/build.gradle
|
|
||||||
@@ -71,6 +71,13 @@ task groovydocJar(type: Jar, dependsOn: groovydoc) {
|
|
||||||
classifier = 'groovydoc'
|
|
||||||
}
|
|
||||||
|
|
||||||
+tasks.withType(AbstractArchiveTask) {
|
|
||||||
+ preserveFileTimestamps = false
|
|
||||||
+ reproducibleFileOrder = true
|
|
||||||
+ dirMode = 0775
|
|
||||||
+ fileMode = 0664
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
artifacts {
|
|
||||||
archives jar
|
|
||||||
archives groovydocJar
|
|
||||||
--
|
|
||||||
2.5.5
|
|
||||||
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
From 07de60f9e430063f398bcc86e15397afb8a00413 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Herzig <me@johni0702.de>
|
|
||||||
Date: Tue, 8 Aug 2017 21:29:01 +0200
|
|
||||||
Subject: [PATCH 5/5] Configure gradle to build reproducible archives
|
|
||||||
|
|
||||||
---
|
|
||||||
build.gradle | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/build.gradle b/build.gradle
|
|
||||||
index bda297b..7ed5cfe 100755
|
|
||||||
--- a/build.gradle
|
|
||||||
+++ b/build.gradle
|
|
||||||
@@ -194,6 +194,11 @@ jar {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+tasks.withType(AbstractArchiveTask) {
|
|
||||||
+ preserveFileTimestamps = false
|
|
||||||
+ reproducibleFileOrder = true
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
def gitDescribe() {
|
|
||||||
try {
|
|
||||||
def stdout = new ByteArrayOutputStream()
|
|
||||||
--
|
|
||||||
2.5.5
|
|
||||||
|
|
||||||
@@ -1,30 +0,0 @@
|
|||||||
From 66c234d97042d31771df1c3633e1c7cb662e4882 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Herzig <me@johni0702.de>
|
|
||||||
Date: Tue, 8 Aug 2017 19:00:22 +0200
|
|
||||||
Subject: [PATCH 1/4] Configure gradle to build reproducible archives
|
|
||||||
|
|
||||||
---
|
|
||||||
build.gradle | 5 +++++
|
|
||||||
1 file changed, 5 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/build.gradle b/build.gradle
|
|
||||||
index 3d2095e..2292a4d 100644
|
|
||||||
--- a/build.gradle
|
|
||||||
+++ b/build.gradle
|
|
||||||
@@ -91,6 +91,13 @@ idea {
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
+tasks.withType(AbstractArchiveTask) {
|
|
||||||
+ preserveFileTimestamps = false
|
|
||||||
+ reproducibleFileOrder = true
|
|
||||||
+ dirMode = 0775
|
|
||||||
+ fileMode = 0664
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
sourceCompatibility = '1.6'
|
|
||||||
targetCompatibility = '1.6'
|
|
||||||
|
|
||||||
--
|
|
||||||
2.5.5
|
|
||||||
|
|
||||||
@@ -85,7 +85,7 @@ index 2292a4d..1b06411 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
jar {
|
jar {
|
||||||
@@ -85,12 +23,6 @@ jar {
|
@@ -85,22 +23,6 @@ jar {
|
||||||
from rootProject.file('NOTICE')
|
from rootProject.file('NOTICE')
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,10 +95,6 @@ index 2292a4d..1b06411 100644
|
|||||||
- }
|
- }
|
||||||
-}
|
-}
|
||||||
-
|
-
|
||||||
tasks.withType(AbstractArchiveTask) {
|
|
||||||
preserveFileTimestamps = false
|
|
||||||
reproducibleFileOrder = true
|
|
||||||
@@ -99,13 +31,3 @@ tasks.withType(AbstractArchiveTask) {
|
|
||||||
sourceCompatibility = '1.6'
|
sourceCompatibility = '1.6'
|
||||||
targetCompatibility = '1.6'
|
targetCompatibility = '1.6'
|
||||||
|
|
||||||
|
|||||||
@@ -48,7 +48,7 @@ index a0d350b..b12a46d 100644
|
|||||||
+ from (files(configurations.shade).collect {it.isDirectory() ? filesTree(it) : zipTree(it)})
|
+ from (files(configurations.shade).collect {it.isDirectory() ? filesTree(it) : zipTree(it)})
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks.withType(AbstractArchiveTask) {
|
sourceCompatibility = '1.6'
|
||||||
--
|
--
|
||||||
2.5.5
|
2.5.5
|
||||||
|
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
From 0b256e84ff52a8a83b629cdfd404b4d28d0d8450 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jonas Herzig <me@johni0702.de>
|
|
||||||
Date: Sat, 26 Aug 2017 17:33:25 +0200
|
|
||||||
Subject: [PATCH 1/2] Configure gradle to build reproducible archives
|
|
||||||
|
|
||||||
---
|
|
||||||
build.gradle | 7 +++++++
|
|
||||||
1 file changed, 7 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/build.gradle b/build.gradle
|
|
||||||
index 8a9dfbe..fda0b61 100644
|
|
||||||
--- a/build.gradle
|
|
||||||
+++ b/build.gradle
|
|
||||||
@@ -22,6 +22,13 @@ archivesBaseName = 'Srg2Source'
|
|
||||||
targetCompatibility = '1.6'
|
|
||||||
sourceCompatibility = '1.6'
|
|
||||||
|
|
||||||
+tasks.withType(AbstractArchiveTask) {
|
|
||||||
+ preserveFileTimestamps = false
|
|
||||||
+ reproducibleFileOrder = true
|
|
||||||
+ dirMode = 0775
|
|
||||||
+ fileMode = 0664
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
configurations {
|
|
||||||
deployerJars
|
|
||||||
}
|
|
||||||
--
|
|
||||||
2.5.5
|
|
||||||
|
|
||||||
@@ -28,9 +28,9 @@ index fda0b61..eefeafe 100644
|
|||||||
apply plugin: 'java'
|
apply plugin: 'java'
|
||||||
apply plugin: 'idea'
|
apply plugin: 'idea'
|
||||||
apply plugin: 'eclipse'
|
apply plugin: 'eclipse'
|
||||||
@@ -29,10 +16,6 @@ tasks.withType(AbstractArchiveTask) {
|
@@ -22,10 +9,6 @@ configurations {
|
||||||
fileMode = 0664
|
targetCompatibility = '1.6'
|
||||||
}
|
sourceCompatibility = '1.6'
|
||||||
|
|
||||||
-configurations {
|
-configurations {
|
||||||
- deployerJars
|
- deployerJars
|
||||||
@@ -39,7 +39,7 @@ index fda0b61..eefeafe 100644
|
|||||||
dependencies {
|
dependencies {
|
||||||
testCompile "junit:junit:4.12"
|
testCompile "junit:junit:4.12"
|
||||||
|
|
||||||
@@ -56,9 +39,6 @@ dependencies {
|
@@ -45,9 +28,6 @@ dependencies {
|
||||||
|
|
||||||
// Potential Eclipse AST replacement (not used yet)
|
// Potential Eclipse AST replacement (not used yet)
|
||||||
//compile 'fr.inria.gforge.spoon:spoon-core:5.1.0'
|
//compile 'fr.inria.gforge.spoon:spoon-core:5.1.0'
|
||||||
@@ -49,7 +49,7 @@ index fda0b61..eefeafe 100644
|
|||||||
}
|
}
|
||||||
|
|
||||||
repositories {
|
repositories {
|
||||||
@@ -84,86 +64,3 @@ jar {
|
@@ -73,86 +53,3 @@ jar {
|
||||||
exclude 'data/**'
|
exclude 'data/**'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
set -e
|
set -e
|
||||||
set -x
|
set -x
|
||||||
|
|
||||||
cd gradle/reprod
|
pushd gradle/reprod
|
||||||
|
|
||||||
SHA256SUM="sha256sum"
|
SHA256SUM="sha256sum"
|
||||||
command -v "$SHA256SUM" > /dev/null 2>&1 || SHA256SUM="shasum -a 256" # OSX
|
command -v "$SHA256SUM" > /dev/null 2>&1 || SHA256SUM="shasum -a 256" # OSX
|
||||||
@@ -44,7 +44,7 @@ setup_dep () {
|
|||||||
cp ../../../../gradlew .
|
cp ../../../../gradlew .
|
||||||
|
|
||||||
chmod +x gradlew
|
chmod +x gradlew
|
||||||
./gradlew build -x test
|
./gradlew -I ../../init.gradle build -x test
|
||||||
|
|
||||||
actual_hash=$(sha256val "$jar")
|
actual_hash=$(sha256val "$jar")
|
||||||
if [ "$actual_hash" != "$jarhash" ]; then
|
if [ "$actual_hash" != "$jarhash" ]; then
|
||||||
@@ -87,3 +87,7 @@ pushd tmp
|
|||||||
git commit -m "Add build.gradle"
|
git commit -m "Add build.gradle"
|
||||||
git am ../patches/replaymod/*.patch
|
git am ../patches/replaymod/*.patch
|
||||||
popd
|
popd
|
||||||
|
|
||||||
|
popd # Back to root
|
||||||
|
|
||||||
|
./gradlew -Preprod -I gradle/reprod/init.gradle "$@"
|
||||||
|
|||||||
3
gradlew
vendored
3
gradlew
vendored
@@ -7,8 +7,7 @@
|
|||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
if [ "$REPRODUCIBLE_BUILD" == "1" ] && [ -f ./gradle/reprod/setup.sh ] && [ "$1" != "-Preprod" ]; then
|
if [ "$REPRODUCIBLE_BUILD" == "1" ] && [ -f ./gradle/reprod/setup.sh ] && [ "$1" != "-Preprod" ]; then
|
||||||
./gradle/reprod/setup.sh || exit
|
./gradle/reprod/setup.sh "$@"
|
||||||
./gradlew -Preprod "$@"
|
|
||||||
exit
|
exit
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user