Allow for reproducible builds
REPRODUCIBLE_BUILD=1 ./gradlew clean :build
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user