Skip to content

Commit 905e197

Browse files
committed
no longer must the setupDecompWorkspace and eclipse commands be done seperately. Now you can do them both at once in the same command. Like this: gradle setupDecompWorkspace eclipse
1 parent 1eca170 commit 905e197

File tree

4 files changed

+64
-33
lines changed

4 files changed

+64
-33
lines changed

src/main/java/net/minecraftforge/gradle/user/FmlUserPlugin.java

Lines changed: 25 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -83,23 +83,36 @@ protected String getCacheDir()
8383
return FML_CACHE;
8484
}
8585

86-
protected void createMcModuleDep(final boolean isClean, DependencyHandler depHandler, String depConfig)
86+
protected void createMcModuleDep(final boolean isClean, DependencyHandler depHandler, String depConfig, boolean remove)
8787
{
88-
final String repoDir = delayedFile(isClean ? FML_CACHE : DIRTY_DIR).call().getAbsolutePath();
89-
project.allprojects(new Action<Project>() {
90-
public void execute(Project proj)
91-
{
92-
addFlatRepo(proj, "fmlFlatRepo", repoDir);
93-
proj.getLogger().info("Adding repo to " + proj.getPath() + " >> " +repoDir);
94-
}
95-
});
96-
97-
final String prefix = isClean ? FML_CACHE : DIRTY_DIR;
88+
if (!remove)
89+
{
90+
final String repoDir = delayedFile(isClean ? FML_CACHE : DIRTY_DIR).call().getAbsolutePath();
91+
project.allprojects(new Action<Project>() {
92+
public void execute(Project proj)
93+
{
94+
addFlatRepo(proj, "fmlFlatRepo", repoDir);
95+
proj.getLogger().info("Adding repo to " + proj.getPath() + " >> " + repoDir);
96+
}
97+
});
98+
}
9899

99100
if (getExtension().isDecomp)
101+
{
100102
depHandler.add(depConfig, ImmutableMap.of("name", "fmlSrc", "version", getExtension().getApiVersion()));
103+
if (remove)
104+
{
105+
project.getConfigurations().getByName(depConfig).exclude(ImmutableMap.of("module", "fmlBin"));
106+
}
107+
}
101108
else
102-
depHandler.add(depConfig, project.files(delayedFile(prefix + FML_BINPATCHED)));
109+
{
110+
depHandler.add(depConfig, ImmutableMap.of("name", "fmlBin", "version", getExtension().getApiVersion()));
111+
if (remove)
112+
{
113+
project.getConfigurations().getByName(depConfig).exclude(ImmutableMap.of("module", "fmlSrc"));
114+
}
115+
}
103116
}
104117

105118
@Override

src/main/java/net/minecraftforge/gradle/user/ForgeUserPlugin.java

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -96,21 +96,38 @@ protected String getCacheDir()
9696
return FORGE_CACHE;
9797
}
9898

99-
protected void createMcModuleDep(final boolean isClean, DependencyHandler depHandler, String depConfig)
99+
protected void createMcModuleDep(final boolean isClean, DependencyHandler depHandler, String depConfig, boolean remove)
100100
{
101-
final String repoDir = delayedFile(isClean ? FORGE_CACHE : DIRTY_DIR).call().getAbsolutePath();
102-
project.allprojects(new Action<Project>() {
103-
public void execute(Project proj)
104-
{
105-
addFlatRepo(proj, "forgeFlatRepo", repoDir);
106-
proj.getLogger().info("Adding repo to " + proj.getPath() + " >> " +repoDir);
107-
}
108-
});
101+
if (!remove)
102+
{
103+
final String repoDir = delayedFile(isClean ? FORGE_CACHE : DIRTY_DIR).call().getAbsolutePath();
104+
project.allprojects(new Action<Project>() {
105+
public void execute(Project proj)
106+
{
107+
addFlatRepo(proj, "forgeFlatRepo", repoDir);
108+
proj.getLogger().info("Adding repo to " + proj.getPath() + " >> " + repoDir);
109+
}
110+
});
111+
}
109112

110113
if (getExtension().isDecomp)
114+
{
111115
depHandler.add(depConfig, ImmutableMap.of("name", "forgeSrc", "version", getExtension().getApiVersion()));
116+
if (remove)
117+
{
118+
System.out.println("removing forgeBin");
119+
project.getConfigurations().getByName(depConfig).exclude(ImmutableMap.of("module", "forgeBin"));
120+
}
121+
}
112122
else
123+
{
113124
depHandler.add(depConfig, ImmutableMap.of("name", "forgeBin", "version", getExtension().getApiVersion()));
125+
if (remove)
126+
{
127+
System.out.println("removing forgeSrc");
128+
project.getConfigurations().getByName(depConfig).exclude(ImmutableMap.of("module", "forgeSrc"));
129+
}
130+
}
114131
}
115132

