Re-write reprod to support all versions in one tree

This commit is contained in:
Jonas Herzig
2018-02-21 19:44:59 +01:00
parent aabc3b52fe
commit ad6345de88
23 changed files with 702 additions and 375 deletions

View File

@@ -0,0 +1,84 @@
From 5d778fec168a72d41df672ad38ee5f01973916ce Mon Sep 17 00:00:00 2001
From: Jonas Herzig <me@johni0702.de>
Date: Sat, 2 Sep 2017 15:40:15 +0200
Subject: [PATCH] Fix compilation with newer gradle versions
---
src/main/java/net/minecraftforge/gradle/tasks/CreateStartTask.java | 1 -
src/main/java/net/minecraftforge/gradle/user/TaskRecompileMc.java | 1 -
src/main/java/net/minecraftforge/gradle/user/UserBasePlugin.java | 1 -
.../java/net/minecraftforge/gradle/util/SourceDirSetSupplier.java | 4 ++--
src/main/java/net/minecraftforge/gradle/util/json/JsonFactory.java | 1 -
5 files changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/main/java/net/minecraftforge/gradle/tasks/CreateStartTask.java b/src/main/java/net/minecraftforge/gradle/tasks/CreateStartTask.java
index 1de9ac3..8d0a5a5 100644
--- a/src/main/java/net/minecraftforge/gradle/tasks/CreateStartTask.java
+++ b/src/main/java/net/minecraftforge/gradle/tasks/CreateStartTask.java
@@ -128,7 +128,6 @@ public class CreateStartTask extends CachedTask
LoggingManager log = getLogging();
LogLevel startLevel = getProject().getGradle().getStartParameter().getLogLevel();
if (startLevel.compareTo(LogLevel.LIFECYCLE) >= 0) {
- log.setLevel(LogLevel.ERROR);
}
// INVOKE!
this.getAnt().invokeMethod("javac", ImmutableMap.builder()
diff --git a/src/main/java/net/minecraftforge/gradle/user/TaskRecompileMc.java b/src/main/java/net/minecraftforge/gradle/user/TaskRecompileMc.java
index 224292c..f61618c 100644
--- a/src/main/java/net/minecraftforge/gradle/user/TaskRecompileMc.java
+++ b/src/main/java/net/minecraftforge/gradle/user/TaskRecompileMc.java
@@ -86,7 +86,6 @@ public class TaskRecompileMc extends CachedTask
LoggingManager log = getLogging();
LogLevel startLevel = getProject().getGradle().getStartParameter().getLogLevel();
if (startLevel.compareTo(LogLevel.LIFECYCLE) >= 0) {
- log.setLevel(LogLevel.ERROR);
}
// recompile
diff --git a/src/main/java/net/minecraftforge/gradle/user/UserBasePlugin.java b/src/main/java/net/minecraftforge/gradle/user/UserBasePlugin.java
index 98391fc..9408a07 100644
--- a/src/main/java/net/minecraftforge/gradle/user/UserBasePlugin.java
+++ b/src/main/java/net/minecraftforge/gradle/user/UserBasePlugin.java
@@ -37,7 +37,6 @@ import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
-import com.beust.jcommander.internal.Lists;
import org.gradle.api.Action;
import org.gradle.api.DefaultTask;
import org.gradle.api.NamedDomainObjectContainer;
diff --git a/src/main/java/net/minecraftforge/gradle/util/SourceDirSetSupplier.java b/src/main/java/net/minecraftforge/gradle/util/SourceDirSetSupplier.java
index 4e9dbe5..4f3744e 100644
--- a/src/main/java/net/minecraftforge/gradle/util/SourceDirSetSupplier.java
+++ b/src/main/java/net/minecraftforge/gradle/util/SourceDirSetSupplier.java
@@ -19,13 +19,13 @@
*/
package net.minecraftforge.gradle.util;
-import com.beust.jcommander.internal.Lists;
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
import net.minecraftforge.srg2source.util.io.InputSupplier;
import net.minecraftforge.srg2source.util.io.OutputSupplier;
import org.gradle.api.file.FileVisitDetails;
import org.gradle.api.file.FileVisitor;
import org.gradle.api.file.SourceDirectorySet;
-import org.testng.collections.Maps;
import java.io.*;
import java.util.List;
diff --git a/src/main/java/net/minecraftforge/gradle/util/json/JsonFactory.java b/src/main/java/net/minecraftforge/gradle/util/json/JsonFactory.java
index b75f653..fa61537 100644
--- a/src/main/java/net/minecraftforge/gradle/util/json/JsonFactory.java
+++ b/src/main/java/net/minecraftforge/gradle/util/json/JsonFactory.java
@@ -26,7 +26,6 @@ import java.io.IOException;
import java.util.*;
import java.util.Map.Entry;
-import com.beust.jcommander.internal.Lists;
import com.google.common.base.Strings;
import com.google.common.reflect.TypeToken;
import com.google.gson.Gson;
--
2.9.5

View File

@@ -0,0 +1,75 @@
From 7127699cb761a518cce8872b0b78694e357f21fe Mon Sep 17 00:00:00 2001
From: Jonas Herzig <me@johni0702.de>
Date: Mon, 28 Aug 2017 17:50:38 +0200
Subject: [PATCH] Replace https urls with http for proxy-witness
---
.../java/net/minecraftforge/gradle/common/BasePlugin.java | 13 ++++++++++---
.../java/net/minecraftforge/gradle/common/Constants.java | 4 ++--
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/src/main/java/net/minecraftforge/gradle/common/BasePlugin.java b/src/main/java/net/minecraftforge/gradle/common/BasePlugin.java
index df369f1..e3e50c0 100644
--- a/src/main/java/net/minecraftforge/gradle/common/BasePlugin.java
+++ b/src/main/java/net/minecraftforge/gradle/common/BasePlugin.java
@@ -350,6 +350,13 @@ public abstract class BasePlugin<K extends BaseExtension> implements Plugin<Proj
// not required.. but you probably wanan implement this
}
+ private static String http(String url) {
+ if (url.startsWith("https://")) {
+ url = "http" + url.substring("https".length());
+ }
+ return url;
+ }
+
@SuppressWarnings("serial")
private void makeCommonTasks()
{
@@ -358,7 +365,7 @@ public abstract class BasePlugin<K extends BaseExtension> implements Plugin<Proj
@Override
public String call()
{
- return mcManifest.get(getExtension().getVersion()).url;
+ return http(mcManifest.get(getExtension().getVersion()).url);
}
});
getVersionJson.setFile(delayedFile(JSON_VERSION));
@@ -435,7 +442,7 @@ public abstract class BasePlugin<K extends BaseExtension> implements Plugin<Proj
@Override
public String call()
{
- return mcVersionJson.getClientUrl();
+ return http(mcVersionJson.getClientUrl());
}
});
@@ -449,7 +456,7 @@ public abstract class BasePlugin<K extends BaseExtension> implements Plugin<Proj
@Override
public String call()
{
- return mcVersionJson.getServerUrl();
+ return http(mcVersionJson.getServerUrl());
}
});
diff --git a/src/main/java/net/minecraftforge/gradle/common/Constants.java b/src/main/java/net/minecraftforge/gradle/common/Constants.java
index b42b1c2..a0753e0 100644
--- a/src/main/java/net/minecraftforge/gradle/common/Constants.java
+++ b/src/main/java/net/minecraftforge/gradle/common/Constants.java
@@ -115,10 +115,10 @@ public class Constants
// urls
- public static final String URL_MC_MANIFEST = "https://launchermeta.mojang.com/mc/game/version_manifest.json";
+ public static final String URL_MC_MANIFEST = "http://launchermeta.mojang.com/mc/game/version_manifest.json";
public static final String URL_FF = "http://files.minecraftforge.net/fernflower-fix-1.0.zip";
public static final String URL_ASSETS = "http://resources.download.minecraft.net";
- public static final String URL_LIBRARY = "https://libraries.minecraft.net/";
+ public static final String URL_LIBRARY = "http://libraries.minecraft.net/";
public static final String URL_FORGE_MAVEN = "http://files.minecraftforge.net/maven";
public static final String URL_MCP_JSON = "http://export.mcpbot.bspk.rs/versions.json";
--
2.5.5

