From aa483181c08f94d11e059261c7ea625202bf58d0 Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Thu, 11 May 2017 13:02:53 +0100 Subject: [PATCH] Update Gradle, Fix mappings not being extracted when using local mappings. --- gradle/wrapper/gradle-wrapper.jar | Bin 52818 -> 52928 bytes gradle/wrapper/gradle-wrapper.properties | 4 +-- .../net/fabricmc/loom/AbstractPlugin.java | 14 ++------ .../net/fabricmc/loom/LoomGradlePlugin.java | 1 + .../net/fabricmc/loom/task/DownloadTask.java | 2 +- .../loom/task/GenIdeaProjectTask.java | 30 ++++-------------- .../net/fabricmc/loom/task/MapJarsTask.java | 5 +-- 7 files changed, 16 insertions(+), 40 deletions(-) diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index deedc7fa5e6310eac3148a7dd0b1f069b07364cb..6ffa237849ef3607e39c3b334a92a65367962071 100644 GIT binary patch delta 3904 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 delta 3589 zcmZ8j2{=?;AHOqW8NyhiF~b;3nvrz|MO0cSQX)$)rihAAltLkEgfy-_OUM!_p-~!4 zmLY2;^}gX%RLa)!c}w}qcjru>o_Wvn+~@r7@BjO+=iGA-Cm-`94v`qbK?s8@j3 zBejn;T*+)!mik6on*6Zz-FVZ_#UV)uHvyAbMRjPIYwb_oSe=n(D1DvSCcW|0#h%EW zfm32voo9S3Ojc($lXsVlrA9&hLVMK{jMfv|=^@5D90r5~r3My@g!CyZ=_s$bT*5Y; zcr9kz328#Vv!_s_N=XDhB3t&^wM%PE2ZA*mW+%h;1fSAaTpepanPITHY^|m4vtzEg z%wtTu4E>boYW(TK;#H1f@+{-Z-0k-xtH>7C))oC%8Vd~lh6oO)Eava{#vfM6v?JMS z62EJN$Q{nSXhiL^yPs4NQ<>o;670A@r(gWL+$HyJRs!R!OG$=HcYV<9yi%`VBjW(- zH@0ub3q7xSPYa^M219rM9C9ChJr<^YD3Xv< z?0r36*@n`nYsNC{P5Qp@GSukMV0NLZ>**_f_*5A<;IO5}(|c(ml1Jj@+wA^{o`~{D zPS|z*Kd%hvD?Ab&rK9_vF5$>xs8<6@R|9lJ|>IiNXKzP3 z4App!N2wm$$jzZtYbOZfTzgj4UR{A%d+sVY{pLz}&Yv zD#7#IWUXouZT8a1cBPA0rQ?C~YMGT@@k4%IZjb#uQzUYnyl&o8pUd0sN2hK38d%vh zyCtGC^^7jR@u}vZRkcc z=4WqoMc5i~mT7mqo^1?ecUIYS?%LjRN|(NDoqDssahhZNx#>!DZ<4?5wYClZ182=9KIW1B`oPY_>p9 zv+Bg|)|A(IvFf-1gPD?*qajlZMOmnabj%0N95sD_vrb=fQ)(1-Uu?8nnVpH`z59tH z)P4Dx;|wYzLUO2YBb9^|ZMG8CyVK0odzG_q;}3~GdWGUq@#-Azi@WP)^0!bJk)*OI zQ>*WD10GtpaA)t?mHK@q7`ruZP@ggEyL$Sn5V@XN5ciPkCmt87S=?85kTo)LQaM<5 zT;8L2WD2jL*{S(z^rZC71vQczLo{@4ED<+!#DJIgabYWe!%Hp@ z?>u%!A1F~CyNVebr$lfD=btAYIQmKofd4Vf_cyAME$!n6~63Cq8e`T>w@FF^n|M_-m-jkQZQ?F&aQ4s%`+Un zGbVN|lQuLmtXMI8%}P&aP1rAcQ)I^37u$9kDzF9(H#VTMWhRRP(O%JOyuN zXhbF$NVSnApfk<(*K2R*J&G!I&C;F~mB7nWHTIIjBL|Bb^5$CizMa={bj@lEU9tZB zR?96SY))e0vFg%IX<3F+77%UBP-L2WnS#!*%~LN;UK#gS&Xa;9zuBhKh28cvnL4t~SX#vnP>tvrx`<_U12$9n)Ic`gBy&F~D4^Qa_Wcd3c0l#fB*~_~E zK*&HMfg$v3h9GI^hebB>c0A|^(oqz8C5C?=`L_j<$gjb(V8bVx31BOvG!s#iFjGhY zZfTYPNPjaCO+dk_?aDB=WhH=AT8QYMd}x1*5rCKobV>+e$;0JBINZNN!>IjfO&;U7wPJrJ%;5YkfD-lgy z58wfgDBQnZil+iW8xjvr7bAA|j3`BPUd63MO zM|~8>9e&WR$@^H~sdggD7Z&Lt0h7yJ^O>dTX-@z(c@km2P6=SozF|vaB7tI%K;{DWvfhAf z*DC@ibJc*4+gxN*AAwOdO7Ij{9YE5ZM0C0jpV>(P&{+gx1uh%=1WALn;}!W5QT=%e zsK{MffNk4FL@R^kW&XVn-$%mO zN;TN>Avl^~*M~&(gA1@tf*IH$yrrP|IkT*ha)pp`Ed|QWNCd$!-3Fj9ai#UEj>tj~ z7uiRGn|*6CLR5o4B#Xf3y7|c_braEZ1;D{M91Fvgn5$MbBHWN{z)3~2&pb1V?@O2h9Juw-Gsnj>d*H}bu15Fl^A a2gqCd`J39WpNJl2!-@R{BHB$n;{O0=Lu#}D diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 63d119f..694b210 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Sep 22 09:58:14 BST 2016 +#Wed May 10 22:17:52 BST 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-3.1-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.5-bin.zip diff --git a/src/main/java/net/fabricmc/loom/AbstractPlugin.java b/src/main/java/net/fabricmc/loom/AbstractPlugin.java index 0c4e8d7..285c053 100644 --- a/src/main/java/net/fabricmc/loom/AbstractPlugin.java +++ b/src/main/java/net/fabricmc/loom/AbstractPlugin.java @@ -29,7 +29,6 @@ import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import net.fabricmc.loom.task.DownloadTask; -import net.fabricmc.loom.task.GenIdeaProjectTask; import net.fabricmc.loom.util.Constants; import net.fabricmc.loom.util.ModRemapper; import net.fabricmc.loom.util.Version; @@ -44,10 +43,7 @@ import org.gradle.api.tasks.compile.JavaCompile; import org.gradle.api.tasks.javadoc.Javadoc; import org.gradle.plugins.ide.eclipse.model.EclipseModel; import org.gradle.plugins.ide.idea.model.IdeaModel; -import org.xml.sax.SAXException; -import javax.xml.parsers.ParserConfigurationException; -import javax.xml.transform.TransformerException; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; @@ -264,14 +260,8 @@ public class AbstractPlugin implements Plugin { }); project.afterEvaluate(project12 -> { - project12.getTasks().getByName("idea").dependsOn(project12.getTasks().getByName("cleanIdea")).dependsOn(project12.getTasks().getByName("extractNatives")); - project12.getTasks().getByName("idea").doLast(task -> { - try { - GenIdeaProjectTask.genIdeaRuns(project12); - } catch (IOException | ParserConfigurationException | SAXException | TransformerException e) { - e.printStackTrace(); - } - }); + project12.getTasks().getByName("idea").dependsOn(project12.getTasks().getByName("cleanIdea")).dependsOn(project12.getTasks().getByName("setupFabric")).dependsOn(project12.getTasks().getByName("extractNatives")); + project12.getTasks().getByName("idea").finalizedBy(project12.getTasks().getByName("genIdeaWorkspace")); }); } diff --git a/src/main/java/net/fabricmc/loom/LoomGradlePlugin.java b/src/main/java/net/fabricmc/loom/LoomGradlePlugin.java index 5b6269d..93cc8a4 100644 --- a/src/main/java/net/fabricmc/loom/LoomGradlePlugin.java +++ b/src/main/java/net/fabricmc/loom/LoomGradlePlugin.java @@ -40,6 +40,7 @@ public class LoomGradlePlugin extends AbstractPlugin { makeTask("setupFabric", DefaultTask.class).dependsOn("processMods"); makeTask("extractNatives", ExtractNativesTask.class).dependsOn("download"); + makeTask("genIdeaWorkspace", GenIdeaProjectTask.class).dependsOn("idea"); makeTask("vscode", GenVSCodeProjectTask.class).dependsOn("extractNatives"); diff --git a/src/main/java/net/fabricmc/loom/task/DownloadTask.java b/src/main/java/net/fabricmc/loom/task/DownloadTask.java index 8691209..70bc42b 100644 --- a/src/main/java/net/fabricmc/loom/task/DownloadTask.java +++ b/src/main/java/net/fabricmc/loom/task/DownloadTask.java @@ -131,7 +131,7 @@ public class DownloadTask extends DefaultTask { } // Force add LaunchWrapper - dependencyHandler.add(Constants.CONFIG_MC_DEPENDENCIES, "net.minecraft:launchwrapper:1.11"); + dependencyHandler.add(Constants.CONFIG_MC_DEPENDENCIES, "net.minecraft:launchwrapper:1.12"); Version.AssetIndex assetIndex = version.assetIndex; diff --git a/src/main/java/net/fabricmc/loom/task/GenIdeaProjectTask.java b/src/main/java/net/fabricmc/loom/task/GenIdeaProjectTask.java index 3609b4b..4fa5955 100644 --- a/src/main/java/net/fabricmc/loom/task/GenIdeaProjectTask.java +++ b/src/main/java/net/fabricmc/loom/task/GenIdeaProjectTask.java @@ -29,7 +29,9 @@ import net.fabricmc.loom.LoomGradleExtension; import net.fabricmc.loom.util.Constants; import net.fabricmc.loom.util.IdeaRunConfig; import net.fabricmc.loom.util.Version; +import org.gradle.api.DefaultTask; import org.gradle.api.Project; +import org.gradle.api.tasks.TaskAction; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -49,10 +51,13 @@ import java.io.File; import java.io.FileReader; import java.io.IOException; -public class GenIdeaProjectTask { +public class GenIdeaProjectTask extends DefaultTask { - public static void genIdeaRuns(Project project) throws IOException, ParserConfigurationException, SAXException, TransformerException { + @TaskAction + public void genIdeaRuns() throws IOException, ParserConfigurationException, SAXException, TransformerException { + Project project = this.getProject(); LoomGradleExtension extension = project.getExtensions().getByType(LoomGradleExtension.class); + project.getLogger().lifecycle(":Building idea workspace"); File file = new File(project.getName() + ".iml"); DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance(); @@ -101,27 +106,6 @@ public class GenIdeaProjectTask { Version version = gson.fromJson(new FileReader(Constants.MINECRAFT_JSON.get(extension)), Version.class); - for (Version.Library library : version.libraries) { - if (library.allowed() && library.getFile(extension) != null && library.getFile(extension).exists()) { - Element node = doc.createElement("orderEntry"); - node.setAttribute("type", "module-library"); - Element libraryElement = doc.createElement("library"); - Element classes = doc.createElement("CLASSES"); - Element javadoc = doc.createElement("JAVADOC"); - Element sources = doc.createElement("SOURCES"); - Element root = doc.createElement("root"); - root.setAttribute("url", "jar://" + library.getFile(extension).getAbsolutePath() + "!/"); - classes.appendChild(root); - libraryElement.appendChild(classes); - libraryElement.appendChild(javadoc); - libraryElement.appendChild(sources); - node.appendChild(libraryElement); - component.appendChild(node); - } else if (!library.allowed()) { - project.getLogger().info(":" + library.getFile(extension).getName() + " is not allowed on this os"); - } - } - TransformerFactory transformerFactory = TransformerFactory.newInstance(); Transformer transformer = transformerFactory.newTransformer(); DOMSource source = new DOMSource(doc); diff --git a/src/main/java/net/fabricmc/loom/task/MapJarsTask.java b/src/main/java/net/fabricmc/loom/task/MapJarsTask.java index 7fb5125..4b0d52e 100644 --- a/src/main/java/net/fabricmc/loom/task/MapJarsTask.java +++ b/src/main/java/net/fabricmc/loom/task/MapJarsTask.java @@ -58,8 +58,9 @@ public class MapJarsTask extends DefaultTask { FileUtils.copyFile(Constants.MINECRAFT_MERGED_JAR.get(extension), Constants.MINECRAFT_MAPPED_JAR.get(extension)); return; } - this.getLogger().lifecycle(":unpacking mappings"); - if (!Constants.MAPPINGS_DIR.get(extension).exists()) { + if (!Constants.MAPPINGS_DIR.get(extension).exists() || extension.localMappings) { + this.getLogger().lifecycle(":unpacking mappings"); + FileUtils.deleteDirectory(Constants.MAPPINGS_DIR.get(extension)); ZipUtil.unpack(Constants.MAPPINGS_ZIP.get(extension), Constants.MAPPINGS_DIR.get(extension)); }