116133
@Override

src/main/java/net/minecraftforge/gradle/user/UserBasePlugin.java

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -118,16 +118,17 @@ public Object call()
118118
TaskExecutionGraph graph = project.getGradle().getTaskGraph();
119119
String path = project.getPath();
120120

121-
boolean hasSetupDecomp = graph.hasTask(path + "setupDecompWorkspace");
122-
boolean hasBuild = graph.hasTask(path + "eclipse") || graph.hasTask(path + "ideaModule") || graph.hasTask(path + "build");
123-
boolean isJava7 = System.getProperty("java.version").startsWith("1.7");
124-
125-
if (hasSetupDecomp)
126-
if (hasBuild)
127-
throw new RuntimeException("You're doing it wrong. You are running the setupDecompWorkspace task and an IDE/build task in the same command!");
128-
else if (!isJava7)
121+
if (graph.hasTask(path + "setupDecompWorkspace"))
122+
{
123+
if (System.getProperty("java.version").startsWith("1.7"))
124+
{
129125
throw new RuntimeException("The setupDecompWorkspace will only work with Java 7! This is fixed in ForgeGradle 1.2");
130-
126+
}
127+
128+
getExtension().isDecomp = true;
129+
boolean clean = ((ProcessJarTask) project.getTasks().getByName("deobfuscateJar")).isClean();
130+
createMcModuleDep(clean, project.getDependencies(), CONFIG, true);
131+
}
131132
return null;
132133
}
133134

@@ -268,7 +269,7 @@ private void delayedTasks()
268269
}
269270

270271
doPostDecompTasks(clean, decompOut);
271-
createMcModuleDep(clean, project.getDependencies(), CONFIG);
272+
createMcModuleDep(clean, project.getDependencies(), CONFIG, false);
272273

273274
// get sourceSet
274275
Jar jarTask = (Jar) project.getTasks().getByName("jar");
@@ -344,7 +345,7 @@ private void delayedTasks()
344345

345346
protected abstract void addATs(ProcessJarTask task);
346347

347-
protected abstract void createMcModuleDep(boolean isClean, DependencyHandler depHandler, String depConfig);
348+
protected abstract void createMcModuleDep(boolean isClean, DependencyHandler depHandler, String depConfig, boolean remove);
348349

349350
private void configureDeps()
350351
{

src/main/java/net/minecraftforge/gradle/user/UserConstants.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ private UserConstants()
5555
// forge bin jars
5656
static final String FORGE_DEOBF_MCP = "/forgeBin-{API_VERSION}.jar";
5757
static final String FORGE_JAVADOC = "/forgeBin-{API_VERSION}-javadoc.jar";
58-
// frge src jars
58+
// forge src jars
5959
static final String FORGE_RECOMP = "/forgeSrc-{API_VERSION}.jar";
6060
static final String FORGE_JAVADOCED = "/forgeSrc-{API_VERSION}-sources.jar";
6161
// intermediate jars

0 commit comments

Comments
 (0)