View File

@@ -0,0 +1,75 @@
From 7127699cb761a518cce8872b0b78694e357f21fe Mon Sep 17 00:00:00 2001
From: Jonas Herzig <me@johni0702.de>
Date: Mon, 28 Aug 2017 17:50:38 +0200
Subject: [PATCH] Replace https urls with http for proxy-witness
---
.../java/net/minecraftforge/gradle/common/BasePlugin.java | 13 ++++++++++---
.../java/net/minecraftforge/gradle/common/Constants.java | 4 ++--
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/src/main/java/net/minecraftforge/gradle/common/BasePlugin.java b/src/main/java/net/minecraftforge/gradle/common/BasePlugin.java
index df369f1..e3e50c0 100644
--- a/src/main/java/net/minecraftforge/gradle/common/BasePlugin.java
+++ b/src/main/java/net/minecraftforge/gradle/common/BasePlugin.java
@@ -350,6 +350,13 @@ public abstract class BasePlugin<K extends BaseExtension> implements Plugin<Proj
deps.add(CONFIG_FFI_DEPS, deps.localGroovy());
}
+ private static String http(String url) {
+ if (url.startsWith("https://")) {
+ url = "http" + url.substring("https".length());
+ }
+ return url;
+ }
+
@SuppressWarnings("serial")
private void makeCommonTasks()
{
@@ -358,7 +365,7 @@ public abstract class BasePlugin<K extends BaseExtension> implements Plugin<Proj
@Override
public String call()
{
- return mcManifest.get(getExtension().getVersion()).url;
+ return http(mcManifest.get(getExtension().getVersion()).url);
}
});
getVersionJson.setFile(delayedFile(JSON_VERSION));
@@ -435,7 +442,7 @@ public abstract class BasePlugin<K extends BaseExtension> implements Plugin<Proj
@Override
public String call()
{
- return mcVersionJson.getClientUrl();
+ return http(mcVersionJson.getClientUrl());
}
});
@@ -449,7 +456,7 @@ public abstract class BasePlugin<K extends BaseExtension> implements Plugin<Proj
@Override
public String call()
{
- return mcVersionJson.getServerUrl();
+ return http(mcVersionJson.getServerUrl());
}
});
diff --git a/src/main/java/net/minecraftforge/gradle/common/Constants.java b/src/main/java/net/minecraftforge/gradle/common/Constants.java
index b42b1c2..a0753e0 100644
--- a/src/main/java/net/minecraftforge/gradle/common/Constants.java
+++ b/src/main/java/net/minecraftforge/gradle/common/Constants.java
@@ -115,10 +115,10 @@ public class Constants
// urls
- public static final String URL_MC_MANIFEST = "https://launchermeta.mojang.com/mc/game/version_manifest.json";
+ public static final String URL_MC_MANIFEST = "http://launchermeta.mojang.com/mc/game/version_manifest.json";
public static final String URL_FF = "http://files.minecraftforge.net/fernflower-fix-1.0.zip";
public static final String URL_ASSETS = "http://resources.download.minecraft.net";
- public static final String URL_LIBRARY = "https://libraries.minecraft.net/"; // Mojang's Cloudflare front end
+ public static final String URL_LIBRARY = "http://libraries.minecraft.net/"; // Mojang's Cloudflare front end
//public static final String URL_LIBRARY = "https://minecraft-libraries.s3.amazonaws.com/"; // Mojang's AWS server, as Cloudflare is having issues, TODO: Switch back to above when their servers are fixed.
public static final String URL_FORGE_MAVEN = "http://files.minecraftforge.net/maven";
public static final List<String> URLS_MCP_JSON = Arrays.asList(
--
2.5.5

View File

@@ -1,41 +0,0 @@
From 2309fc9515d4010c5d9db89008660e3e60ea529b Mon Sep 17 00:00:00 2001
From: Jonas Herzig <me@johni0702.de>
Date: Sat, 26 Aug 2017 17:40:48 +0200
Subject: [PATCH] Replace SNAPSHOT deps with manually built ones
---
build.gradle | 49 +++----------------------------------------------
1 file changed, 3 insertions(+), 46 deletions(-)
diff --git a/build.gradle b/build.gradle
index bfadecd..774a015 100644
--- a/build.gradle
+++ b/build.gradle
@@ -67,10 +67,10 @@ dependencies {
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
+ compile 'reprod:forgeflower:0' // Fernflower Forge edition
- shade 'net.md-5:SpecialSource:1.8.1-SNAPSHOT' // deobf and reobs
- // shade 'net.md-5:SpecialSource:1.8.1' // when md5 publishes
+ // shade 'net.md-5:SpecialSource:1.8.1-SNAPSHOT' // deobf and reobs
+ shade 'net.md-5:SpecialSource:1.8.1' // when md5 publishes
// because curse
compile 'org.apache.httpcomponents:httpclient:4.3.3'
@@ -78,8 +78,8 @@ dependencies {
// mcp stuff
shade 'de.oceanlabs.mcp:RetroGuard:3.6.6'
- shade 'de.oceanlabs.mcp:mcinjector:3.4-SNAPSHOT'
- shade 'net.minecraftforge.srg2source:Srg2Source:4.0-SNAPSHOT'
+ shade 'reprod:mcinjector:0'
+ shade 'reprod:srg2source:0'
//Stuff used in the GradleStart classes
compileOnly 'com.mojang:authlib:1.5.16'
--
2.5.5

View File

@@ -1,126 +0,0 @@
From 85e6315018dd8ff9f613b1f0c4d00c5b0c6c37d6 Mon Sep 17 00:00:00 2001
From: Jonas Herzig <me@johni0702.de>
Date: Sat, 26 Aug 2017 17:27:06 +0200
Subject: [PATCH 1/2] Remove non-essential parts and shade manually
---
build.gradle | 92 +-----------------------------------------------------------
1 file changed, 1 insertion(+), 91 deletions(-)
diff --git a/build.gradle b/build.gradle
index 2e5f949..b6c63bb 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,15 +1,5 @@
-buildscript {
- repositories {
- mavenCentral()
- }
- dependencies {
- classpath 'eu.appsatori:gradle-fatjar-plugin:0.2-rc1'
- }
-}
-
apply plugin: 'java'
apply plugin: 'eclipse'
-apply plugin: 'fatjar'
apply plugin: 'maven'
group = 'de.oceanlabs.mcp'
@@ -22,93 +12,12 @@ repositories {
}
jar {
manifest.attributes('Main-Class': 'de.oceanlabs.mcp.mcinjector.MCInjector')
}
-fatJar {
- classifier 'fatjar'
- manifest.attributes('Main-Class': 'de.oceanlabs.mcp.mcinjector.MCInjector')
-}
-
-artifacts {
- archives jar
- archives fatJar
-}
dependencies {
compile 'org.ow2.asm:asm-debug-all:5.0.4'
compile 'net.sf.jopt-simple:jopt-simple:4.5'
compile 'com.google.code.gson:gson:2.2.4'
}
-configurations { deployJars }
-uploadArchives {
- repositories {
- add project.repositories.mavenLocal()
- }
- repositories.mavenDeployer {
- configuration = configurations.deployJars
- if (project.hasProperty("filesmaven")) {
- logger.info('Publishing to files server')
- repository(url: project.filesmaven.url) {
- authentication(userName: project.filesmaven.username, privateKey: project.filesmaven.key)
- }
- } else {
- logger.info('Publishing to repo folder')
- repository(url: 'file://localhost/' + project.file('repo').getAbsolutePath())
- }
-
- pom {
- groupId = project.group
- version = project.version
- artifactId = project.archivesBaseName
- }
- pom.project {
- name project.archivesBaseName
- packaging 'jar'
- description 'Java class metadata injector'
- url 'https://github.com/ModCoderPack/MCInjector'
-
- scm {
- url 'https://github.com/ModCoderPack/MCInjector'
- connection 'scm:git:git://github.com/ModCoderPack/MCInjector.git'
- developerConnection 'scm:git:git@github.com:ModCoderPack/MCInjector.git'
- }
-
- issueManagement {
- system 'github'
- url 'https://github.com/ModCoderPack/MCInjector/issues'
- }
-
- licenses {
- license {
- name ''
- url ''
- distribution 'repo'
- }
- }
-
- developers {
- developer {
- id 'Fesh0r'
- name 'Fesh0r'
- roles { role 'developer' }
- }
- developer {
- id 'Searge'
- name 'Searge'
- roles { role 'developer' }
- }
- developer {
- id 'cpw'
- name 'cpw'
- roles { role 'developer' }
- }
- developer {
- id 'LexManos'
- name 'Lex Manos'
- roles { role 'developer' }
- }
- }
- }
- }
-}
--
2.5.5

View 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.withIndex().collect { file, i -> def dep = configurations.asm.dependencies[i]
+ outputs.files files(configurations.asm.files.withIndex().collect { file, i -> def dep = configurations.asm.dependencies[i]
new File(new File(renamedPackageRoot, "org/spongepowered/mixin-" + dep.name + "/" + dep.version), "mixin-" + file.name).path
})
ant {
--
2.5.5

View File

@@ -0,0 +1,25 @@
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,7 +143,7 @@ dependencies {
// Fernflower decompiler
fernflowerCompile configurations.compile
- fernflowerCompile 'org.jetbrains.java.decompiler:fernflower:sponge-SNAPSHOT'
+ fernflowerCompile 'com.github.fesh0r:fernflower:adbf29f8'
// LegacyLauncher service
launchwrapperCompile configurations.compile
--
2.5.5

View File

@@ -0,0 +1,26 @@
From c3d6d12f47bae3c12c597e59d9a69989fdaa9550 Mon Sep 17 00:00:00 2001
From: Jonas Herzig <me@johni0702.de>
Date: Fri, 25 Aug 2017 19:27:13 +0200
Subject: [PATCH] Do not include java version and user name in jar
---
build.gradle | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/build.gradle b/build.gradle
index debc97b..ae53e1b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -241,8 +241,7 @@ jar {
// JAR manifest configuration
manifest.mainAttributes(
- "Built-By": System.properties['user.name'],
- "Created-By": System.properties['java.vm.version'] + " (" + System.properties['java.vm.vendor'] + ")",
+ "Built-By": 'ReplayMod reprod',
"Implementation-Title": name,
"Implementation-Version": version + "+" + ciSystem + "-b" + buildNumber + ".git-" + commit,
"Implementation-Vendor": url,
--
2.13.2

View File

@@ -1,40 +0,0 @@
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,21 +1,18 @@
import groovy.json.JsonOutput
buildscript {
repositories {
mavenCentral()
- maven {
- name = "forge"
- url = "http://files.minecraftforge.net/maven"
- }
maven {
name = "sonatype"
url = "https://oss.sonatype.org/content/repositories/snapshots/"
}
maven { url 'https://jitpack.io' }
+ maven { url 'gradle/reprod/deps/repo' }
}
dependencies {
- classpath 'net.minecraftforge.gradle:ForgeGradle:2.3-SNAPSHOT'
+ classpath 'reprod:forgegradle:0'
classpath 'org.spongepowered:mixingradle:0.4-SNAPSHOT'
}
}
--
2.5.5