Skip to content

Commit f61d2a4

Browse files
committed
MCPConfig v2 {Java Target, encoding, mapping download tasks}
Moved all MCPFunction classes to package private.
1 parent 0ef2faf commit f61d2a4

26 files changed

+216
-200
lines changed

src/common/java/net/minecraftforge/gradle/common/config/MCPConfigV1.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,11 +45,11 @@ public static MCPConfigV1 get(byte[] data) {
4545
return get(new ByteArrayInputStream(data));
4646
}
4747

48-
private String version; // Minecraft version
49-
private Map<String, Object> data;
50-
private Map<String, List<Step>> steps;
51-
private Map<String, Function> functions;
52-
private Map<String, List<String>> libraries;
48+
protected String version; // Minecraft version
49+
protected Map<String, Object> data;
50+
protected Map<String, List<Step>> steps;
51+
protected Map<String, Function> functions;
52+
protected Map<String, List<String>> libraries;
5353

5454
public String getVersion() {
5555
return version;
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
/*
2+
* ForgeGradle
3+
* Copyright (C) 2018 Forge Development LLC
4+
*
5+
* This library is free software; you can redistribute it and/or
6+
* modify it under the terms of the GNU Lesser General Public
7+
* License as published by the Free Software Foundation; either
8+
* version 2.1 of the License, or (at your option) any later version.
9+
*
10+
* This library is distributed in the hope that it will be useful,
11+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13+
* Lesser General Public License for more details.
14+
*
15+
* You should have received a copy of the GNU Lesser General Public
16+
* License along with this library; if not, write to the Free Software
17+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
18+
* USA
19+
*/
20+
21+
package net.minecraftforge.gradle.common.config;
22+
23+
import java.io.ByteArrayInputStream;
24+
import java.io.InputStream;
25+
import net.minecraftforge.gradle.common.util.Utils;
26+
27+
public class MCPConfigV2 extends MCPConfigV1 {
28+
public static MCPConfigV2 get(InputStream stream) {
29+
return Utils.fromJson(stream, MCPConfigV2.class);
30+
}
31+
public static MCPConfigV2 get(byte[] data) {
32+
return get(new ByteArrayInputStream(data));
33+
}
34+
35+
private boolean official = false;
36+
private int java_target = 8;
37+
private String encoding = "UTF-8";
38+
39+
public boolean isOfficial() {
40+
return this.official;
41+
}
42+
43+
public int getJavaTarget() {
44+
return this.java_target;
45+
}
46+
47+
public String getEncoding() {
48+
return this.encoding == null ? "UTF-8" : this.encoding;
49+
}
50+
51+
public MCPConfigV2(MCPConfigV1 old) {
52+
this.version = old.version;
53+
this.data = old.data;
54+
this.steps = old.steps;
55+
this.functions = old.functions;
56+
this.libraries = old.libraries;
57+
}
58+
}

src/common/java/net/minecraftforge/gradle/common/task/JarExec.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444

4545
public class JarExec extends DefaultTask {
4646
private static final OutputStream NULL = new OutputStream() { @Override public void write(int b) throws IOException { } };
47-
private static int index = 0;
4847
protected boolean hasLog = true;
4948
protected String tool;
5049
private File _tool;

src/common/java/net/minecraftforge/gradle/common/task/TaskApplyRangeMap.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import org.gradle.api.tasks.InputFile;
2525
import org.gradle.api.tasks.InputFiles;
2626
import org.gradle.api.tasks.OutputFile;
27-
import net.minecraftforge.gradle.common.task.JarExec;
2827
import net.minecraftforge.gradle.common.util.Utils;
2928

3029
import java.io.File;

src/common/java/net/minecraftforge/gradle/common/task/TaskExtractRangeMap.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import org.gradle.api.tasks.Input;
2525
import org.gradle.api.tasks.InputFiles;
2626
import org.gradle.api.tasks.OutputFile;
27-
import net.minecraftforge.gradle.common.task.JarExec;
2827
import net.minecraftforge.gradle.common.util.Utils;
2928

3029
import java.io.File;

src/mcp/java/net/minecraftforge/gradle/mcp/MCPPlugin.java

Lines changed: 0 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,6 @@
2121
package net.minecraftforge.gradle.mcp;
2222

2323
import net.minecraftforge.gradle.common.util.Utils;
24-
import net.minecraftforge.gradle.mcp.function.DownloadClientFunction;
25-
import net.minecraftforge.gradle.mcp.function.DownloadManifestFunction;
26-
import net.minecraftforge.gradle.mcp.function.DownloadServerFunction;
27-
import net.minecraftforge.gradle.mcp.function.DownloadVersionJSONFunction;
28-
import net.minecraftforge.gradle.mcp.function.InjectFunction;
29-
import net.minecraftforge.gradle.mcp.function.ListLibrariesFunction;
30-
import net.minecraftforge.gradle.mcp.function.MCPFunction;
31-
import net.minecraftforge.gradle.mcp.function.PatchFunction;
32-
import net.minecraftforge.gradle.mcp.function.StripJarFunction;
3324
import net.minecraftforge.gradle.mcp.task.DownloadMCPConfigTask;
3425
import net.minecraftforge.gradle.mcp.task.SetupMCPTask;
3526
import org.gradle.api.Plugin;
@@ -75,28 +66,4 @@ public void apply(@Nonnull Project project) {
7566
project.getRepositories().mavenCentral(); //Needed for MCP Deps
7667
});
7768
}
78-
79-
public static MCPFunction createBuiltInFunction(String type) {
80-
switch (type) {
81-
case "downloadManifest":
82-
return new DownloadManifestFunction();
83-
case "downloadJson":
84-
return new DownloadVersionJSONFunction();
85-
case "downloadClient":
86-
return new DownloadClientFunction();
87-
case "downloadServer":
88-
return new DownloadServerFunction();
89-
case "strip":
90-
return new StripJarFunction();
91-
case "listLibraries":
92-
return new ListLibrariesFunction();
93-
case "inject":
94-
return new InjectFunction();
95-
case "patch":
96-
return new PatchFunction();
97-
default:
98-
return null;
99-
}
100-
}
101-
10269
}

