Allow for reproducible builds
REPRODUCIBLE_BUILD=1 ./gradlew clean :build
This commit is contained in:
BIN
.gitignore
vendored
BIN
.gitignore
vendored
Binary file not shown.
@@ -109,7 +109,7 @@ jar {
|
||||
exclude { new File(file('jGui/src/main/resources'), it.relativePath.pathString).exists() }
|
||||
eachFile {
|
||||
if (getName() == 'LICENSE.txt') {
|
||||
setName(getFile().getParentFile().getName().split('-')[0] + '-LICENSE.txt')
|
||||
setName(getFile().getParentFile().getName().split('.jar_')[0] + '-LICENSE.txt')
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -165,7 +165,7 @@ sourceSets {
|
||||
resources {
|
||||
srcDir 'jGui/src/main/resources'
|
||||
}
|
||||
refMap = "mixins.replaymod.refmap.json"
|
||||
ext.refMap = "mixins.replaymod.refmap.json"
|
||||
}
|
||||
integrationTest {
|
||||
compileClasspath += main.runtimeClasspath + main.output
|
||||
|
||||
42
gradle/reprod/patches/fernflower/0001-Add-build.gradle.patch
Normal file
42
gradle/reprod/patches/fernflower/0001-Add-build.gradle.patch
Normal file
@@ -0,0 +1,42 @@
|
||||
From a1b7d25752424f267f5e9d299babc0403dbf7752 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Tue, 8 Aug 2017 19:44:44 +0200
|
||||
Subject: [PATCH] Add build.gradle
|
||||
|
||||
---
|
||||
build.gradle | 23 +++++++++++++++++++++++
|
||||
1 file changed, 23 insertions(+)
|
||||
create mode 100644 build.gradle
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
new file mode 100644
|
||||
index 0000000..22fa679
|
||||
--- /dev/null
|
||||
+++ b/build.gradle
|
||||
@@ -0,0 +1,23 @@
|
||||
+apply plugin: 'java'
|
||||
+
|
||||
+sourceCompatibility = 1.8
|
||||
+
|
||||
+sourceSets {
|
||||
+ main {
|
||||
+ java {
|
||||
+ srcDirs = ['src']
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+jar {
|
||||
+ manifest {
|
||||
+ attributes 'Main-Class': 'org.jetbrains.java.decompiler.main.decompiler.ConsoleDecompiler'
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+tasks.withType(AbstractArchiveTask) {
|
||||
+ preserveFileTimestamps = false
|
||||
+ reproducibleFileOrder = true
|
||||
+}
|
||||
+
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
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,11 @@ jar {
|
||||
}
|
||||
}
|
||||
|
||||
+tasks.withType(AbstractArchiveTask) {
|
||||
+ preserveFileTimestamps = false
|
||||
+ reproducibleFileOrder = true
|
||||
+}
|
||||
+
|
||||
javadoc {
|
||||
classpath += configurations.compileOnly
|
||||
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
From 2f3f4c59239b66e4ce09d2bbef39d7ce4eda44e9 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Mon, 7 Aug 2017 19:53:46 +0200
|
||||
Subject: [PATCH 2/5] Manually force reproducible archives
|
||||
|
||||
For some reason shading one of the libs isn't done in an
|
||||
reproducible way (produces different jar whenever jar task is run).
|
||||
---
|
||||
build.gradle | 21 +++++++++++++++++++++
|
||||
1 file changed, 21 insertions(+)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index 468733e..91ea99a 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -122,6 +122,10 @@ processResources {
|
||||
}
|
||||
}
|
||||
|
||||
+import java.util.jar.JarEntry
|
||||
+import java.util.jar.JarFile
|
||||
+import java.util.jar.JarOutputStream
|
||||
+
|
||||
jar {
|
||||
|
||||
configurations.shade.each { dep ->
|
||||
@@ -136,6 +140,23 @@ jar {
|
||||
attributes 'group':project.group
|
||||
attributes 'Implementation-Version': project.version + getGitHash()
|
||||
}
|
||||
+
|
||||
+ // For some reason using gradle's reproducibleFileOrder and preserveFileTimestamps just isn't enough
|
||||
+ doLast {
|
||||
+ File newFile = new File(archivePath.parent, 'tmp-' + archiveName)
|
||||
+ newFile.withOutputStream { fout ->
|
||||
+ JarOutputStream out = new JarOutputStream(fout)
|
||||
+ JarFile jf = new JarFile(archivePath)
|
||||
+ jf.entries().unique {it.name}.sort {it.name}.each {
|
||||
+ def copy = new JarEntry(it.name)
|
||||
+ copy.time = 0
|
||||
+ out.putNextEntry(copy)
|
||||
+ out << jf.getInputStream(it)
|
||||
+ }
|
||||
+ out.finish()
|
||||
+ }
|
||||
+ newFile.renameTo archivePath
|
||||
+ }
|
||||
}
|
||||
|
||||
tasks.withType(AbstractArchiveTask) {
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,161 @@
|
||||
From a4a52f38bd660caa61531ebecd2d11f764eb3691 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Mon, 7 Aug 2017 19:52:46 +0200
|
||||
Subject: [PATCH 3/5] Remove all buildscript dependencies
|
||||
|
||||
---
|
||||
build.gradle | 130 -----------------------------------------------------------
|
||||
1 file changed, 130 deletions(-)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index 91ea99a..8959f8f 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -1,21 +1,7 @@
|
||||
-buildscript {
|
||||
- repositories {
|
||||
- maven {
|
||||
- url "https://plugins.gradle.org/m2/"
|
||||
- }
|
||||
- }
|
||||
- dependencies {
|
||||
- classpath "com.gradle.publish:plugin-publish-plugin:0.9.1"
|
||||
- classpath 'nl.javadude.gradle.plugins:license-gradle-plugin:0.11.0'
|
||||
- }
|
||||
-}
|
||||
-
|
||||
apply plugin: 'java'
|
||||
apply plugin: 'idea'
|
||||
apply plugin: 'eclipse'
|
||||
apply plugin: 'maven'
|
||||
-apply plugin: "com.gradle.plugin-publish"
|
||||
-apply plugin: 'license'
|
||||
|
||||
group = 'net.minecraftforge.gradle'
|
||||
version = '2.3-SNAPSHOT'
|
||||
@@ -188,122 +174,6 @@ test {
|
||||
exclude "**/ExtensionMcpMappingTest*"
|
||||
}
|
||||
|
||||
-license {
|
||||
- ext {
|
||||
- description = 'A Gradle plugin for the creation of Minecraft mods and MinecraftForge plugins.'
|
||||
- year = '2013'
|
||||
- fullname = 'Minecraft Forge'
|
||||
- }
|
||||
- header rootProject.file('HEADER')
|
||||
- include '**net/minecraftforge/gradle/**/*.java'
|
||||
- excludes ([
|
||||
- '**net/minecraftforge/gradle/util/ZipFileTree.java',
|
||||
- '**net/minecraftforge/gradle/util/json/version/*',
|
||||
- '**net/minecraftforge/gradle/util/patching/Base64.java',
|
||||
- '**net/minecraftforge/gradle/util/patching/ContextualPatch.java'
|
||||
- ])
|
||||
- ignoreFailures false
|
||||
- strictCheck true
|
||||
- mapping {
|
||||
- java = 'SLASHSTAR_STYLE'
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-pluginBundle {
|
||||
- website = 'http://www.gradle.org/'
|
||||
- vcsUrl = 'https://github.com/MinecraftForge/ForgeGradle'
|
||||
- description = 'Gradle plugin for all Minecraft mod development needs'
|
||||
- tags = ['forge', 'minecraft', 'minecraftforge', 'sponge', 'mcp']
|
||||
-
|
||||
- plugins {
|
||||
- patcher {
|
||||
- id = 'net.minecraftforge.gradle.patcher'
|
||||
- displayName = 'Minicraft Patcher Plugin'
|
||||
- }
|
||||
- tweakerClient {
|
||||
- id = 'net.minecraftforge.gradle.tweaker-client'
|
||||
- displayName = 'Mincraft Client Tweaker Plugin'
|
||||
- }
|
||||
- tweakerServer {
|
||||
- id = 'net.minecraftforge.gradle.tweaker-server'
|
||||
- displayName = 'Mincraft Server Tweaker Plugin'
|
||||
- }
|
||||
- forge {
|
||||
- id = 'net.minecraftforge.gradle.forge'
|
||||
- displayName = 'MincraftForge Mod Development Plugin'
|
||||
- }
|
||||
-
|
||||
- launch4j {
|
||||
- id = 'net.minecraftforge.gradle.launch4j'
|
||||
- displayName = 'Specialized Launch4J Gradle Plugin'
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-uploadArchives {
|
||||
- repositories.mavenDeployer {
|
||||
-
|
||||
- dependsOn 'build'
|
||||
-
|
||||
- if (project.hasProperty('forgeMavenPass'))
|
||||
- {
|
||||
- repository(url: "http://files.minecraftforge.net/maven/manage/upload") {
|
||||
- authentication(userName: "forge", password: project.getProperty('forgeMavenPass'))
|
||||
- }
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- // local repo folder. Might wanna juset use gradle install if you wanans end it to maven-local
|
||||
- repository(url: 'file://localhost/' + project.file('repo').getAbsolutePath())
|
||||
- }
|
||||
-
|
||||
-
|
||||
- pom {
|
||||
- groupId = project.group
|
||||
- version = project.version
|
||||
- artifactId = project.archivesBaseName
|
||||
- project {
|
||||
- name project.archivesBaseName
|
||||
- packaging 'jar'
|
||||
- description 'Gradle plugin for Forge'
|
||||
- url 'https://github.com/MinecraftForge/ForgeGradle'
|
||||
-
|
||||
- scm {
|
||||
- url 'https://github.com/MinecraftForge/ForgeGradle'
|
||||
- connection 'scm:git:git://github.com/MinecraftForge/ForgeGradle.git'
|
||||
- developerConnection 'scm:git:git@github.com:MinecraftForge/ForgeGradle.git'
|
||||
- }
|
||||
-
|
||||
- issueManagement {
|
||||
- system 'github'
|
||||
- url 'https://github.com/MinecraftForge/ForgeGradle/issues'
|
||||
- }
|
||||
-
|
||||
- licenses {
|
||||
- license {
|
||||
- name 'Lesser GNU Public License, Version 2.1'
|
||||
- url 'https://www.gnu.org/licenses/lgpl-2.1.html'
|
||||
- distribution 'repo'
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- developers {
|
||||
- developer {
|
||||
- id 'AbrarSyed'
|
||||
- name 'Abrar Syed'
|
||||
- roles { role 'developer' }
|
||||
- }
|
||||
- developer {
|
||||
- id 'LexManos'
|
||||
- name 'Lex Manos'
|
||||
- roles { role 'developer' }
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
-
|
||||
// write out version so its convenient for doc deployment
|
||||
file('build').mkdirs()
|
||||
file('build/version.txt').text = version;
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,57 @@
|
||||
From 130d406cbe105303f9b14c342f02fc9a20782e32 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Mon, 7 Aug 2017 19:54:54 +0200
|
||||
Subject: [PATCH 4/5] Shade all the things (because we don't include deps as
|
||||
maven deps)
|
||||
|
||||
---
|
||||
build.gradle | 26 +++++++++++++-------------
|
||||
1 file changed, 13 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index 8959f8f..0bf7941 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -48,26 +48,26 @@ dependencies {
|
||||
compile gradleApi()
|
||||
|
||||
// moved to the beginning to be the overrider
|
||||
- compile 'org.ow2.asm:asm-debug-all:5.1'
|
||||
- compile 'com.google.guava:guava:18.0'
|
||||
+ shade 'org.ow2.asm:asm-debug-all:5.1'
|
||||
+ shade 'com.google.guava:guava:18.0'
|
||||
|
||||
- compile 'net.sf.opencsv:opencsv:2.3' // reading CSVs.. also used by SpecialSource
|
||||
- compile 'com.cloudbees:diff4j:1.1' // for difing and patching
|
||||
- compile 'com.github.abrarsyed.jastyle:jAstyle:1.3' // formatting
|
||||
- compile 'net.sf.trove4j:trove4j:2.1.0' // because its awesome.
|
||||
+ shade 'net.sf.opencsv:opencsv:2.3' // reading CSVs.. also used by SpecialSource
|
||||
+ shade 'com.cloudbees:diff4j:1.1' // for difing and patching
|
||||
+ shade 'com.github.abrarsyed.jastyle:jAstyle:1.3' // formatting
|
||||
+ shade 'net.sf.trove4j:trove4j:2.1.0' // because its awesome.
|
||||
|
||||
- compile 'com.github.jponge:lzma-java:1.3' // replaces the LZMA binary
|
||||
- compile 'com.nothome:javaxdelta:2.0.1' // GDIFF implementation for BinPatches
|
||||
- compile 'com.google.code.gson:gson:2.2.4' // Used instead of Argo for buuilding changelog.
|
||||
- compile 'com.github.tony19:named-regexp:0.2.3' // 1.7 Named regexp features
|
||||
- compile 'net.minecraftforge:forgeflower:1.0.342-SNAPSHOT' // Fernflower Forge edition
|
||||
+ shade 'com.github.jponge:lzma-java:1.3' // replaces the LZMA binary
|
||||
+ shade 'com.nothome:javaxdelta:2.0.1' // GDIFF implementation for BinPatches
|
||||
+ shade 'com.google.code.gson:gson:2.2.4' // Used instead of Argo for buuilding changelog.
|
||||
+ shade 'com.github.tony19:named-regexp:0.2.3' // 1.7 Named regexp features
|
||||
+ shade 'net.minecraftforge:forgeflower:1.0.342-SNAPSHOT' // Fernflower Forge edition
|
||||
|
||||
shade 'net.md-5:SpecialSource:1.7.4' // deobf and reobs
|
||||
// compile 'net.md-5:SpecialSource:1.7.4' // when md5 publishes
|
||||
|
||||
// because curse
|
||||
- compile 'org.apache.httpcomponents:httpclient:4.3.3'
|
||||
- compile 'org.apache.httpcomponents:httpmime:4.3.3'
|
||||
+ shade 'org.apache.httpcomponents:httpclient:4.3.3'
|
||||
+ shade 'org.apache.httpcomponents:httpmime:4.3.3'
|
||||
|
||||
// mcp stuff
|
||||
shade 'de.oceanlabs.mcp:RetroGuard:3.6.6'
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
From ffd1f38113d2ec550ae23be13df35c678bea5543 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Mon, 7 Aug 2017 19:53:15 +0200
|
||||
Subject: [PATCH 5/5] Add witness plugin
|
||||
|
||||
---
|
||||
build.gradle | 59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 59 insertions(+)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index 0bf7941..d1530fd 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -1,7 +1,14 @@
|
||||
+buildscript {
|
||||
+ dependencies {
|
||||
+ classpath files('../gradle-witness.jar')
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
apply plugin: 'java'
|
||||
apply plugin: 'idea'
|
||||
apply plugin: 'eclipse'
|
||||
apply plugin: 'maven'
|
||||
+apply plugin: 'witness'
|
||||
|
||||
group = 'net.minecraftforge.gradle'
|
||||
version = '2.3-SNAPSHOT'
|
||||
@@ -81,6 +88,58 @@ dependencies {
|
||||
testCompile 'junit:junit:4.12'
|
||||
}
|
||||
|
||||
+dependencyVerification {
|
||||
+ includedConfigurations += [configurations.shade, configurations.testCompile]
|
||||
+ verify = [
|
||||
+ 'org.ow2.asm:asm-debug-all:5.1:f7ac3f642c36c406543bb56ae3db3a53f263f71bd857b04709986e2d5798c8c4',
|
||||
+ 'net.sf.opencsv:opencsv:2.3:dc0ba5bff6140dc92339973026a0ecbddc2a3b01bdd46ed9d16becc2f6d78de6',
|
||||
+ 'com.cloudbees:diff4j:1.1:e6509db2167c983d254d3530c66a060443e91a6ca38df9fdc4ef2a88ad813fa5',
|
||||
+ 'com.github.abrarsyed.jastyle:jAstyle:1.3:4cad4ee2f1c379fa1f6496912fe026d8a4f2febf0a140ff867206b00a22f988f',
|
||||
+ 'net.sf.trove4j:trove4j:2.1.0:294fb88c272598b9a5dcae15f13d228e64134256de941fbc28917a994beeb075',
|
||||
+ 'com.github.jponge:lzma-java:1.3:75ccc0e24d37ed5b8916e1bcffad1e067c2b1cfa21b635287f968db5c3c1963a',
|
||||
+ 'com.nothome:javaxdelta:2.0.1:a661dfcb749053fc26eada2a0a8e619a8ead1ca9eda29e1698687aa2cdd80152',
|
||||
+ 'com.google.code.gson:gson:2.2.4:c0328cd07ca9e363a5acd00c1cf4afe8cf554bd6d373834981ba05cebec687fb',
|
||||
+ 'com.github.tony19:named-regexp:0.2.3:c6ebd74cd6108b8c372c95b842725ee5bd6d3303ba26cb00f18bc92f80b47956',
|
||||
+ 'net.minecraftforge:forgeflower:1.0.342-SNAPSHOT:ad7e63b8732da2c10d5923cc567386b8f172848259c3c2627298e6cd702df938',
|
||||
+ 'net.md-5:SpecialSource:1.7.4:b47c5d5810643426a3147ddb2195ef2ab67c80b167e7c2ac64a5d0dee8c030dd',
|
||||
+ 'org.apache.httpcomponents:httpclient:4.3.3:9844cc9b5440d65a88d28bcba9d771374d2dfdab898848cda164611091633013',
|
||||
+ 'org.apache.httpcomponents:httpmime:4.3.3:61434dbb2314cbb8d28025feb6ae53bbc45d1042daa34371d8911e1e7f570b36',
|
||||
+ 'de.oceanlabs.mcp:RetroGuard:3.6.6:22c45060f350fcaa94e503f4a420cf8237c26c0fcdb4ada4aa98389b75c7b231',
|
||||
+ 'de.oceanlabs.mcp:mcinjector:3.4-SNAPSHOT:4ad11e0943fb343225dace0000215113c8cbdede6949fa8ba653bdcf770cb028',
|
||||
+ 'net.minecraftforge.srg2source:Srg2Source:4.0-SNAPSHOT:99893440fe20bafc8193a790889239d4cc60dbe8b8be1e7698a31eaa3853e2fd',
|
||||
+ 'org.jvnet.localizer:localizer:1.12:212f6eaa0491dd7359dc33c3a72e82a23b096e1890d984b4d92395abc9a6bf7f',
|
||||
+ 'commons-io:commons-io:1.4:a7f713593007813bf07d19bd1df9f81c86c0719e9a0bb2ef1b98b78313fc940d',
|
||||
+ 'trove:trove:1.0.2:ad68a86cfd0255a2bc0525ce11ec49640caea7e34ff91eb89c3193dcccd77f05',
|
||||
+ 'net.sf.jopt-simple:jopt-simple:5.0.1:9f0c8d50fa4b79b6ff1502dbec8502179d6b9497cacbe17a13074001aed537ec',
|
||||
+ 'org.apache.httpcomponents:httpcore:4.3.2:abd02320e2356f89d054dae4cf02306bef20a9cf7865b3ac94ec7552b4f1528b',
|
||||
+ 'commons-logging:commons-logging:1.1.3:70903f6fc82e9908c8da9f20443f61d90f0870a312642991fe8462a0b9391784',
|
||||
+ 'commons-codec:commons-codec:1.6:54b34e941b8e1414bd3e40d736efd3481772dc26db3296f6aa45cec9f6203d86',
|
||||
+ 'org.eclipse.equinox:common:3.6.200-v20130402-1505:843414d0e457898b1615e4c9118f86ae0cf30dd5166b8b0a1d206fbdab5fbbae',
|
||||
+ 'org.eclipse.text:org.eclipse.text:3.5.101:1bacf311ac3d39cc53b03f8de7a4ccffc89c208938f0004a90c652383e927f18',
|
||||
+ 'org.eclipse.core:resources:3.2.1-R32x_v20060914:73f9a1a2403f7f9c44d11431c40be4641295f3620570bfef2168a66c5de68fee',
|
||||
+ 'org.eclipse.jdt:org.eclipse.jdt.core:3.12.0.v20160315-2126:2082ffb0bb8f276ca164a6363e394f902163a81b7df44ede13aed33d84fdf27e',
|
||||
+ 'fr.inria.gforge.spoon:spoon-core:5.1.0:08e0b3db3d116301f16142c88932daf954ac447427d609710c2a5ee8dfcfa1f7',
|
||||
+ 'org.eclipse.equinox:registry:3.5.400-v20140428-1507:a6833a81795978d4ad8d2e54597171e2a3447fd6983b8e902710aa1dc946fa24',
|
||||
+ 'org.eclipse.equinox:app:1.3.200-v20130910-1609:7b2ad6c43d922f3ba0d18d99879d1d56d6a994ba7b639d5d6276f1a167b6a7ac',
|
||||
+ 'org.eclipse.core:org.eclipse.core.commands:3.6.0:e46a6444a6d7c0fe70f196ce42d9700c4514b68bf55bae296b2e3c287883ffdc',
|
||||
+ 'org.eclipse.equinox:org.eclipse.equinox.common:3.6.0:32b046de57df2f4887fc5a2c343740d9d12c7fe17541e2cede73cfa4ccbc2436',
|
||||
+ 'org.eclipse.core.runtime:compatibility:3.1.200-v20070502:ddf19054374a2617ba9c10d7a5ec8eeaeb8f62c2c6e430144e81da15718bb585',
|
||||
+ 'org.eclipse.core:expressions:3.3.0-v20070606-0010:4a73a4a0ebf5ca5f7e9d5e8978b24cd72ebacd5b561de961517f4c976aa7e30f',
|
||||
+ 'org.eclipse.core:filesystem:1.1.0-v20070606:b418d15acf94545248f4bd55b4a9b62fc49246488758729d6b3ff52ae149df24',
|
||||
+ 'com.martiansoftware:jsap:2.1:331746fa62cfbc3368260c5a2e660936ad11be612308c120a044e120361d474e',
|
||||
+ 'log4j:log4j:1.2.17:1d31696445697720527091754369082a6651bd49781b6005deb94e56753406f9',
|
||||
+ 'org.eclipse.update:configurator:3.2.100-v20070615:88b506fa09a810b19517a2d45cb8f5eaa76c22b18abfbdcf36cd07aebfd56cb0',
|
||||
+ 'com.google.guava:guava:19.0:58d4cc2e05ebb012bbac568b032f75623be1cb6fb096f3c60c72a86f7f057de4',
|
||||
+ 'org.eclipse:osgi:3.10.0-v20140606-1445:fa1d59411d4d2667d8f15638af7c0ac44539234c0982c27a2b65ba06c32a0b3e',
|
||||
+ 'org.eclipse.core:jobs:3.6.0-v20140424-0053:ef971ecb154fba0cc06d913448640fb2e5ab3f9079c1c7854385d1c30d81a94f',
|
||||
+ 'org.eclipse.equinox:preferences:3.5.200-v20140224-1527:6498d32ab6503b49a44e0a0bfe1c2ac28ffb7e8f88acbdb4dda89d73092d8ca7',
|
||||
+ 'org.eclipse.core:contenttype:3.4.200-v20140207-1251:4dd6ec1376693bd8ac4e2ceacc7be70880920978f3fef31db4968e6ade001c87',
|
||||
+ 'org.eclipse.core:runtime:3.10.0-v20140318-2214:363ad8af4d8fc7f208b6fa640e490c7ba84b2aa78c26809e569bb1b0737ce9cb',
|
||||
+ 'junit:junit:4.12:59721f0805e223d84b90677887d9ff567dc534d7c502ca903c0c2b17f05c116a',
|
||||
+ 'org.hamcrest:hamcrest-core:1.3:66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9',
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
task wrapper(type: Wrapper) {
|
||||
gradleVersion = '2.14'
|
||||
}
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
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,8 @@ dependencies {
|
||||
sourceCompatibility = '1.7'
|
||||
targetCompatibility = '1.7'
|
||||
|
||||
+tasks.withType(AbstractArchiveTask) {
|
||||
+ preserveFileTimestamps = false
|
||||
+ reproducibleFileOrder = true
|
||||
+}
|
||||
+
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
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,11 @@ processResources {
|
||||
from 'LICENSE.txt'
|
||||
}
|
||||
|
||||
+tasks.withType(AbstractArchiveTask) {
|
||||
+ preserveFileTimestamps = false
|
||||
+ reproducibleFileOrder = true
|
||||
+}
|
||||
+
|
||||
// License header formatting
|
||||
license {
|
||||
ext {
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
From c245b961e83176a1731a7eaf1f1f3ffbefa1afb7 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Tue, 8 Aug 2017 19:08:56 +0200
|
||||
Subject: [PATCH 2/7] Remove/replace all buildscript dependencies
|
||||
|
||||
---
|
||||
build.gradle | 24 +-----------------------
|
||||
1 file changed, 1 insertion(+), 23 deletions(-)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index e0c46ea..165dbe4 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -1,17 +1,12 @@
|
||||
// Gradle repositories and dependencies
|
||||
buildscript {
|
||||
- repositories {
|
||||
- jcenter()
|
||||
- }
|
||||
dependencies {
|
||||
- classpath 'nl.javadude.gradle.plugins:license-gradle-plugin:0.11.0'
|
||||
- classpath 'com.github.jengelman.gradle.plugins:shadow:1.2.3'
|
||||
+ classpath files('../shadow.jar')
|
||||
}
|
||||
}
|
||||
|
||||
// Apply plugin
|
||||
apply plugin: 'java'
|
||||
-apply plugin: 'license'
|
||||
apply plugin: 'checkstyle'
|
||||
apply plugin: 'maven'
|
||||
apply plugin: 'eclipse'
|
||||
@@ -175,23 +170,6 @@ tasks.withType(AbstractArchiveTask) {
|
||||
reproducibleFileOrder = true
|
||||
}
|
||||
|
||||
-// License header formatting
|
||||
-license {
|
||||
- ext {
|
||||
- name = project.name
|
||||
- organization = project.organization
|
||||
- url = project.url
|
||||
- }
|
||||
- include '**/*.java'
|
||||
- header file("HEADER.txt")
|
||||
- sourceSets = project.sourceSets
|
||||
- ignoreFailures false
|
||||
- strictCheck true
|
||||
- mapping {
|
||||
- java = 'SLASHSTAR_STYLE'
|
||||
- }
|
||||
-}
|
||||
-
|
||||
checkstyle {
|
||||
configProperties = [
|
||||
"name" : project.name,
|
||||
--
|
||||
2.5.5
|
||||
|
||||
25
gradle/reprod/patches/mixin/0003-Fix-for-Gradle-3.patch
Normal file
25
gradle/reprod/patches/mixin/0003-Fix-for-Gradle-3.patch
Normal file
@@ -0,0 +1,25 @@
|
||||
From 0f250141ba6515dbeffeb0722bf29976850bb323 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Tue, 8 Aug 2017 19:13:17 +0200
|
||||
Subject: [PATCH 3/7] Fix for Gradle 3
|
||||
|
||||
---
|
||||
build.gradle | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index 165dbe4..0f189ec 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -92,7 +92,7 @@ dependencies {
|
||||
|
||||
// Task to read ASM library and rename packages
|
||||
task renamedASM {
|
||||
- outputs.file files(configurations.asm.files.findAll{!it.name.contains("sources")}.collect { file ->
|
||||
+ outputs.files files(configurations.asm.files.findAll{!it.name.contains("sources")}.collect { file ->
|
||||
new File(project.repositories['renamed-packages'].dirs[0], "mixin-" + file.name).path
|
||||
})
|
||||
doLast {
|
||||
--
|
||||
2.5.5
|
||||
|
||||
42
gradle/reprod/patches/mixin/0004-Disable-checkstyle.patch
Normal file
42
gradle/reprod/patches/mixin/0004-Disable-checkstyle.patch
Normal file
@@ -0,0 +1,42 @@
|
||||
From eb4fa04cf82067b20caa7222c154f8b6f7ab95ac Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Tue, 8 Aug 2017 19:13:45 +0200
|
||||
Subject: [PATCH 4/7] Disable checkstyle
|
||||
|
||||
---
|
||||
build.gradle | 12 ------------
|
||||
1 file changed, 12 deletions(-)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index 0f189ec..f8598a3 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -7,7 +7,6 @@ buildscript {
|
||||
|
||||
// Apply plugin
|
||||
apply plugin: 'java'
|
||||
-apply plugin: 'checkstyle'
|
||||
apply plugin: 'maven'
|
||||
apply plugin: 'eclipse'
|
||||
apply plugin: 'idea'
|
||||
@@ -170,17 +169,6 @@ tasks.withType(AbstractArchiveTask) {
|
||||
reproducibleFileOrder = true
|
||||
}
|
||||
|
||||
-checkstyle {
|
||||
- configProperties = [
|
||||
- "name" : project.name,
|
||||
- "organization": project.organization,
|
||||
- "url" : project.url,
|
||||
- "year" : project.inceptionYear
|
||||
- ]
|
||||
- configFile = file("checkstyle.xml")
|
||||
- toolVersion = '6.19'
|
||||
-}
|
||||
-
|
||||
// Source compiler configuration
|
||||
tasks.withType(JavaCompile) {
|
||||
options.compilerArgs += ['-Xlint:all', '-Xlint:-path']
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
From c66ba83e4b27f6f094c2dcdaaac095d3ca69b41c Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Tue, 8 Aug 2017 19:35:08 +0200
|
||||
Subject: [PATCH 5/7] Replace fernflower SNAPSHOT depencency
|
||||
|
||||
---
|
||||
build.gradle | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index f8598a3..e9a965b 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -143,8 +143,8 @@ dependencies {
|
||||
fernflowerCompile 'commons-io:commons-io:2.4'
|
||||
fernflowerCompile 'org.apache.logging.log4j:log4j-core:2.0-beta9'
|
||||
fernflowerCompile 'com.google.guava:guava:17.0'
|
||||
- fernflowerCompile 'org.jetbrains.java.decompiler:fernflower:sponge-SNAPSHOT'
|
||||
- compile 'org.jetbrains.java.decompiler:fernflower:sponge-SNAPSHOT'
|
||||
+ fernflowerCompile files('../fernflower.jar')
|
||||
+ compile files('../fernflower.jar')
|
||||
|
||||
compile('net.minecraft:launchwrapper:1.11') {
|
||||
exclude module: 'lwjgl'
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,56 @@
|
||||
From 6422d5985faeff394237a499e5529b765dd46b7e Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Tue, 8 Aug 2017 21:40:59 +0200
|
||||
Subject: [PATCH 6/7] Use TreeMap in ReferenceMapper for reproducibility
|
||||
|
||||
---
|
||||
.../java/org/spongepowered/asm/mixin/refmap/ReferenceMapper.java | 9 ++++-----
|
||||
1 file changed, 4 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/main/java/org/spongepowered/asm/mixin/refmap/ReferenceMapper.java b/src/main/java/org/spongepowered/asm/mixin/refmap/ReferenceMapper.java
|
||||
index 2a368e7..082b5dd 100644
|
||||
--- a/src/main/java/org/spongepowered/asm/mixin/refmap/ReferenceMapper.java
|
||||
+++ b/src/main/java/org/spongepowered/asm/mixin/refmap/ReferenceMapper.java
|
||||
@@ -29,7 +29,6 @@ import java.io.InputStream;
|
||||
import java.io.InputStreamReader;
|
||||
import java.io.Reader;
|
||||
import java.io.Serializable;
|
||||
-import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
@@ -71,13 +70,13 @@ public final class ReferenceMapper implements Serializable {
|
||||
* by the AP. Each entry is keyed by the owning mixin, with the value map
|
||||
* containing the actual remappings for each owner
|
||||
*/
|
||||
- private final Map<String, Map<String, String>> mappings = Maps.newHashMap();
|
||||
+ private final Map<String, Map<String, String>> mappings = Maps.newTreeMap();
|
||||
|
||||
/**
|
||||
* All mapping sets, keyed by environment type, eg. "notch", "searge". The
|
||||
* format of each map within this map is the same as for {@link #mappings}
|
||||
*/
|
||||
- private final Map<String, Map<String, Map<String, String>>> data = Maps.newHashMap();
|
||||
+ private final Map<String, Map<String, Map<String, String>>> data = Maps.newTreeMap();
|
||||
|
||||
/**
|
||||
* True if this refmap cannot be written. Only true for the
|
||||
@@ -191,13 +190,13 @@ public final class ReferenceMapper implements Serializable {
|
||||
if (context != null) {
|
||||
mappings = this.data.get(context);
|
||||
if (mappings == null) {
|
||||
- mappings = Maps.newHashMap();
|
||||
+ mappings = Maps.newTreeMap();
|
||||
this.data.put(context, mappings);
|
||||
}
|
||||
}
|
||||
Map<String, String> classMappings = mappings.get(className);
|
||||
if (classMappings == null) {
|
||||
- classMappings = new HashMap<String, String>();
|
||||
+ classMappings = Maps.newTreeMap();
|
||||
mappings.put(className, classMappings);
|
||||
}
|
||||
return classMappings.put(reference, newReference);
|
||||
--
|
||||
2.5.5
|
||||
|
||||
71
gradle/reprod/patches/mixin/0007-Add-witness-plugin.patch
Normal file
71
gradle/reprod/patches/mixin/0007-Add-witness-plugin.patch
Normal file
@@ -0,0 +1,71 @@
|
||||
From 6a90175bbe1a7cbb9d0eb6bb0bbb27ad451f4587 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Tue, 8 Aug 2017 19:20:46 +0200
|
||||
Subject: [PATCH 7/7] Add witness plugin
|
||||
|
||||
---
|
||||
build.gradle | 34 ++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 34 insertions(+)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index e9a965b..737be9e 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -2,6 +2,7 @@
|
||||
buildscript {
|
||||
dependencies {
|
||||
classpath files('../shadow.jar')
|
||||
+ classpath files('../gradle-witness.jar')
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,6 +12,7 @@ apply plugin: 'maven'
|
||||
apply plugin: 'eclipse'
|
||||
apply plugin: 'idea'
|
||||
apply plugin: 'com.github.johnrengelman.shadow'
|
||||
+apply plugin: 'witness'
|
||||
|
||||
// Default tasks
|
||||
defaultTasks 'licenseFormat', 'check', 'build'
|
||||
@@ -158,6 +160,38 @@ dependencies {
|
||||
bridgeCompile 'org.apache.logging.log4j:log4j-core:2.0-beta9'
|
||||
}
|
||||
|
||||
+dependencyVerification {
|
||||
+ includedConfigurations += [configurations.asm, configurations.jarjar, configurations.apCompile, configurations.agentCompile, configurations.fernflowerCompile, configurations.bridgeCompile]
|
||||
+ verify = [
|
||||
+ 'com.googlecode.jarjar:jarjar:1.1:4838f4f29a027522363cef1bcda1b48808880b0de4953fab6db4121ee27b649b',
|
||||
+ 'com.google.guava:guava:17.0:8c36a80ea613d0b6b8040a17cf837c5bbe3677bc1b06a058a6c174fdb787ebbc',
|
||||
+ 'com.google.code.gson:gson:2.2.4:c0328cd07ca9e363a5acd00c1cf4afe8cf554bd6d373834981ba05cebec687fb',
|
||||
+ 'commons-io:commons-io:2.4:cc6a41dc3eaacc9e440a6bd0d2890b20d36b4ee408fe2d67122f328bb6e01581',
|
||||
+ 'net.minecraft:launchwrapper:1.11:e74b65b8948446982a506a96176dd8baf4688237ba4903f56ca6f667b6c7ee42',
|
||||
+ 'org.apache.logging.log4j:log4j-core:2.0-beta9:dcde6033b205433d6e9855c93740f798951fa3a3f252035a768d9f356fde806d',
|
||||
+ 'org.apache.logging.log4j:log4j-api:2.0-beta9:eb0ca9bdd938f80711152a758d6bc331a8b0d769199d457294dc67ed03f73498',
|
||||
+ 'net.sf.jopt-simple:jopt-simple:4.5:64335a48be6b142a7d0c13ec5c82a707857aa58c0234e6eda3eaca0e96eea51b',
|
||||
+ 'org.ow2.asm:asm-debug-all:5.0.3:2969356ac1e40fe4141948c563690238f5d79d76aec7fd873536867a331ede81',
|
||||
+ 'org.ow2.asm:asm-debug-all:5.0.3-sources:1e9ee309d909b3dbf33291fcfd36c76adba4ed1215b8156c3ac61a774cc86bf1',
|
||||
+ 'com.googlecode.jarjar:jarjar:1.1:4838f4f29a027522363cef1bcda1b48808880b0de4953fab6db4121ee27b649b',
|
||||
+ 'com.google.guava:guava:17.0:8c36a80ea613d0b6b8040a17cf837c5bbe3677bc1b06a058a6c174fdb787ebbc',
|
||||
+ 'net.minecraft:launchwrapper:1.11:e74b65b8948446982a506a96176dd8baf4688237ba4903f56ca6f667b6c7ee42',
|
||||
+ 'org.apache.logging.log4j:log4j-core:2.0-beta9:dcde6033b205433d6e9855c93740f798951fa3a3f252035a768d9f356fde806d',
|
||||
+ 'org.ow2.asm:asm-debug-all:5.0.3:2969356ac1e40fe4141948c563690238f5d79d76aec7fd873536867a331ede81',
|
||||
+ 'org.apache.logging.log4j:log4j-api:2.0-beta9:eb0ca9bdd938f80711152a758d6bc331a8b0d769199d457294dc67ed03f73498',
|
||||
+ 'net.sf.jopt-simple:jopt-simple:4.5:64335a48be6b142a7d0c13ec5c82a707857aa58c0234e6eda3eaca0e96eea51b',
|
||||
+ 'commons-io:commons-io:2.4:cc6a41dc3eaacc9e440a6bd0d2890b20d36b4ee408fe2d67122f328bb6e01581',
|
||||
+ 'org.apache.logging.log4j:log4j-core:2.0-beta9:dcde6033b205433d6e9855c93740f798951fa3a3f252035a768d9f356fde806d',
|
||||
+ 'com.google.guava:guava:17.0:8c36a80ea613d0b6b8040a17cf837c5bbe3677bc1b06a058a6c174fdb787ebbc',
|
||||
+ 'org.apache.logging.log4j:log4j-api:2.0-beta9:eb0ca9bdd938f80711152a758d6bc331a8b0d769199d457294dc67ed03f73498',
|
||||
+ 'org.ow2.asm:asm-commons:5.0.3:18c1e092230233c9d29e46f21943d769bdb48130cc279e4b0e663f423948c2da',
|
||||
+ 'org.apache.logging.log4j:log4j-core:2.0-beta9:dcde6033b205433d6e9855c93740f798951fa3a3f252035a768d9f356fde806d',
|
||||
+ 'org.ow2.asm:asm-tree:5.0.3:347a7a9400f9964e87c91d3980e48eebdc8d024bc3b36f7f22189c662853a51c',
|
||||
+ 'org.apache.logging.log4j:log4j-api:2.0-beta9:eb0ca9bdd938f80711152a758d6bc331a8b0d769199d457294dc67ed03f73498',
|
||||
+ 'org.ow2.asm:asm:5.0.3:71c4f78e437b8fdcd9cc0dfd2abea8c089eb677005a6a5cff320206cc52b46cc',
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
// Filter, process, and include resources
|
||||
processResources {
|
||||
// Include in final JAR
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
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,11 @@ task groovydocJar(type: Jar, dependsOn: groovydoc) {
|
||||
classifier = 'groovydoc'
|
||||
}
|
||||
|
||||
+tasks.withType(AbstractArchiveTask) {
|
||||
+ preserveFileTimestamps = false
|
||||
+ reproducibleFileOrder = true
|
||||
+}
|
||||
+
|
||||
artifacts {
|
||||
archives jar
|
||||
archives groovydocJar
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,125 @@
|
||||
From f1130f071e67235b27e2bca95584dec25a8dec37 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Mon, 7 Aug 2017 20:04:56 +0200
|
||||
Subject: [PATCH 2/3] Remove all buildscript dependencies
|
||||
|
||||
---
|
||||
build.gradle | 91 ------------------------------------------------------------
|
||||
1 file changed, 91 deletions(-)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index c34a8a2..40169df 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -1,22 +1,6 @@
|
||||
-buildscript {
|
||||
- repositories {
|
||||
- maven {
|
||||
- url "https://plugins.gradle.org/m2/"
|
||||
- }
|
||||
- }
|
||||
- dependencies {
|
||||
- classpath 'nl.javadude.gradle.plugins:license-gradle-plugin:0.11.0'
|
||||
- classpath "com.gradle.publish:plugin-publish-plugin:0.9.1"
|
||||
- }
|
||||
-}
|
||||
-
|
||||
apply plugin: 'groovy'
|
||||
-apply plugin: 'license'
|
||||
apply plugin: 'maven'
|
||||
apply plugin: 'eclipse'
|
||||
-apply plugin: "com.gradle.plugin-publish"
|
||||
-
|
||||
-defaultTasks 'licenseFormat', 'build'
|
||||
|
||||
group = 'org.spongepowered'
|
||||
version = '0.4-SNAPSHOT'
|
||||
@@ -43,22 +27,6 @@ processResources {
|
||||
from 'LICENSE.txt'
|
||||
}
|
||||
|
||||
-license {
|
||||
- ext {
|
||||
- name = project.name
|
||||
- organization = project.organization
|
||||
- url = project.url
|
||||
- }
|
||||
- include '**/*.groovy'
|
||||
- header file("HEADER.txt")
|
||||
- sourceSets = project.sourceSets
|
||||
- ignoreFailures false
|
||||
- strictCheck true
|
||||
- mapping {
|
||||
- java = 'SLASHSTAR_STYLE'
|
||||
- }
|
||||
-}
|
||||
-
|
||||
jar.manifest.mainAttributes (
|
||||
"Built-By": System.properties['user.name'],
|
||||
"Created-By": System.properties['java.vm.version'] + " (" + System.properties['java.vm.vendor'] + ")",
|
||||
@@ -81,62 +49,3 @@ artifacts {
|
||||
archives groovydocJar
|
||||
}
|
||||
|
||||
-pluginBundle {
|
||||
- website = 'http://www.gradle.org/'
|
||||
- vcsUrl = 'https://github.com/SpongePowered/MixinGradle'
|
||||
- description = 'Gradle plugin for SpongePowered Mixin'
|
||||
- tags = ['spongepowered', 'sponge', 'mixin']
|
||||
- plugins {
|
||||
- patcher {
|
||||
- id = 'org.spongepowered.mixin'
|
||||
- displayName = 'SpongePowered Mixin Gradle Plugin'
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-uploadArchives {
|
||||
- repositories {
|
||||
-
|
||||
- mavenDeployer {
|
||||
- configuration = configurations.deployerJars
|
||||
-
|
||||
- if (project.hasProperty("chRepo"))
|
||||
- {
|
||||
- repository(url: project.chRepo) {
|
||||
- authentication(userName: project.chUsername, password: project.chPassword)
|
||||
- }
|
||||
- }
|
||||
-
|
||||
- pom {
|
||||
- groupId = project.group
|
||||
- version = project.version
|
||||
- artifactId = project.archivesBaseName
|
||||
- project {
|
||||
- name project.archivesBaseName
|
||||
- packaging 'jar'
|
||||
- description 'MixinGradle'
|
||||
- url 'http://www.spongepowered.org/'
|
||||
-
|
||||
- scm {
|
||||
- url 'https://github.com/SpongePowered/Mixin'
|
||||
- connection 'scm:git:git://github.com/SpongePowered/Mixin.git'
|
||||
- developerConnection 'scm:git:git@github.com:SpongePowered/Mixin.git'
|
||||
- }
|
||||
-
|
||||
- issueManagement {
|
||||
- system 'GitHub Issues'
|
||||
- url 'https://github.com/SpongePowered/MixinGradle/issues'
|
||||
- }
|
||||
-
|
||||
- licenses {
|
||||
- license {
|
||||
- name 'MIT license'
|
||||
- url 'http://opensource.org/licenses/MIT'
|
||||
- distribution 'repo'
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
- }
|
||||
-}
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,44 @@
|
||||
From 7c2f6c0d86940142671615402ba758185448e3cf Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Mon, 7 Aug 2017 20:05:30 +0200
|
||||
Subject: [PATCH 3/3] Add witness plugin
|
||||
|
||||
---
|
||||
build.gradle | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index 40169df..93f9764 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -1,6 +1,13 @@
|
||||
+buildscript {
|
||||
+ dependencies {
|
||||
+ classpath files('../gradle-witness.jar')
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
apply plugin: 'groovy'
|
||||
apply plugin: 'maven'
|
||||
apply plugin: 'eclipse'
|
||||
+apply plugin: 'witness'
|
||||
|
||||
group = 'org.spongepowered'
|
||||
version = '0.4-SNAPSHOT'
|
||||
@@ -23,6 +30,13 @@ dependencies {
|
||||
deployerJars 'org.apache.maven.wagon:wagon-ftp:2.7'
|
||||
}
|
||||
|
||||
+dependencyVerification {
|
||||
+ verify = [
|
||||
+ 'com.google.guava:guava:17.0:8c36a80ea613d0b6b8040a17cf837c5bbe3677bc1b06a058a6c174fdb787ebbc',
|
||||
+ 'org.ow2.asm:asm-debug-all:5.0.3:2969356ac1e40fe4141948c563690238f5d79d76aec7fd873536867a331ede81',
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
processResources {
|
||||
from 'LICENSE.txt'
|
||||
}
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
From 493dbd8ed387d661eef3e33ee614c79d7487f1bd Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Mon, 7 Aug 2017 20:41:05 +0200
|
||||
Subject: [PATCH 1/5] Replace buildscript dependencies with manually built ones
|
||||
|
||||
---
|
||||
build.gradle | 19 ++-----------------
|
||||
1 file changed, 2 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index ee24828..42d0607 100755
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -1,24 +1,9 @@
|
||||
import groovy.json.JsonOutput
|
||||
|
||||
buildscript {
|
||||
- repositories {
|
||||
- mavenCentral()
|
||||
- maven {
|
||||
- name = "forge"
|
||||
- url = "http://files.minecraftforge.net/maven"
|
||||
- }
|
||||
- maven {
|
||||
- name = "sponge"
|
||||
- url = "https://repo.spongepowered.org/maven"
|
||||
- }
|
||||
- maven {
|
||||
- name = "sonatype"
|
||||
- url = "https://oss.sonatype.org/content/repositories/snapshots/"
|
||||
- }
|
||||
- }
|
||||
dependencies {
|
||||
- classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
|
||||
- classpath 'org.spongepowered:mixingradle:0.4-SNAPSHOT'
|
||||
+ classpath files('gradle/reprod/deps/forgegradle.jar')
|
||||
+ classpath files('gradle/reprod/deps/mixingradle.jar')
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
From 9e4e7ac3f8ee5508939cf71e731189e4c0e1c7b5 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Tue, 8 Aug 2017 20:06:39 +0200
|
||||
Subject: [PATCH 2/5] Replace mixin dep with manually built one
|
||||
|
||||
---
|
||||
build.gradle | 4 +---
|
||||
1 file changed, 1 insertion(+), 3 deletions(-)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index 42d0607..bfa3914 100755
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -41,9 +41,7 @@ configurations {
|
||||
dependencies {
|
||||
compile 'org.projectlombok:lombok:1.16.4'
|
||||
|
||||
- compile('org.spongepowered:mixin:0.6.11-SNAPSHOT') {
|
||||
- exclude group: 'org.apache.logging.log4j'
|
||||
- }
|
||||
+ shade files('gradle/reprod/deps/mixin.jar')
|
||||
shade 'com.googlecode.mp4parser:isoparser:1.1.7'
|
||||
shade 'org.apache.commons:commons-exec:1.3'
|
||||
shade 'com.google.apis:google-api-services-youtube:v3-rev178-1.22.0'
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,41 @@
|
||||
From 9baa28ace59f2036e93fff379438c2553f02b6a8 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Mon, 7 Aug 2017 20:41:46 +0200
|
||||
Subject: [PATCH 3/5] Add witness plugin
|
||||
|
||||
---
|
||||
build.gradle | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index bfa3914..bee78ee 100755
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -4,11 +4,13 @@ buildscript {
|
||||
dependencies {
|
||||
classpath files('gradle/reprod/deps/forgegradle.jar')
|
||||
classpath files('gradle/reprod/deps/mixingradle.jar')
|
||||
+ classpath files('gradle/reprod/deps/gradle-witness.jar')
|
||||
}
|
||||
}
|
||||
|
||||
apply plugin: 'net.minecraftforge.gradle.forge'
|
||||
apply plugin: 'org.spongepowered.mixin'
|
||||
+apply plugin: 'witness'
|
||||
|
||||
sourceCompatibility = 1.8
|
||||
targetCompatibility = 1.8
|
||||
@@ -56,6 +58,10 @@ dependencies {
|
||||
testCompile 'junit:junit:4.11'
|
||||
}
|
||||
|
||||
+dependencyVerification {
|
||||
+ includedConfigurations += [configurations.shade, configurations.testCompile]
|
||||
+}
|
||||
+
|
||||
tasks['idea'].dependsOn ':ReplayStudio:preshadowJar'
|
||||
|
||||
jar {
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,109 @@
|
||||
From cbba1bbb1010408adb5227b5a928ca00cc19699a Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Mon, 7 Aug 2017 20:42:06 +0200
|
||||
Subject: [PATCH 4/5] Add checksums for witness plugin
|
||||
|
||||
---
|
||||
build.gradle | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 86 insertions(+)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index bee78ee..bda297b 100755
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -60,6 +60,92 @@ dependencies {
|
||||
|
||||
dependencyVerification {
|
||||
includedConfigurations += [configurations.shade, configurations.testCompile]
|
||||
+ verify = [
|
||||
+ 'com.googlecode.mp4parser:isoparser:1.1.7:ddbbf392f8e61f770a509a49aed5f32ead19768283b4b512c626e09e1ba5cc46',
|
||||
+ 'org.apache.commons:commons-exec:1.3:cb49812dc1bfb0ea4f20f398bcae1a88c6406e213e67f7524fb10d4f8ad9347b',
|
||||
+ 'com.google.apis:google-api-services-youtube:v3-rev178-1.22.0:88debb16c533600c3b0290a088f2de3b3a8318ff86ebe0bdbcefeab0a0eafb9e',
|
||||
+ 'com.google.api-client:google-api-client-gson:1.20.0:d68647ba10cfa33e0b6e538c704723229932795d5ee495288cec46a6156c5891',
|
||||
+ 'com.google.api-client:google-api-client-java6:1.20.0:df4f423f33f467d248e51deb555404771f7bc41430b2d4d1e49966c79c0b207b',
|
||||
+ 'com.google.oauth-client:google-oauth-client-jetty:1.20.0:daabf9d4e35d4015c2c917982463572856a5c8d7fa718e94edb2b6b114a2a8a2',
|
||||
+ 'org.aspectj:aspectjrt:1.8.2:c7964f00c3d3889c5223e8fcb7476610c59453c86bccc68ef493a56d171bf655',
|
||||
+ 'org.apache.commons:commons-lang3:3.3.2:6b81d10754dadf184d386011486e6509c2cc0c3d33565ced4fb4402b9413d47d',
|
||||
+ 'org.apache.commons:commons-collections4:4.0:93f8dfcd20831a28d092427723f696bceb70b28e7fb89d7914f14d5ea492ce5a',
|
||||
+ 'commons-cli:commons-cli:1.2:e7cd8951956d349b568b7ccfd4f5b2529a8c113e67c32b028f52ffda371259d9',
|
||||
+ 'com.google.guava:guava:21.0:972139718abc8a4893fa78cba8cf7b2c903f35c97aaf44fa3031b0669948b480',
|
||||
+ 'com.google.api-client:google-api-client:1.22.0:47c625c83a8cf97b8bbdff2acde923ff8fd3174e62aabcfc5d1b86692594ffba',
|
||||
+ 'com.google.http-client:google-http-client-gson:1.20.0:cc144c70d40acf7c6e6f773ac19a2ac6e3ed9830d8e33e32421ff21a91450994',
|
||||
+ 'com.google.oauth-client:google-oauth-client-java6:1.20.0:3149ae4fa222c7e804c5b7bc0d044702bc6bb8309b5ed94f6d350a5d4d657fc9',
|
||||
+ 'org.mortbay.jetty:jetty:6.1.26:21091d3a9c1349f640fdc421504a604c040ed89087ecc12afbe32353326ed4e5',
|
||||
+ 'com.google.code.gson:gson:2.1:35c94198255e95f6f11501eb4b3d43a5276bfdd142ab7c904722e69bff51f69e',
|
||||
+ 'org.mortbay.jetty:jetty-util:6.1.26:9b974ce2b99f48254b76126337dc45b21226f383aaed616f59780adaf167c047',
|
||||
+ 'org.mortbay.jetty:servlet-api:2.5-20081211:068756096996fe00f604ac3b6672d6f663dc777ea4a83056e240d0456e77e472',
|
||||
+ 'com.google.code.findbugs:jsr305:1.3.9:905721a0eea90a81534abb7ee6ef4ea2e5e645fa1def0a5cd88402df1b46c9ed',
|
||||
+ 'org.apache.httpcomponents:httpclient:4.0.1:752596ebdc7c9ae5d9a655de3bb06d078734679a9de23321dbf284ee44563c03',
|
||||
+ 'org.apache.httpcomponents:httpcore:4.0.1:3b6bf92affa85d4169a91547ce3c7093ed993b41ad2df80469fc768ad01e6b6b',
|
||||
+ 'commons-logging:commons-logging:1.1.1:ce6f913cad1f0db3aad70186d65c5bc7ffcc9a99e3fe8e0b137312819f7c362f',
|
||||
+ 'commons-codec:commons-codec:1.3:1bafd2ece2e88db4cdf835a7f8f0de65fab5b1147977a5dcc59b7c1b8c6f5080',
|
||||
+ 'org.projectlombok:lombok:1.16.6:e0a471be03e1e6b02bf019480cec7a3ac9801702bf7bf62f15d077ad4df8dd5d',
|
||||
+ 'com.google.http-client:google-http-client-jackson2:1.22.0:45b1e34b2dcef5cb496ef25a1223d19cf102b8c2ea4abf96491631b2faf4611c',
|
||||
+ 'com.google.guava:guava-jdk5:17.0:59bf456547b6dda3ced968cb56f7f2d3e14474e2de2960a32c47e31c1e456c61',
|
||||
+ 'com.fasterxml.jackson.core:jackson-core:2.1.3:754184022345800c2d066eceeaf2f7a88a7c2aaeae23eb1c76ef598854aa9157',
|
||||
+ 'com.google.oauth-client:google-oauth-client:1.22.0:a4c56168b3e042105d68cf136e40e74f6e27f63ed0a948df966b332678e19022',
|
||||
+ 'com.google.http-client:google-http-client:1.22.0:f88ffa329ac52fb4f2ff0eb877ef7318423ac9b791a107f886ed5c7a00e77e11',
|
||||
+ 'com.googlecode.mp4parser:isoparser:1.1.7:ddbbf392f8e61f770a509a49aed5f32ead19768283b4b512c626e09e1ba5cc46',
|
||||
+ 'org.apache.commons:commons-exec:1.3:cb49812dc1bfb0ea4f20f398bcae1a88c6406e213e67f7524fb10d4f8ad9347b',
|
||||
+ 'com.google.apis:google-api-services-youtube:v3-rev178-1.22.0:88debb16c533600c3b0290a088f2de3b3a8318ff86ebe0bdbcefeab0a0eafb9e',
|
||||
+ 'com.google.api-client:google-api-client-gson:1.20.0:d68647ba10cfa33e0b6e538c704723229932795d5ee495288cec46a6156c5891',
|
||||
+ 'com.google.api-client:google-api-client-java6:1.20.0:df4f423f33f467d248e51deb555404771f7bc41430b2d4d1e49966c79c0b207b',
|
||||
+ 'com.google.oauth-client:google-oauth-client-jetty:1.20.0:daabf9d4e35d4015c2c917982463572856a5c8d7fa718e94edb2b6b114a2a8a2',
|
||||
+ 'org.aspectj:aspectjrt:1.8.2:c7964f00c3d3889c5223e8fcb7476610c59453c86bccc68ef493a56d171bf655',
|
||||
+ 'com.google.api-client:google-api-client:1.22.0:47c625c83a8cf97b8bbdff2acde923ff8fd3174e62aabcfc5d1b86692594ffba',
|
||||
+ 'com.google.http-client:google-http-client-gson:1.20.0:cc144c70d40acf7c6e6f773ac19a2ac6e3ed9830d8e33e32421ff21a91450994',
|
||||
+ 'com.google.oauth-client:google-oauth-client-java6:1.20.0:3149ae4fa222c7e804c5b7bc0d044702bc6bb8309b5ed94f6d350a5d4d657fc9',
|
||||
+ 'org.mortbay.jetty:jetty:6.1.26:21091d3a9c1349f640fdc421504a604c040ed89087ecc12afbe32353326ed4e5',
|
||||
+ 'com.google.code.gson:gson:2.1:35c94198255e95f6f11501eb4b3d43a5276bfdd142ab7c904722e69bff51f69e',
|
||||
+ 'org.mortbay.jetty:jetty-util:6.1.26:9b974ce2b99f48254b76126337dc45b21226f383aaed616f59780adaf167c047',
|
||||
+ 'org.mortbay.jetty:servlet-api:2.5-20081211:068756096996fe00f604ac3b6672d6f663dc777ea4a83056e240d0456e77e472',
|
||||
+ 'com.google.code.findbugs:jsr305:1.3.9:905721a0eea90a81534abb7ee6ef4ea2e5e645fa1def0a5cd88402df1b46c9ed',
|
||||
+ 'org.apache.httpcomponents:httpclient:4.0.1:752596ebdc7c9ae5d9a655de3bb06d078734679a9de23321dbf284ee44563c03',
|
||||
+ 'org.apache.httpcomponents:httpcore:4.0.1:3b6bf92affa85d4169a91547ce3c7093ed993b41ad2df80469fc768ad01e6b6b',
|
||||
+ 'commons-logging:commons-logging:1.1.1:ce6f913cad1f0db3aad70186d65c5bc7ffcc9a99e3fe8e0b137312819f7c362f',
|
||||
+ 'commons-codec:commons-codec:1.3:1bafd2ece2e88db4cdf835a7f8f0de65fab5b1147977a5dcc59b7c1b8c6f5080',
|
||||
+ 'com.google.http-client:google-http-client-jackson2:1.22.0:45b1e34b2dcef5cb496ef25a1223d19cf102b8c2ea4abf96491631b2faf4611c',
|
||||
+ 'com.google.guava:guava-jdk5:17.0:59bf456547b6dda3ced968cb56f7f2d3e14474e2de2960a32c47e31c1e456c61',
|
||||
+ 'com.fasterxml.jackson.core:jackson-core:2.1.3:754184022345800c2d066eceeaf2f7a88a7c2aaeae23eb1c76ef598854aa9157',
|
||||
+ 'com.google.oauth-client:google-oauth-client:1.22.0:a4c56168b3e042105d68cf136e40e74f6e27f63ed0a948df966b332678e19022',
|
||||
+ 'com.google.http-client:google-http-client:1.22.0:f88ffa329ac52fb4f2ff0eb877ef7318423ac9b791a107f886ed5c7a00e77e11',
|
||||
+ 'com.googlecode.mp4parser:isoparser:1.1.7:ddbbf392f8e61f770a509a49aed5f32ead19768283b4b512c626e09e1ba5cc46',
|
||||
+ 'org.apache.commons:commons-exec:1.3:cb49812dc1bfb0ea4f20f398bcae1a88c6406e213e67f7524fb10d4f8ad9347b',
|
||||
+ 'com.google.apis:google-api-services-youtube:v3-rev178-1.22.0:88debb16c533600c3b0290a088f2de3b3a8318ff86ebe0bdbcefeab0a0eafb9e',
|
||||
+ 'com.google.api-client:google-api-client-gson:1.20.0:d68647ba10cfa33e0b6e538c704723229932795d5ee495288cec46a6156c5891',
|
||||
+ 'com.google.api-client:google-api-client-java6:1.20.0:df4f423f33f467d248e51deb555404771f7bc41430b2d4d1e49966c79c0b207b',
|
||||
+ 'com.google.oauth-client:google-oauth-client-jetty:1.20.0:daabf9d4e35d4015c2c917982463572856a5c8d7fa718e94edb2b6b114a2a8a2',
|
||||
+ 'org.aspectj:aspectjrt:1.8.2:c7964f00c3d3889c5223e8fcb7476610c59453c86bccc68ef493a56d171bf655',
|
||||
+ 'junit:junit:4.11:90a8e1603eeca48e7e879f3afbc9560715322985f39a274f6f6070b43f9d06fe',
|
||||
+ 'org.apache.commons:commons-lang3:3.3.2:6b81d10754dadf184d386011486e6509c2cc0c3d33565ced4fb4402b9413d47d',
|
||||
+ 'org.apache.commons:commons-collections4:4.0:93f8dfcd20831a28d092427723f696bceb70b28e7fb89d7914f14d5ea492ce5a',
|
||||
+ 'commons-cli:commons-cli:1.2:e7cd8951956d349b568b7ccfd4f5b2529a8c113e67c32b028f52ffda371259d9',
|
||||
+ 'com.google.guava:guava:21.0:972139718abc8a4893fa78cba8cf7b2c903f35c97aaf44fa3031b0669948b480',
|
||||
+ 'com.google.api-client:google-api-client:1.22.0:47c625c83a8cf97b8bbdff2acde923ff8fd3174e62aabcfc5d1b86692594ffba',
|
||||
+ 'com.google.http-client:google-http-client-gson:1.20.0:cc144c70d40acf7c6e6f773ac19a2ac6e3ed9830d8e33e32421ff21a91450994',
|
||||
+ 'com.google.oauth-client:google-oauth-client-java6:1.20.0:3149ae4fa222c7e804c5b7bc0d044702bc6bb8309b5ed94f6d350a5d4d657fc9',
|
||||
+ 'org.mortbay.jetty:jetty:6.1.26:21091d3a9c1349f640fdc421504a604c040ed89087ecc12afbe32353326ed4e5',
|
||||
+ 'org.hamcrest:hamcrest-core:1.3:66fdef91e9739348df7a096aa384a5685f4e875584cce89386a7a47251c4d8e9',
|
||||
+ 'com.google.code.gson:gson:2.1:35c94198255e95f6f11501eb4b3d43a5276bfdd142ab7c904722e69bff51f69e',
|
||||
+ 'org.mortbay.jetty:jetty-util:6.1.26:9b974ce2b99f48254b76126337dc45b21226f383aaed616f59780adaf167c047',
|
||||
+ 'org.mortbay.jetty:servlet-api:2.5-20081211:068756096996fe00f604ac3b6672d6f663dc777ea4a83056e240d0456e77e472',
|
||||
+ 'com.google.code.findbugs:jsr305:1.3.9:905721a0eea90a81534abb7ee6ef4ea2e5e645fa1def0a5cd88402df1b46c9ed',
|
||||
+ 'org.apache.httpcomponents:httpclient:4.0.1:752596ebdc7c9ae5d9a655de3bb06d078734679a9de23321dbf284ee44563c03',
|
||||
+ 'org.apache.httpcomponents:httpcore:4.0.1:3b6bf92affa85d4169a91547ce3c7093ed993b41ad2df80469fc768ad01e6b6b',
|
||||
+ 'commons-logging:commons-logging:1.1.1:ce6f913cad1f0db3aad70186d65c5bc7ffcc9a99e3fe8e0b137312819f7c362f',
|
||||
+ 'commons-codec:commons-codec:1.3:1bafd2ece2e88db4cdf835a7f8f0de65fab5b1147977a5dcc59b7c1b8c6f5080',
|
||||
+ 'org.projectlombok:lombok:1.16.6:e0a471be03e1e6b02bf019480cec7a3ac9801702bf7bf62f15d077ad4df8dd5d',
|
||||
+ 'com.google.http-client:google-http-client-jackson2:1.22.0:45b1e34b2dcef5cb496ef25a1223d19cf102b8c2ea4abf96491631b2faf4611c',
|
||||
+ 'com.google.guava:guava-jdk5:17.0:59bf456547b6dda3ced968cb56f7f2d3e14474e2de2960a32c47e31c1e456c61',
|
||||
+ 'com.fasterxml.jackson.core:jackson-core:2.1.3:754184022345800c2d066eceeaf2f7a88a7c2aaeae23eb1c76ef598854aa9157',
|
||||
+ 'com.google.oauth-client:google-oauth-client:1.22.0:a4c56168b3e042105d68cf136e40e74f6e27f63ed0a948df966b332678e19022',
|
||||
+ 'com.google.http-client:google-http-client:1.22.0:f88ffa329ac52fb4f2ff0eb877ef7318423ac9b791a107f886ed5c7a00e77e11',
|
||||
+ ]
|
||||
}
|
||||
|
||||
tasks['idea'].dependsOn ':ReplayStudio:preshadowJar'
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
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
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
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,11 @@ idea {
|
||||
}
|
||||
}
|
||||
|
||||
+tasks.withType(AbstractArchiveTask) {
|
||||
+ preserveFileTimestamps = false
|
||||
+ reproducibleFileOrder = true
|
||||
+}
|
||||
+
|
||||
sourceCompatibility = '1.6'
|
||||
targetCompatibility = '1.6'
|
||||
|
||||
--
|
||||
2.5.5
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
From 8105c498cb064c102197cf13d7efe4ebb1da65a7 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Tue, 8 Aug 2017 18:51:27 +0200
|
||||
Subject: [PATCH 2/4] Remove non-essential parts of build.gradle
|
||||
|
||||
---
|
||||
build.gradle | 78 ------------------------------------------------------------
|
||||
1 file changed, 78 deletions(-)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index 2292a4d..1b06411 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -1,48 +1,4 @@
|
||||
-import org.gradle.wrapper.Download
|
||||
-import org.gradle.wrapper.GradleUserHomeLookup
|
||||
-import org.gradle.wrapper.Install
|
||||
-import org.gradle.wrapper.PathAssembler
|
||||
-import org.gradle.wrapper.WrapperConfiguration
|
||||
-import org.gradle.wrapper.WrapperExecutor
|
||||
-import org.gradle.wrapper.Logger
|
||||
-
|
||||
-buildscript {
|
||||
- repositories {
|
||||
- jcenter()
|
||||
- maven {
|
||||
- url "https://plugins.gradle.org/m2/"
|
||||
- }
|
||||
- }
|
||||
- dependencies {
|
||||
- classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.5'
|
||||
- classpath "org.jfrog.buildinfo:build-info-extractor-gradle:3.0.0"
|
||||
- classpath "com.gradle.publish:plugin-publish-plugin:0.9.1"
|
||||
- classpath 'org.asciidoctor:asciidoctor-gradle-plugin:1.5.3'
|
||||
- classpath 'org.asciidoctor:asciidoctorj-pdf:1.5.0-alpha.11'
|
||||
- classpath 'org.asciidoctor:asciidoctorj-groovy-dsl:1.0.0.preview2'
|
||||
- classpath "com.bluepapa32:gradle-watch-plugin:0.1.5"
|
||||
- classpath "org.kordamp.gradle:livereload-gradle-plugin:0.2.1"
|
||||
- classpath 'org.ajoberstar:gradle-git:1.5.0'
|
||||
- }
|
||||
-}
|
||||
-
|
||||
-plugins {
|
||||
- id 'com.gradle.build-scan' version '1.0'
|
||||
-}
|
||||
-
|
||||
-buildScan {
|
||||
- licenseAgreementUrl = 'https://gradle.com/terms-of-service'
|
||||
- licenseAgree = 'yes'
|
||||
-}
|
||||
-
|
||||
apply plugin: 'groovy'
|
||||
-apply plugin: 'idea'
|
||||
-apply plugin: 'project-report'
|
||||
-
|
||||
-apply from: file('gradle/docs.gradle')
|
||||
-apply from: file('gradle/publish.gradle')
|
||||
-apply from: file('gradle/asciidoc.gradle')
|
||||
-apply from: file('gradle/ghPages.gradle')
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
@@ -60,24 +16,6 @@ dependencies {
|
||||
compile 'org.apache.ant:ant:1.9.4'
|
||||
compile 'org.codehaus.plexus:plexus-utils:2.0.6'
|
||||
compile 'org.codehaus.groovy:groovy-backports-compat23:2.4.4'
|
||||
-
|
||||
-
|
||||
- testCompile gradleTestKit()
|
||||
- testCompile("org.spockframework:spock-core:1.0-groovy-2.4") {
|
||||
- exclude module: 'groovy-all'
|
||||
- }
|
||||
- testCompile 'xmlunit:xmlunit:1.3'
|
||||
- testCompile 'commons-lang:commons-lang:2.6'
|
||||
- testCompile 'com.google.guava:guava:17.0'
|
||||
-}
|
||||
-
|
||||
-test {
|
||||
- dependsOn publishToMavenLocal
|
||||
- if (System.env.CI == 'true') {
|
||||
- testLogging.showStandardStreams = true
|
||||
- minHeapSize "1g"
|
||||
- maxHeapSize "1g"
|
||||
- }
|
||||
}
|
||||
|
||||
jar {
|
||||
@@ -85,12 +23,6 @@ jar {
|
||||
from rootProject.file('NOTICE')
|
||||
}
|
||||
|
||||
-idea {
|
||||
- project {
|
||||
- languageLevel = '1.6'
|
||||
- }
|
||||
-}
|
||||
-
|
||||
tasks.withType(AbstractArchiveTask) {
|
||||
preserveFileTimestamps = false
|
||||
reproducibleFileOrder = true
|
||||
@@ -99,13 +31,3 @@ tasks.withType(AbstractArchiveTask) {
|
||||
sourceCompatibility = '1.6'
|
||||
targetCompatibility = '1.6'
|
||||
|
||||
-task installWrappers << {
|
||||
- WrapperExecutor wrapperExecutor = WrapperExecutor.forWrapperPropertiesFile(file('gradle/wrapper/gradle-wrapper.properties'), System.out)
|
||||
- ['1.12', '2.0', '2.5', '2.11', '2.12', '2.13', '2.14', '3.0'].each {
|
||||
- WrapperConfiguration config = wrapperExecutor.config
|
||||
- config.setDistribution(new URI("https://services.gradle.org/distributions/gradle-$it-bin.zip"))
|
||||
- Install install = new Install(new Logger(true), new Download(new Logger(true), "gradlew", it),
|
||||
- new PathAssembler(GradleUserHomeLookup.gradleUserHome()))
|
||||
- install.createDist(config)
|
||||
- }
|
||||
-}
|
||||
--
|
||||
2.5.5
|
||||
|
||||
49
gradle/reprod/patches/shadow/0003-Add-witness-plugin.patch
Normal file
49
gradle/reprod/patches/shadow/0003-Add-witness-plugin.patch
Normal file
@@ -0,0 +1,49 @@
|
||||
From d06cec4bfa5981965faf2dad510d14e000d61ade Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Tue, 8 Aug 2017 18:53:57 +0200
|
||||
Subject: [PATCH 3/4] Add witness plugin
|
||||
|
||||
---
|
||||
build.gradle | 21 +++++++++++++++++++++
|
||||
1 file changed, 21 insertions(+)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index 1b06411..a0d350b 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -1,4 +1,11 @@
|
||||
+buildscript {
|
||||
+ dependencies {
|
||||
+ classpath files('../gradle-witness.jar')
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
apply plugin: 'groovy'
|
||||
+apply plugin: 'witness'
|
||||
|
||||
repositories {
|
||||
mavenLocal()
|
||||
@@ -18,6 +25,20 @@ dependencies {
|
||||
compile 'org.codehaus.groovy:groovy-backports-compat23:2.4.4'
|
||||
}
|
||||
|
||||
+dependencyVerification {
|
||||
+ verify = [
|
||||
+ 'org.jdom:jdom2:2.0.5:32ed093f39c46a8d99f801240069478eac93b35f07351c001f2cef4330e97b4a',
|
||||
+ 'org.ow2.asm:asm:5.0.3:71c4f78e437b8fdcd9cc0dfd2abea8c089eb677005a6a5cff320206cc52b46cc',
|
||||
+ 'org.ow2.asm:asm-commons:5.0.3:18c1e092230233c9d29e46f21943d769bdb48130cc279e4b0e663f423948c2da',
|
||||
+ 'commons-io:commons-io:2.4:cc6a41dc3eaacc9e440a6bd0d2890b20d36b4ee408fe2d67122f328bb6e01581',
|
||||
+ 'org.apache.ant:ant:1.9.4:649ae0730251de07b8913f49286d46bba7b92d47c5f332610aa426c4f02161d8',
|
||||
+ 'org.codehaus.plexus:plexus-utils:2.0.6:8b909f4ca9788647942f883d4e559bcc642123f7c6bcd3846983a2e465469c33',
|
||||
+ 'org.codehaus.groovy:groovy-backports-compat23:2.4.4:f07694998acb204782c72cc8067b237a04097a2170f07d440614883f14a67630',
|
||||
+ 'org.ow2.asm:asm-tree:5.0.3:347a7a9400f9964e87c91d3980e48eebdc8d024bc3b36f7f22189c662853a51c',
|
||||
+ 'org.apache.ant:ant-launcher:1.9.4:7bccea20b41801ca17bcbc909a78c835d0f443f12d639c77bd6ae3d05861608d',
|
||||
+ ]
|
||||
+}
|
||||
+
|
||||
jar {
|
||||
from rootProject.file('LICENSE')
|
||||
from rootProject.file('NOTICE')
|
||||
--
|
||||
2.5.5
|
||||
|
||||
54
gradle/reprod/patches/shadow/0004-Manually-shade-deps.patch
Normal file
54
gradle/reprod/patches/shadow/0004-Manually-shade-deps.patch
Normal file
@@ -0,0 +1,54 @@
|
||||
From cfca21accce1fb3fbd32b81fb79f0363dd7b61f4 Mon Sep 17 00:00:00 2001
|
||||
From: Jonas Herzig <me@johni0702.de>
|
||||
Date: Tue, 8 Aug 2017 19:59:34 +0200
|
||||
Subject: [PATCH 4/4] Manually shade deps
|
||||
|
||||
---
|
||||
build.gradle | 20 +++++++++++++-------
|
||||
1 file changed, 13 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/build.gradle b/build.gradle
|
||||
index a0d350b..b12a46d 100644
|
||||
--- a/build.gradle
|
||||
+++ b/build.gradle
|
||||
@@ -12,17 +12,22 @@ repositories {
|
||||
jcenter()
|
||||
}
|
||||
|
||||
+configurations {
|
||||
+ shade
|
||||
+ compile.extendsFrom shade
|
||||
+}
|
||||
+
|
||||
dependencies {
|
||||
|
||||
compile localGroovy()
|
||||
compile gradleApi()
|
||||
- compile 'org.jdom:jdom2:2.0.5'
|
||||
- compile 'org.ow2.asm:asm:5.0.3'
|
||||
- compile 'org.ow2.asm:asm-commons:5.0.3'
|
||||
- compile 'commons-io:commons-io:2.4'
|
||||
- compile 'org.apache.ant:ant:1.9.4'
|
||||
- compile 'org.codehaus.plexus:plexus-utils:2.0.6'
|
||||
- compile 'org.codehaus.groovy:groovy-backports-compat23:2.4.4'
|
||||
+ shade 'org.jdom:jdom2:2.0.5'
|
||||
+ shade 'org.ow2.asm:asm:5.0.3'
|
||||
+ shade 'org.ow2.asm:asm-commons:5.0.3'
|
||||
+ shade 'commons-io:commons-io:2.4'
|
||||
+ shade 'org.apache.ant:ant:1.9.4'
|
||||
+ shade 'org.codehaus.plexus:plexus-utils:2.0.6'
|
||||
+ shade 'org.codehaus.groovy:groovy-backports-compat23:2.4.4'
|
||||
}
|
||||
|
||||
dependencyVerification {
|
||||
@@ -42,6 +47,7 @@ dependencyVerification {
|
||||
jar {
|
||||
from rootProject.file('LICENSE')
|
||||
from rootProject.file('NOTICE')
|
||||
+ from (files(configurations.shade).collect {it.isDirectory() ? filesTree(it) : zipTree(it)})
|
||||
}
|
||||
|
||||
tasks.withType(AbstractArchiveTask) {
|
||||
--
|
||||
2.5.5
|
||||
|
||||
77
gradle/reprod/setup.sh
Executable file
77
gradle/reprod/setup.sh
Executable file
@@ -0,0 +1,77 @@
|
||||
#!/usr/bin/env bash
|
||||
set -e
|
||||
set -x
|
||||
|
||||
cd gradle/reprod
|
||||
|
||||
sha256val () {
|
||||
sha256sum $1 | cut -d' ' -f1
|
||||
}
|
||||
|
||||
setup_dep () {
|
||||
dep=$1
|
||||
url=$2
|
||||
commit=$3
|
||||
jar=$4
|
||||
jarhash=$5
|
||||
|
||||
[ -f "deps/$dep.jar" ] && [ "$(sha256val "deps/$dep.jar")" == "$jarhash" ] && return
|
||||
rm -rf "deps/$dep.jar"
|
||||
|
||||
if [ ! -d "deps/$dep" ] || [ "$(git -C "deps/$dep" rev-parse $commit^{commit})" != "$commit" ]; then
|
||||
rm -rf "deps/$dep"
|
||||
mkdir -p "deps/$dep"
|
||||
pushd "deps/$dep"
|
||||
git clone "$url" .
|
||||
git fetch origin $commit
|
||||
git checkout "$commit"
|
||||
popd
|
||||
fi
|
||||
|
||||
pushd "deps/$dep"
|
||||
git reset --hard "$commit"
|
||||
find ../../patches/$dep/ -name *.patch | sort | xargs -r git am
|
||||
git reset --soft "$commit" # Because forgegradle includes the commit hash in the jar
|
||||
|
||||
rm -rf gradle/wrapper gradlew
|
||||
[ ! -d gradle ] && mkdir gradle
|
||||
cp -r ../../../wrapper gradle/
|
||||
cp ../../../wrapper/gradle-wrapper.properties gradle/wrapper/
|
||||
cp ../../../../gradlew .
|
||||
|
||||
chmod +x gradlew
|
||||
./gradlew build -x test
|
||||
|
||||
actual_hash=$(sha256val "build/libs/$jar")
|
||||
if [ "$actual_hash" != "$jarhash" ]; then
|
||||
echo "Failed to verify checksum of build artifact of dependency: $dep"
|
||||
echo "Expected: $jarhash"
|
||||
echo "But was: $actual_hash"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cp "build/libs/$jar" "../$dep.jar"
|
||||
popd
|
||||
}
|
||||
|
||||
# Required for all
|
||||
setup_dep "gradle-witness" "https://github.com/ReplayMod/gradle-witness.git" "c162a15841c2eba54b182fa81733c0aa9227f023" "gradle-witness.jar" "5e9ce687248029bf6364010168a65a4ad66fcb712dbd5ba69c59697ef564964b"
|
||||
|
||||
# Required for mixin
|
||||
setup_dep "shadow" "https://github.com/johnrengelman/shadow.git" "60d0f28103be076dc991a624bf79ca7a13835973" "shadow.jar" "0a7a280d5f7c58ff513f448537ceb77eda788df6cbdeacd60f63f70142ff39b3"
|
||||
setup_dep "fernflower" "https://github.com/fesh0r/fernflower.git" "85f61bee8194ab69afa746b965973a18eda67608" "fernflower.jar" "577c2c4e04f0026675cacb25ec525f2ccba5de2eecac525b28bed18f9ccfd790"
|
||||
|
||||
# Required for RM
|
||||
setup_dep "mixingradle" "https://github.com/SpongePowered/MixinGradle.git" "3d81c8e202ec435056fb2068fdc34cfefa99be2d" "mixingradle-0.4-SNAPSHOT.jar" "a2b23727ed920ef2b9098f55634ede8d2ae5d04d910c0d572e45c33cff1cd281"
|
||||
setup_dep "forgegradle" "https://github.com/MinecraftForge/ForgeGradle.git" "a228a836a2dc5ce546d2d53c48760f52f082d7ad" "ForgeGradle-2.3-SNAPSHOT.jar" "c885787f66811bf8edf0ced326d20c56428b447e8f0d29f37679f381d3e1f7ff"
|
||||
setup_dep "mixin" "https://github.com/SpongePowered/Mixin.git" "b558323da3bd6ce94aeb442bfd7357f6c40d2fd4" "mixin-0.6.11-SNAPSHOT.jar" "0563b206db37f2f22b024b1736084afa2f30b0193b1a14e89cf9d99a3db26e1d"
|
||||
|
||||
rm -rf tmp
|
||||
mkdir tmp
|
||||
pushd tmp
|
||||
cp ../../../build.gradle build.gradle
|
||||
git init
|
||||
git add build.gradle
|
||||
git commit -m "Add build.gradle"
|
||||
git am ../patches/replaymod/*.patch
|
||||
popd
|
||||
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
BIN
gradle/wrapper/gradle-wrapper.jar
vendored
Binary file not shown.
4
gradle/wrapper/gradle-wrapper.properties
vendored
4
gradle/wrapper/gradle-wrapper.properties
vendored
@@ -1,6 +1,6 @@
|
||||
#Sun May 10 21:57:58 CEST 2015
|
||||
distributionBase=GRADLE_USER_HOME
|
||||
distributionPath=wrapper/dists
|
||||
zipStoreBase=GRADLE_USER_HOME
|
||||
zipStorePath=wrapper/dists
|
||||
distributionUrl=http\://services.gradle.org/distributions/gradle-2.11-all.zip
|
||||
distributionUrl=http\://services.gradle.org/distributions/gradle-3.5.1-all.zip
|
||||
distributionSha256Sum=69d99ade952de3727b65a88f3188ee72231ff4e28c2d00aacfc96a42c6d6f303
|
||||
|
||||
16
gradlew
vendored
16
gradlew
vendored
@@ -6,6 +6,12 @@
|
||||
##
|
||||
##############################################################################
|
||||
|
||||
if [ "$REPRODUCIBLE_BUILD" == "1" ] && [ -f ./gradle/reprod/setup.sh ] && [ "$1" != "-Preprod" ]; then
|
||||
./gradle/reprod/setup.sh || exit
|
||||
./gradlew -Preprod "$@"
|
||||
exit
|
||||
fi
|
||||
|
||||
# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
|
||||
DEFAULT_JVM_OPTS=""
|
||||
|
||||
@@ -42,11 +48,6 @@ case "`uname`" in
|
||||
;;
|
||||
esac
|
||||
|
||||
# For Cygwin, ensure paths are in UNIX format before anything is touched.
|
||||
if $cygwin ; then
|
||||
[ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
|
||||
fi
|
||||
|
||||
# Attempt to set APP_HOME
|
||||
# Resolve links: $0 may be a link
|
||||
PRG="$0"
|
||||
@@ -61,9 +62,9 @@ while [ -h "$PRG" ] ; do
|
||||
fi
|
||||
done
|
||||
SAVED="`pwd`"
|
||||
cd "`dirname \"$PRG\"`/" >&-
|
||||
cd "`dirname \"$PRG\"`/" >/dev/null
|
||||
APP_HOME="`pwd -P`"
|
||||
cd "$SAVED" >&-
|
||||
cd "$SAVED" >/dev/null
|
||||
|
||||
CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
|
||||
|
||||
@@ -114,6 +115,7 @@ fi
|
||||
if $cygwin ; then
|
||||
APP_HOME=`cygpath --path --mixed "$APP_HOME"`
|
||||
CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
|
||||
JAVACMD=`cygpath --unix "$JAVACMD"`
|
||||
|
||||
# We build the pattern for arguments to be converted via cygpath
|
||||
ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
|
||||
|
||||
2
gradlew.bat
vendored
2
gradlew.bat
vendored
@@ -46,7 +46,7 @@ echo location of your Java installation.
|
||||
goto fail
|
||||
|
||||
:init
|
||||
@rem Get command-line arguments, handling Windowz variants
|
||||
@rem Get command-line arguments, handling Windows variants
|
||||
|
||||
if not "%OS%" == "Windows_NT" goto win9xME_args
|
||||
if "%@eval[2+2]" == "4" goto 4NT_args
|
||||
|
||||
@@ -1 +1,5 @@
|
||||
include 'ReplayStudio'
|
||||
include 'ReplayStudio'
|
||||
|
||||
if (System.getenv('REPRODUCIBLE_BUILD') == '1') {
|
||||
rootProject.buildFileName = 'gradle/reprod/tmp/build.gradle'
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user