Skip to content

Commit f64d942

Browse files
authored
update dependencies (now uses vineflower) (#3)
Looks good, thanks!
1 parent 623079a commit f64d942

File tree

5 files changed

+22
-34
lines changed

5 files changed

+22
-34
lines changed

build.gradle

+2-2
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ repositories {
1616

1717
tasks.withType(JavaCompile).configureEach {
1818
it.options.encoding = "UTF-8"
19-
it.options.release = 8
19+
it.options.release = 21
2020
}
2121

2222
application {
@@ -51,5 +51,5 @@ dependencies {
5151
implementation "org.eclipse.jgit:org.eclipse.jgit:${jgit_version}"
5252

5353
// Decompiler, could be replaced with another fernflower fork
54-
implementation "org.quiltmc:quiltflower:${quiltflower_version}"
54+
implementation "org.vineflower:vineflower:${vineflower_version}"
5555
}

gradle.properties

+7-7
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@ org.gradle.jvmargs = -Xmx3G
33

44
# GitCraft Properties
55
group = dex.mcgitmaker
6-
version = 0.1.2-SNAPSHOT
6+
version = 0.1.3-SNAPSHOT
77

88
# GitCraft Dependencies
99
groovy_version = 3.0.+
10-
fabric_loader_version = 0.14.+
11-
asm_version = 9.3
10+
fabric_loader_version = 0.15.+
11+
asm_version = 9.7
1212
stitch_version = 0.6.+
13-
tiny_remapper_version = 0.8.+
13+
tiny_remapper_version = 0.10.+
1414
access_widener_version = 2.1.+
15-
mappingio_version = 0.3.+
15+
mappingio_version = 0.6.+
1616
lorenz_tiny_version = 4.0.+
17-
jgit_version = 6.2.+
18-
quiltflower_version = 1.8.+
17+
jgit_version = 6.8.+
18+
vineflower_version = 1.10.+
+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.1-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-8.8-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

src/main/groovy/dex/mcgitmaker/data/McVersion.groovy

+9-7
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ import dex.mcgitmaker.Util
55
import dex.mcgitmaker.loom.BundleMetadata
66
import dex.mcgitmaker.loom.Decompiler
77
import dex.mcgitmaker.loom.Remapper
8+
import net.fabricmc.mappingio.MappingWriter
89
import net.fabricmc.mappingio.adapter.MappingSourceNsSwitch
910
import net.fabricmc.mappingio.format.MappingFormat
10-
import net.fabricmc.mappingio.format.ProGuardReader
11-
import net.fabricmc.mappingio.format.Tiny2Writer
11+
import net.fabricmc.mappingio.format.proguard.ProGuardFileReader
12+
import net.fabricmc.mappingio.format.tiny.Tiny2FileWriter
1213
import net.fabricmc.mappingio.tree.MemoryMappingTree
1314
import net.fabricmc.stitch.merge.JarMerger
1415
import net.fabricmc.tinyremapper.IMappingProvider
@@ -71,13 +72,14 @@ class McVersion {
7172

7273
try (BufferedReader clientBufferedReader = Files.newBufferedReader(artifacts.clientMappings.fetchArtifact().toPath(), StandardCharsets.UTF_8)
7374
BufferedReader serverBufferedReader = Files.newBufferedReader(artifacts.serverMappings.fetchArtifact().toPath(), StandardCharsets.UTF_8)) {
74-
ProGuardReader.read(clientBufferedReader as Reader, Util.MappingsNamespace.MOJMAP.toString(), Util.MappingsNamespace.OFFICIAL.toString(), nsSwitch)
75-
ProGuardReader.read(serverBufferedReader as Reader, Util.MappingsNamespace.MOJMAP.toString(), Util.MappingsNamespace.OFFICIAL.toString(), nsSwitch)
75+
ProGuardFileReader.read(clientBufferedReader as Reader, Util.MappingsNamespace.MOJMAP.toString(), Util.MappingsNamespace.OFFICIAL.toString(), nsSwitch)
76+
ProGuardFileReader.read(serverBufferedReader as Reader, Util.MappingsNamespace.MOJMAP.toString(), Util.MappingsNamespace.OFFICIAL.toString(), nsSwitch)
7677
}
7778

78-
def w = Tiny2Writer.create(mappingsFile, MappingFormat.TINY_2)
79-
mappingTree.accept(w)
80-
w.close()
79+
try (MappingWriter w = MappingWriter.create(mappingsFile, MappingFormat.TINY_2_FILE)) {
80+
mappingTree.accept(w)
81+
w.close()
82+
}
8183
}
8284

8385
return mappingsFile

src/main/groovy/dex/mcgitmaker/loom/Decompiler.groovy

+3-17
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import dex.mcgitmaker.data.Artifact
55
import dex.mcgitmaker.data.McVersion
66
import groovy.json.JsonGenerator
77
import groovy.json.JsonOutput
8-
import net.fabricmc.stitch.util.StitchUtil
98
import org.jetbrains.java.decompiler.main.Fernflower
109
import org.jetbrains.java.decompiler.main.decompiler.DirectoryResultSaver
1110
import org.jetbrains.java.decompiler.main.decompiler.PrintStreamLogger
@@ -35,12 +34,12 @@ class Decompiler {
3534
options.put(IFernflowerPreferences.THREADS, Integer.toString(Runtime.getRuntime().availableProcessors() - 3));
3635
//options.put(IFabricJavadocProvider.PROPERTY_NAME, new QfTinyJavadocProvider(metaData.javaDocs().toFile()));
3736

38-
// Experimental QF preferences
37+
// Experimental VF preferences
3938
options.put(IFernflowerPreferences.PATTERN_MATCHING, "1");
40-
options.put(IFernflowerPreferences.EXPERIMENTAL_TRY_LOOP_FIX, "1");
39+
options.put(IFernflowerPreferences.TRY_LOOP_FIX, "1");
4140
//options.putAll(ReflectionUtil.<Map<String, String>>maybeGetFieldOrRecordComponent(metaData, "options").orElse(Map.of()));
4241

43-
Fernflower ff = new Fernflower(Zips::getBytes, new DirectoryResultSaver(decompiledPath(mcVersion).toFile()), options, new PrintStreamLogger(/*System.out*/NULL_IS))
42+
Fernflower ff = new Fernflower(new DirectoryResultSaver(decompiledPath(mcVersion).toFile()), options, new PrintStreamLogger(/*System.out*/NULL_IS))
4443

4544
println 'Adding libraries...'
4645
for (Artifact library : mcVersion.libraries) {
@@ -72,17 +71,4 @@ class Decompiler {
7271
x.createNewFile()
7372
x.write(JsonOutput.prettyPrint(generator.toJson(c)))
7473
}
75-
76-
// Adapted from loom-quiltflower by Juuxel
77-
static final class Zips {
78-
static byte[] getBytes(String outerPath, String innerPath) throws IOException {
79-
if (innerPath == null) {
80-
return Files.readAllBytes(Path.of(outerPath));
81-
}
82-
83-
try (StitchUtil.FileSystemDelegate fs = StitchUtil.getJarFileSystem(new File(outerPath), false)) {
84-
return Files.readAllBytes(fs.get().getPath(innerPath));
85-
}
86-
}
87-
}
8874
}

0 commit comments

Comments
 (0)