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
|
||||
--- /dev/null
|
||||
+++ b/build.gradle
|
||||
@@ -0,0 +1,25 @@
|
||||
@@ -0,0 +1,18 @@
|
||||
+apply plugin: 'java'
|
||||
+
|
||||
+sourceCompatibility = 1.8
|
||||
@@ -32,13 +32,6 @@ index 0000000..22fa679
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+tasks.withType(AbstractArchiveTask) {
|
||||
+ preserveFileTimestamps = false
|
||||
+ reproducibleFileOrder = true
|
||||
+ dirMode = 0775
|
||||
+ fileMode = 0664
|
||||
+}
|
||||
+
|
||||
--
|
||||
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
|
||||
|
||||
|
||||
@@ -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: 'maven'
|
||||
apply plugin: 'eclipse'
|
||||
@@ -177,23 +172,6 @@ tasks.withType(AbstractArchiveTask) {
|
||||
fileMode = 0664
|
||||
@@ -170,23 +165,6 @@ tasks.withType(AbstractArchiveTask) {
|
||||
from 'LICENSE.txt'
|
||||
}
|
||||
|
||||
-// License header formatting
|
||||
|
||||
@@ -19,8 +19,8 @@ index 0f189ec..f8598a3 100644
|
||||
apply plugin: 'maven'
|
||||
apply plugin: 'eclipse'
|
||||
apply plugin: 'idea'
|
||||
@@ -172,17 +171,6 @@ tasks.withType(AbstractArchiveTask) {
|
||||
fileMode = 0664
|
||||
@@ -165,17 +164,6 @@ tasks.withType(AbstractArchiveTask) {
|
||||
from 'LICENSE.txt'
|
||||
}
|
||||
|
||||
-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 {
|
||||
@@ -85,12 +23,6 @@ jar {
|
||||
@@ -85,22 +23,6 @@ jar {
|
||||
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'
|
||||
targetCompatibility = '1.6'
|
||||
|
||||
|
||||
@@ -48,7 +48,7 @@ index a0d350b..b12a46d 100644
|
||||
+ from (files(configurations.shade).collect {it.isDirectory() ? filesTree(it) : zipTree(it)})
|
||||
}
|
||||
|
||||
tasks.withType(AbstractArchiveTask) {
|
||||
sourceCompatibility = '1.6'
|
||||
--
|
||||
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: 'idea'
|
||||
apply plugin: 'eclipse'
|
||||
@@ -29,10 +16,6 @@ tasks.withType(AbstractArchiveTask) {
|
||||
fileMode = 0664
|
||||
}
|
||||
@@ -22,10 +9,6 @@ configurations {
|
||||
targetCompatibility = '1.6'
|
||||
sourceCompatibility = '1.6'
|
||||
|
||||
-configurations {
|
||||
- deployerJars
|
||||
@@ -39,7 +39,7 @@ index fda0b61..eefeafe 100644
|
||||
dependencies {
|
||||
testCompile "junit:junit:4.12"
|
||||
|
||||
@@ -56,9 +39,6 @@ dependencies {
|
||||
@@ -45,9 +28,6 @@ dependencies {
|
||||
|
||||
// Potential Eclipse AST replacement (not used yet)
|
||||
//compile 'fr.inria.gforge.spoon:spoon-core:5.1.0'
|
||||
@@ -49,7 +49,7 @@ index fda0b61..eefeafe 100644
|
||||
}
|
||||
|
||||
repositories {
|
||||
@@ -84,86 +64,3 @@ jar {
|
||||
@@ -73,86 +53,3 @@ jar {
|
||||
exclude 'data/**'
|
||||
}
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
set -e
|
||||
set -x
|
||||
|
||||
cd gradle/reprod
|
||||
pushd gradle/reprod
|
||||
|
||||
SHA256SUM="sha256sum"
|
||||
command -v "$SHA256SUM" > /dev/null 2>&1 || SHA256SUM="shasum -a 256" # OSX
|
||||
@@ -44,7 +44,7 @@ setup_dep () {
|
||||
cp ../../../../gradlew .
|
||||
|
||||
chmod +x gradlew
|
||||
./gradlew build -x test
|
||||
./gradlew -I ../../init.gradle build -x test
|
||||
|
||||
actual_hash=$(sha256val "$jar")
|
||||
if [ "$actual_hash" != "$jarhash" ]; then
|
||||
@@ -87,3 +87,7 @@ pushd tmp
|
||||
git commit -m "Add build.gradle"
|
||||
git am ../patches/replaymod/*.patch
|
||||
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
|
||||
./gradle/reprod/setup.sh || exit
|
||||
./gradlew -Preprod "$@"
|
||||
./gradle/reprod/setup.sh "$@"
|
||||
exit
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user