Skip to content

Commit 951a821

Browse files
committed
Use relative paths for Eclipse launch configs
1 parent 42d5af8 commit 951a821

File tree

2 files changed

+11
-9
lines changed

2 files changed

+11
-9
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ public static List<String> getLaunchArgs(MCP mcp, Side side) {
156156
argsList.addAll(Arrays.asList(mcArgs.split(" ")));
157157
}
158158

159-
Path gameDir = getMCDir(mcp, side).toAbsolutePath();
159+
Path gameDir = getMCDir(mcp, side);
160160
Path assets = gameDir.resolve("assets");
161161

162162
for (int i = 0; i < argsList.size(); i++) {
@@ -199,7 +199,7 @@ public static List<String> getLaunchArgs(MCP mcp, Side side) {
199199
}
200200

201201
public static Path getMCDir(MCP mcp, Side side) {
202-
return MCPPaths.get(mcp, GAMEDIR, side);
202+
return MCPPaths.get(mcp, MCPPaths.PROJECT, side).relativize(MCPPaths.get(mcp, GAMEDIR, side));
203203
}
204204

205205
private static List<Path> getClasspath(MCP mcp, Side side, Side runSide, boolean runBuild, boolean fullBuild) {

src/main/java/org/mcphackers/mcp/tools/project/eclipse/EclipseRunConfig.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -54,15 +54,17 @@ public void toXML(XMLWriter writer) throws IOException {
5454
writer.writeAttribute("listEntry value=\"org.eclipse.debug.ui.launchGroup.run\"");
5555
writer.writeAttribute("listEntry value=\"org.eclipse.debug.ui.launchGroup.debug\"");
5656
writer.closeAttribute("listAttribute");
57-
writer.writeAttribute("booleanAttribute key=\"org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE\" value=\"false\"");
58-
writer.writeAttribute("booleanAttribute key=\"org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES\" value=\"true\"");
59-
writer.writeAttribute("booleanAttribute key=\"org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD\" value=\"true\"");
60-
writer.writeAttribute("stringAttribute key=\"org.eclipse.jdt.launching.MAIN_TYPE\" value=\"" + TaskRun.getMain(mcp, mcp.getCurrentVersion(), this.getLaunchSide()) + "\"");
61-
writer.writeAttribute("stringAttribute key=\"org.eclipse.jdt.launching.MODULE_NAME\" value=\"" + this.getProjectName() + "\"");
57+
58+
writer.writeSelfEndingAttribute("booleanAttribute key=\"org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE\" value=\"false\"");
59+
writer.writeSelfEndingAttribute("booleanAttribute key=\"org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES\" value=\"true\"");
60+
writer.writeSelfEndingAttribute("booleanAttribute key=\"org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD\" value=\"true\"");
61+
writer.writeSelfEndingAttribute("stringAttribute key=\"org.eclipse.jdt.launching.MAIN_TYPE\" value=\"" + TaskRun.getMain(mcp, mcp.getCurrentVersion(), this.getLaunchSide()) + "\"");
62+
writer.writeSelfEndingAttribute("stringAttribute key=\"org.eclipse.jdt.launching.MODULE_NAME\" value=\"" + this.getProjectName() + "\"");
6263
if (launchSide == Task.Side.CLIENT) {
63-
writer.writeAttribute("stringAttribute key=\"org.eclipse.jdt.launching.PROGRAM_ARGUMENTS\" value=\"" + this.getClientArgs() + "\"");
64+
writer.writeSelfEndingAttribute("stringAttribute key=\"org.eclipse.jdt.launching.PROGRAM_ARGUMENTS\" value=\"" + this.getClientArgs() + "\"");
6465
}
65-
writer.writeAttribute("stringAttribute key=\"org.eclipse.jdt.launching.PROJECT_ATTR\" value=\"" + this.getProjectName() + "\"");
66+
writer.writeSelfEndingAttribute("stringAttribute key=\"org.eclipse.jdt.launching.PROJECT_ATTR\" value=\"" + this.getProjectName() + "\"");
67+
writer.writeSelfEndingAttribute("stringAttribute key=\"org.eclipse.jdt.launching.WORKING_DIRECTORY\" value=\"${project_path}/game\"");
6668
writer.closeAttribute("launchConfiguration");
6769
}
6870
}

0 commit comments

Comments
 (0)