Add the ability to use custom mapping files.
This commit is contained in:
parent
2eaae5be44
commit
673f21c506
3 changed files with 44 additions and 3 deletions
|
@ -34,6 +34,7 @@ public class LoomGradleExtension {
|
|||
public String fabricVersion;
|
||||
public String pomfVersion;
|
||||
public String refmapName;
|
||||
public boolean localMappings = false;
|
||||
|
||||
//Not to be set in the build.gradle
|
||||
public Project project;
|
||||
|
@ -58,6 +59,9 @@ public class LoomGradleExtension {
|
|||
}
|
||||
|
||||
public boolean hasPomf(){
|
||||
if(localMappings){
|
||||
return true;
|
||||
}
|
||||
return pomfVersion != null && !pomfVersion.isEmpty();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -76,9 +76,27 @@ public class DownloadTask extends DefaultTask {
|
|||
this.getLogger().lifecycle(":downloading mappings");
|
||||
FileUtils.copyURLToFile(new URL("http://modmuss50.me:8080/job/pomf/" + extension.version + "/" + extension.pomfVersion + "/artifact/build/libs/pomf-enigma-" + extension.version + "." + extension.pomfVersion + ".zip"), Constants.MAPPINGS_ZIP.get(extension));
|
||||
}
|
||||
if(!extension.hasPomf()){
|
||||
if(Constants.MAPPINGS_DIR_LOCAL.get(extension).exists()){
|
||||
if(Constants.MAPPINGS_TINY_GZ_LOCAL.get(extension).exists() && Constants.MAPPINGS_ZIP_LOCAL.get(extension).exists()){
|
||||
this.getLogger().lifecycle("Found local mapping files");
|
||||
extension.localMappings = true;
|
||||
extension.pomfVersion = "local"; //TODO set this to include the hash or something to so the jar name is unique?
|
||||
|
||||
//We delete this to make sure they are always re extracted.
|
||||
deleteIfExists(Constants.MAPPINGS_ZIP.get(extension));
|
||||
deleteIfExists(Constants.MAPPINGS_TINY_GZ.get(extension));
|
||||
deleteIfExists(Constants.MAPPINGS_TINY.get(extension));
|
||||
deleteIfExists(Constants.MAPPINGS_DIR.get(extension));
|
||||
|
||||
Constants.MAPPINGS_TINY_GZ = Constants.MAPPINGS_TINY_GZ_LOCAL;
|
||||
Constants.MAPPINGS_ZIP = Constants.MAPPINGS_ZIP_LOCAL;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!Constants.MAPPINGS_TINY.get(extension).exists() && extension.hasPomf()) {
|
||||
if (!Constants.MAPPINGS_TINY_GZ.get(extension).exists()) {
|
||||
if (!Constants.MAPPINGS_TINY_GZ.get(extension).exists() && !extension.localMappings) {
|
||||
getLogger().lifecycle(":downloading tiny mappings");
|
||||
FileUtils.copyURLToFile(new URL("http://modmuss50.me:8080/job/pomf/" + extension.version + "/" + extension.pomfVersion + "/artifact/build/libs/pomf-tiny-" + extension.version + "." + extension.pomfVersion + ".gz"), Constants.MAPPINGS_TINY_GZ.get(extension));
|
||||
}
|
||||
|
@ -172,4 +190,19 @@ public class DownloadTask extends DefaultTask {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean deleteIfExists(File file){
|
||||
if(file.exists()){
|
||||
if(file.isDirectory()){
|
||||
try {
|
||||
FileUtils.deleteDirectory(file);
|
||||
return file.mkdir();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
return file.delete();
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,12 +44,16 @@ public class Constants {
|
|||
public static final IDelayed<File> MINECRAFT_FINAL_JAR = new DelayedFile(extension -> new File(CACHE_FILES, extension.getVersionString() + "-mixed-" + extension.pomfVersion + ".jar"));
|
||||
|
||||
public static final IDelayed<File> POMF_DIR = new DelayedFile(extension -> new File(extension.getFabricUserCache(), "pomf"));
|
||||
public static final IDelayed<File> MAPPINGS_ZIP = new DelayedFile(extension -> new File(POMF_DIR.get(extension), "pomf-enigma-" + extension.version + "." + extension.pomfVersion + ".zip"));
|
||||
public static IDelayed<File> MAPPINGS_ZIP = new DelayedFile(extension -> new File(POMF_DIR.get(extension), "pomf-enigma-" + extension.version + "." + extension.pomfVersion + ".zip"));
|
||||
public static final IDelayed<File> MAPPINGS_DIR = new DelayedFile(extension -> new File(POMF_DIR.get(extension), "pomf-enigma-" + extension.version + "." + extension.pomfVersion + ""));
|
||||
public static final IDelayed<File> MAPPINGS_TINY_GZ = new DelayedFile(extension -> new File(POMF_DIR.get(extension), "pomf-tiny-" + extension.version + "." + extension.pomfVersion + ".gz"));
|
||||
public static IDelayed<File> MAPPINGS_TINY_GZ = new DelayedFile(extension -> new File(POMF_DIR.get(extension), "pomf-tiny-" + extension.version + "." + extension.pomfVersion + ".gz"));
|
||||
public static final IDelayed<File> MAPPINGS_TINY = new DelayedFile(extension -> new File(POMF_DIR.get(extension), "pomf-tiny-" + extension.version + "." + extension.pomfVersion));
|
||||
public static final IDelayed<File> MAPPINGS_MIXIN_EXPORT = new DelayedFile(extension -> new File(CACHE_FILES, "mixin-map-" + extension.version + "." + extension.pomfVersion + ".mappings"));
|
||||
|
||||
public static final IDelayed<File> MAPPINGS_DIR_LOCAL = new DelayedFile(extension -> new File(WORKING_DIRECTORY, "mappings"));
|
||||
public static final IDelayed<File> MAPPINGS_ZIP_LOCAL = new DelayedFile(extension -> new File(MAPPINGS_DIR_LOCAL.get(extension), "pomf-enigma-" + extension.version + ".zip"));
|
||||
public static final IDelayed<File> MAPPINGS_TINY_GZ_LOCAL = new DelayedFile(extension -> new File(MAPPINGS_DIR_LOCAL.get(extension), "pomf-tiny-" + extension.version + ".gz"));
|
||||
|
||||
public static final IDelayed<File> REF_MAP = new DelayedFile(extension -> new File(CACHE_FILES, "mixin-refmap.json"));
|
||||
|
||||
public static final IDelayed<File> MINECRAFT_LIBS = new DelayedFile(extension -> new File(extension.getFabricUserCache(), extension.version + "-libs"));
|
||||
|
|
Loading…
Reference in a new issue