Skip to content

Commit bdd974a

Browse files
committed
Don't use double brace initialization and other improvements
1 parent c2eeffa commit bdd974a

File tree

2 files changed

+49
-55
lines changed

2 files changed

+49
-55
lines changed

src/main/java/io/github/pacifistmc/forgix/Forgix.java

Lines changed: 22 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,10 @@ public static void mergeLoaders(Map<File, String> jarsAndLoadersMap, File output
3737
));
3838

3939
try (var baos = JAR.combineJars(jarsAndLoadersMap.keySet(),
40-
extraManifestAttributes:new HashMap<>() {{
41-
put(MANIFEST_VERSION_KEY, VERSION);
42-
put(MANIFEST_MAPPINGS_KEY, String.join(";", tinyFiles.values()));
43-
}});
40+
extraManifestAttributes:Map.of(
41+
MANIFEST_VERSION_KEY, VERSION,
42+
MANIFEST_MAPPINGS_KEY, String.join(";", tinyFiles.values())
43+
));
4444
var fos = new FileOutputStream(outputFile)
4545
) {
4646
baos.writeTo(fos);
@@ -55,49 +55,49 @@ public static void mergeVersions(Collection<File> jarFiles, File outputFile) {
5555
}
5656
JAR.setPerms(outputFile);
5757
}
58-
58+
5959
public static void main(String[] args) {
6060
if (args.length < 2) {
6161
"""
6262
Usage:
6363
java -jar forgix.jar mergeJars --output <outputJar> --<loader1> <jar1> --<loader2> <jar2> [--<loader3> <jar3> ...]
6464
java -jar forgix.jar mergeVersions --output <outputJar> <jar1> <jar2> [<jar3> ...]
65-
65+
6666
Example:
6767
java -jar forgix.jar mergeJars --output path/to/merged.jar --forge myforgemod.jar --fabric myfabricmod.jar
6868
java -jar forgix.jar mergeVersions --output path/to/merged.jar my1.16mod.jar my1.17mod.jar my1.18mod.jar""".errExit();
6969
}
70-
70+
7171
String command = args[0];
72-
72+
7373
// Handle mergeJars command
7474
if ("mergeJars".equals(command)) {
7575
if (args.length < 5 || args.length % 2 != 1) {
7676
"Usage: java -jar forgix.jar mergeJars --output <outputJar> --<loader1> <jar1> --<loader2> <jar2> [--<loader3> <jar3> ...]".errExit();
7777
}
78-
78+
7979
Map<File, String> jarsAndLoadersMap = new HashMap<>();
8080
File outputFile = null;
81-
81+
8282
for (int i = 1; i < args.length; i += 2) {
8383
if (!args[i].startsWith("--")) "Parameter must start with --".errExit();
84-
84+
8585
var param = args[i].substring(2);
8686
var value = args[i + 1];
87-
87+
8888
if ("output".equals(param)) {
8989
outputFile = new File(value);
9090
continue;
9191
}
92-
92+
9393
var jarFile = new File(value);
9494
if (!jarFile.exists() || !jarFile.isFile()) "Jar file not found: ${value}".errExit();
9595
jarsAndLoadersMap.put(jarFile, param);
9696
}
97-
97+
9898
if (outputFile == null) "Output jar file must be specified with --output".errExit();
9999
if (jarsAndLoadersMap.size() < 2) "At least two jars must be provided".errExit();
100-
100+
101101
try {
102102
mergeLoaders(jarsAndLoadersMap, outputFile);
103103
"Successfully merged jars into ${outputFile.getAbsolutePath()}".println();
@@ -106,26 +106,26 @@ public static void main(String[] args) {
106106
}
107107
return;
108108
}
109-
109+
110110
// Handle mergeVersions command
111111
if ("mergeVersions".equals(command)) {
112112
if (args.length < 4) {
113113
"Usage: java -jar forgix.jar mergeVersions --output <outputJar> <jar1> <jar2> [<jar3> ...]".errExit();
114114
}
115-
115+
116116
if (!"--output".equals(args[1])) "Output jar file must be specified with --output".errExit();
117-
117+
118118
File outputFile = new File(args[2]);
119119
List<File> jarFiles = new ArrayList<>();
120-
120+
121121
for (int i = 3; i < args.length; i++) {
122122
var jarFile = new File(args[i]);
123123
if (!jarFile.exists() || !jarFile.isFile()) "Jar file not found: ${args[i]}".errExit();
124124
jarFiles.add(jarFile);
125125
}
126-
126+
127127
if (jarFiles.size() < 2) "At least two jars must be provided".errExit();
128-
128+
129129
try {
130130
mergeVersions(jarFiles, outputFile);
131131
"Successfully merged version jars into ${outputFile.getAbsolutePath()}".println();
@@ -134,7 +134,7 @@ public static void main(String[] args) {
134134
}
135135
return;
136136
}
137-
137+
138138
// Unknown command
139139
"Unknown command: ${command}".errExit();
140140
}

src/main/java/io/github/pacifistmc/forgix/utils/JAR.java

Lines changed: 27 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,17 @@
2525
public class JAR {
2626
// Constants
2727
private static final int BUFFER_SIZE = 64 * 1024; // 64KB buffer
28-
public static final Set<PosixFilePermission> perms = new HashSet<>() {
29-
{
30-
add(PosixFilePermission.OTHERS_EXECUTE);
31-
add(PosixFilePermission.OTHERS_WRITE);
32-
add(PosixFilePermission.OTHERS_READ);
33-
add(PosixFilePermission.OWNER_EXECUTE);
34-
add(PosixFilePermission.OWNER_WRITE);
35-
add(PosixFilePermission.OWNER_READ);
36-
add(PosixFilePermission.GROUP_EXECUTE);
37-
add(PosixFilePermission.GROUP_WRITE);
38-
add(PosixFilePermission.GROUP_READ);
39-
}
40-
};
28+
public static final Set<PosixFilePermission> perms = Set.of(
29+
PosixFilePermission.OTHERS_EXECUTE,
30+
PosixFilePermission.OTHERS_WRITE,
31+
PosixFilePermission.OTHERS_READ,
32+
PosixFilePermission.OWNER_EXECUTE,
33+
PosixFilePermission.OWNER_WRITE,
34+
PosixFilePermission.OWNER_READ,
35+
PosixFilePermission.GROUP_EXECUTE,
36+
PosixFilePermission.GROUP_WRITE,
37+
PosixFilePermission.GROUP_READ
38+
);
4139

4240
/**
4341
* Merges the manifests of multiple JAR files.
@@ -89,15 +87,10 @@ public static Map<String, String> mergeServices(Collection<File> jars) {
8987
}).collect(Collectors.toMap(
9088
Map.Entry::getKey,
9189
Map.Entry::getValue,
92-
(a, b) -> {
93-
// Only add unique lines
94-
return String.join("\n", new LinkedHashSet<>() {
95-
{
96-
addAll(Arrays.asList(a.split("\n")));
97-
addAll(Arrays.asList(b.split("\n")));
98-
}
99-
});
100-
}
90+
(a, b) -> Stream.concat(
91+
Arrays.stream(a.split("\n")),
92+
Arrays.stream(b.split("\n"))
93+
).distinct().collect(Collectors.joining("\n"))
10194
));
10295
}
10396

@@ -230,13 +223,12 @@ public static boolean writeResources(JarFile jarFile, Map<JarEntry, String> cont
230223
jarFile.close(); // Close the JAR file so we can write to it
231224
try (ZipFile zipFile = new ZipFile(jarFile.getName())) {
232225
// Add all writers to the ZIP
233-
writers.forEach((is, entry) ->
234-
zipFile.addStream(is,
235-
new ZipParameters() {{
236-
setFileNameInZip(entry.getName());
237-
setOverrideExistingFilesInZip(true);
238-
}}
239-
));
226+
writers.forEach((is, entry) -> {
227+
var params = new ZipParameters();
228+
params.setFileNameInZip(entry.getName());
229+
params.setOverrideExistingFilesInZip(true);
230+
zipFile.addStream(is, params);
231+
});
240232
}
241233
return !writers.isEmpty();
242234
}
@@ -248,10 +240,12 @@ public static boolean writeResources(JarFile jarFile, Map<JarEntry, String> cont
248240
*/
249241
public static void addFiles(File jarFile, Map<File, String> filesAndNamesMap) {
250242
try (ZipFile zipFile = new ZipFile(jarFile)) {
251-
filesAndNamesMap.forEach((file, path) -> zipFile.addFile(file, new ZipParameters() {{
252-
setFileNameInZip(path);
253-
setOverrideExistingFilesInZip(true);
254-
}}));
243+
filesAndNamesMap.forEach((file, path) -> {
244+
var params = new ZipParameters();
245+
params.setFileNameInZip(path);
246+
params.setOverrideExistingFilesInZip(true);
247+
zipFile.addFile(file, params);
248+
});
255249
}
256250
}
257251

0 commit comments

Comments
 (0)