src/mcp/java/net/minecraftforge/gradle/mcp/function/AccessTransformerFunction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
import java.util.List;
3838
import java.util.concurrent.ExecutionException;
3939

40-
public class AccessTransformerFunction extends ExecuteFunction {
40+
class AccessTransformerFunction extends ExecuteFunction {
4141
private List<File> files;
4242
private String transformers;
4343

src/mcp/java/net/minecraftforge/gradle/mcp/function/DownloadClientFunction.java

Lines changed: 0 additions & 29 deletions
This file was deleted.

src/mcp/java/net/minecraftforge/gradle/mcp/function/AbstractDownloadMCFunction.java renamed to src/mcp/java/net/minecraftforge/gradle/mcp/function/DownloadCoreFunction.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,12 @@
2828
import java.io.IOException;
2929
import java.io.Reader;
3030

31-
public abstract class AbstractDownloadMCFunction extends AbstractFileDownloadFunction {
32-
33-
public AbstractDownloadMCFunction(String artifact) {
34-
super(env -> artifact + ".jar", env -> getDownloadInfo(env, artifact));
31+
class DownloadCoreFunction extends DownloadFileFunction {
32+
DownloadCoreFunction(String artifact, String ext) {
33+
super(env -> artifact + '.' + ext, env -> getDownloadInfo(env, artifact, ext));
3534
}
3635

37-
private static DownloadInfo getDownloadInfo(MCPEnvironment environment, String artifact) {
36+
private static DownloadInfo getDownloadInfo(MCPEnvironment environment, String artifact, String extension) {
3837
try {
3938
Gson gson = new Gson();
4039
Reader reader = new FileReader(environment.getStepOutput(DownloadVersionJSONFunction.class));
@@ -45,7 +44,7 @@ private static DownloadInfo getDownloadInfo(MCPEnvironment environment, String a
4544
String url = artifactInfo.get("url").getAsString();
4645
String hash = artifactInfo.get("sha1").getAsString();
4746
String version = json.getAsJsonObject().get("id").getAsString();
48-
return new DownloadInfo(url, hash, "jar", version, artifact);
47+
return new DownloadInfo(url, hash, extension, version, artifact);
4948
} catch (IOException ex) {
5049
throw new RuntimeException(ex);
5150
}

src/mcp/java/net/minecraftforge/gradle/mcp/function/AbstractFileDownloadFunction.java renamed to src/mcp/java/net/minecraftforge/gradle/mcp/function/DownloadFileFunction.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,17 @@
3030
import java.net.URL;
3131
import java.util.function.Function;
3232

33-
public abstract class AbstractFileDownloadFunction implements MCPFunction {
33+
class DownloadFileFunction implements MCPFunction {
3434

3535
private final Function<MCPEnvironment, String> outputGetter;
3636
private final Function<MCPEnvironment, DownloadInfo> downloadGetter;
3737

38-
public AbstractFileDownloadFunction(Function<MCPEnvironment, String> outputGetter, Function<MCPEnvironment, DownloadInfo> downloadGetter) {
38+
public DownloadFileFunction(Function<MCPEnvironment, String> outputGetter, Function<MCPEnvironment, DownloadInfo> downloadGetter) {
3939
this.outputGetter = outputGetter;
4040
this.downloadGetter = downloadGetter;
4141
}
4242

43-
public AbstractFileDownloadFunction(String defaultOutput, String url) {
43+
public DownloadFileFunction(String defaultOutput, String url) {
4444
this(env -> defaultOutput, env -> new DownloadInfo(url, null, "unknown", null, null));
4545
}
4646

0 commit comments

Comments
 (0)