Skip to content

Commit ac9a11d

Browse files
committed
Fixed zip packaging on linux
1 parent daffc3e commit ac9a11d

File tree

3 files changed

+21
-25
lines changed

3 files changed

+21
-25
lines changed

src/main/java/org/mcphackers/mcp/tasks/TaskRun.java

+19-21
Original file line numberDiff line numberDiff line change
@@ -32,22 +32,18 @@ public void doTask() throws Exception {
3232
List<String> cpList = new LinkedList<>();
3333
if(side == SERVER) {
3434
if(MCP.config.runBuild) {
35-
cpList.add(FileUtil.absolutePathString(MCPConfig.BUILD_JAR_SERVER));
36-
}
37-
else {
38-
cpList.add(FileUtil.absolutePathString(MCPConfig.SERVER_BIN));
39-
cpList.add(FileUtil.absolutePathString(MCPConfig.SERVER));
35+
cpList.add(FileUtil.absolutePathString(MCPConfig.BUILD_ZIP_SERVER));
4036
}
37+
cpList.add(FileUtil.absolutePathString(MCPConfig.SERVER_BIN));
38+
cpList.add(FileUtil.absolutePathString(MCPConfig.SERVER));
4139
}
4240
else if (side == CLIENT) {
4341
if(MCP.config.runBuild) {
44-
cpList.add(FileUtil.absolutePathString(MCPConfig.BUILD_JAR_CLIENT));
42+
cpList.add(FileUtil.absolutePathString(MCPConfig.BUILD_ZIP_CLIENT));
4543
}
46-
else {
47-
cpList.add(FileUtil.absolutePathString(MCPConfig.CLIENT_BIN));
48-
if(!Files.exists(Paths.get(MCPConfig.CLIENT_FIXED))) {
49-
cpList.add(FileUtil.absolutePathString(MCPConfig.CLIENT));
50-
}
44+
cpList.add(FileUtil.absolutePathString(MCPConfig.CLIENT_BIN));
45+
if(!Files.exists(Paths.get(MCPConfig.CLIENT_FIXED))) {
46+
cpList.add(FileUtil.absolutePathString(MCPConfig.CLIENT));
5147
}
5248
List<String> libraries = new ArrayList();
5349
try(Stream<Path> stream = Files.list(Paths.get(MCPConfig.LIB)).filter(library -> !library.endsWith(".jar")).filter(library -> !Files.isDirectory(library))) {
@@ -69,24 +65,26 @@ else if (side == CLIENT) {
6965
"-Dorg.lwjgl.librarypath=" + natives,
7066
"-Dnet.java.games.input.librarypath=" + natives,
7167
"-cp", cp,
72-
side == SERVER ? (VersionsParser.getServerVersion().startsWith("c") ? "com.mojang.minecraft.server.MinecraftServer" : "net.minecraft.server.MinecraftServer") : "Start"));
68+
side == SERVER ? (VersionsParser.getServerVersion().startsWith("c") ? "com.mojang.minecraft.server.MinecraftServer" : "net.minecraft.server.MinecraftServer")
69+
: MCP.config.runBuild ? "net.minecraft.client.Minecraft" : "Start"));
7370
for(int i = 1; i < MCP.config.runArgs.length; i++) {
7471
String arg = MCP.config.runArgs[i];
75-
for(String arg2 : args) {
76-
if(arg.indexOf("=") > 0 && arg2.indexOf("=") > 0) {
77-
if(arg2.substring(0, arg2.indexOf("=")).equals(arg.substring(0, arg.indexOf("=")))) {
72+
if(!arg.equals("-runbuild")) {
73+
for(String arg2 : args) {
74+
if(arg.indexOf("=") > 0 && arg2.indexOf("=") > 0) {
75+
if(arg2.substring(0, arg2.indexOf("=")).equals(arg.substring(0, arg.indexOf("=")))) {
76+
args.remove(arg2);
77+
break;
78+
}
79+
}
80+
else if(arg2.equals(arg)) {
7881
args.remove(arg2);
7982
break;
8083
}
8184
}
82-
else if(arg2.equals(arg)) {
83-
args.remove(arg2);
84-
break;
85-
}
85+
args.add(1, arg);
8686
}
87-
args.add(1, arg);
8887
}
89-
//MCP.logger.println(args);
9088
int exit = Util.runCommand(args.toArray(new String[0]), Paths.get(MCPConfig.JARS), true);
9189
if(exit != 0) {
9290
throw new RuntimeException("Finished with exit value " + exit);

src/main/java/org/mcphackers/mcp/tools/FileUtil.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -179,13 +179,14 @@ public static void copyDirectory(Path sourceFolder, Path targetFolder) throws IO
179179
copyDirectory(sourceFolder, targetFolder, new String[] {});
180180
}
181181

182+
//FIXME: Path separators are broken on Linux
182183
public static void compress(Path sourceDir, Path target) throws IOException {
183184
final ZipOutputStream outputStream = new ZipOutputStream(new FileOutputStream(target.toFile()));
184185
Files.walkFileTree(sourceDir, new SimpleFileVisitor<Path>() {
185186
@Override
186187
public FileVisitResult visitFile(Path file, BasicFileAttributes attributes) throws IOException {
187188
Path targetFile = sourceDir.relativize(file);
188-
outputStream.putNextEntry(new ZipEntry(targetFile.toString()));
189+
outputStream.putNextEntry(new ZipEntry(targetFile.toString().replace("\\", "/")));
189190
byte[] bytes = Files.readAllBytes(file);
190191
outputStream.write(bytes, 0, bytes.length);
191192
outputStream.closeEntry();

src/main/java/org/mcphackers/mcp/tools/mappings/MappingUtil.java

-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import java.nio.file.SimpleFileVisitor;
99
import java.nio.file.attribute.BasicFileAttributes;
1010
import java.util.function.BiConsumer;
11-
import java.util.function.BiFunction;
1211
import java.util.function.Function;
1312
import java.util.regex.Pattern;
1413

@@ -82,7 +81,6 @@ public void visit(int version, int access, String name, String signature, String
8281
super.visit(version, access, name, signature, superName, interfaces);
8382
}
8483

85-
//TODO Figure out why it doesn't work
8684
@Override
8785
public FieldVisitor visitField(int access, String name, String descriptor, String signature, Object value) {
8886
if (kind == MappedElementKind.FIELD) {
@@ -97,7 +95,6 @@ public FieldVisitor visitField(int access, String name, String descriptor, Strin
9795
return super.visitField(access, name, descriptor, signature, value);
9896
}
9997

100-
//TODO Figure out why it doesn't work
10198
@Override
10299
public MethodVisitor visitMethod(int access, String name, String descriptor, String signature, String[] exceptions) {
103100
if (kind == MappedElementKind.METHOD) {

0 commit comments

Comments
 (0)