Skip to content

Commit be13827

Browse files
committed
use shared parser
1 parent b19ab90 commit be13827

19 files changed

Lines changed: 159 additions & 155 deletions

de.peeeq.wurstscript/build.gradle

Lines changed: 35 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,7 @@ dependencies {
110110
implementation 'org.xerial:sqlite-jdbc:3.46.1.3'
111111
implementation 'com.github.inwc3:jmpq3:e28f6999c0'
112112
implementation 'com.github.inwc3:wc3libs:548f34a424'
113-
implementation 'com.github.wurstscript:wurst-project-config:2c7ccd1a5f'
114-
implementation('com.github.wurstscript:wurstsetup:393cf5ea39') {
115-
exclude group: 'org.eclipse.jgit', module: 'org.eclipse.jgit'
116-
exclude group: 'org.eclipse.jgit', module: 'org.eclipse.jgit.ssh.apache'
117-
}
113+
implementation 'com.github.wurstscript:wurst-project-config:348fcd4ef5'
118114
implementation 'org.slf4j:slf4j-api:2.0.17'
119115
implementation 'ch.qos.logback:logback-classic:1.5.20'
120116
testImplementation 'org.eclipse.jgit:org.eclipse.jgit:6.7.0.202309050840-r'
@@ -291,6 +287,40 @@ shadowJar {
291287
exclude 'it/unimi/dsi/fastutil/booleans/**'
292288
exclude 'it/unimi/dsi/fastutil/io/**'
293289

290+
// Within the kept objects/ints packages the compiler only uses the open-hash map/set, linked-open variants,
291+
// array list and FIFO queue for Object2Object, Object2Int, Reference2Object, Reference2Boolean and Int2Object.
292+
// Drop the rest (~4.6 MB): sorted (tree) maps, custom-hash maps, and the cross-primitive value families whose
293+
// value-type packages are already excluded above. If you start using another fastutil collection, remove the
294+
// matching exclude here.
295+
exclude 'it/unimi/dsi/fastutil/**/*AVLTreeMap*'
296+
exclude 'it/unimi/dsi/fastutil/**/*RBTreeMap*'
297+
exclude 'it/unimi/dsi/fastutil/**/*OpenCustomHashMap*'
298+
exclude 'it/unimi/dsi/fastutil/objects/Object2Double*'
299+
exclude 'it/unimi/dsi/fastutil/objects/Object2Float*'
300+
exclude 'it/unimi/dsi/fastutil/objects/Object2Long*'
301+
exclude 'it/unimi/dsi/fastutil/objects/Object2Short*'
302+
exclude 'it/unimi/dsi/fastutil/objects/Object2Byte*'
303+
exclude 'it/unimi/dsi/fastutil/objects/Object2Char*'
304+
exclude 'it/unimi/dsi/fastutil/objects/Object2Boolean*'
305+
exclude 'it/unimi/dsi/fastutil/objects/Object2Reference*'
306+
exclude 'it/unimi/dsi/fastutil/objects/Reference2Double*'
307+
exclude 'it/unimi/dsi/fastutil/objects/Reference2Float*'
308+
exclude 'it/unimi/dsi/fastutil/objects/Reference2Long*'
309+
exclude 'it/unimi/dsi/fastutil/objects/Reference2Short*'
310+
exclude 'it/unimi/dsi/fastutil/objects/Reference2Byte*'
311+
exclude 'it/unimi/dsi/fastutil/objects/Reference2Char*'
312+
exclude 'it/unimi/dsi/fastutil/objects/Reference2Int*'
313+
exclude 'it/unimi/dsi/fastutil/objects/Reference2Reference*'
314+
exclude 'it/unimi/dsi/fastutil/ints/Int2Double*'
315+
exclude 'it/unimi/dsi/fastutil/ints/Int2Float*'
316+
exclude 'it/unimi/dsi/fastutil/ints/Int2Long*'
317+
exclude 'it/unimi/dsi/fastutil/ints/Int2Short*'
318+
exclude 'it/unimi/dsi/fastutil/ints/Int2Byte*'
319+
exclude 'it/unimi/dsi/fastutil/ints/Int2Char*'
320+
exclude 'it/unimi/dsi/fastutil/ints/Int2Boolean*'
321+
exclude 'it/unimi/dsi/fastutil/ints/Int2Int*'
322+
exclude 'it/unimi/dsi/fastutil/ints/Int2Reference*'
323+
294324
// sqlite-jdbc bundles ~13.5 MB of native libs for 24 platforms. The compiler needs Java (64-bit only), so keep
295325
// only the desktop platforms it actually runs on (Windows/macOS/Linux on x86_64 + aarch64, incl. Apple Silicon)
296326
// and drop the rest (~10 MB saved). Keep this list in sync if sqlite-jdbc adds platforms.

de.peeeq.wurstscript/deploy.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ tasks.register("jlinkRuntime25", Exec) {
178178
"--no-header-files",
179179
"--no-man-pages",
180180
"--strip-debug",
181-
"--compress=zip-6",
181+
"--compress=zip-9",
182182
"--output", outDir.absolutePath
183183
}
184184
}

de.peeeq.wurstscript/src/main/java/de/peeeq/wurstio/CompilationProcess.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package de.peeeq.wurstio;
22

3-
import config.WurstProjectConfigData;
3+
import org.wurstscript.projectconfig.WurstProjectConfigData;
44
import de.peeeq.wurstio.languageserver.requests.RunTests;
55
import de.peeeq.wurstio.mpq.MpqEditor;
66
import de.peeeq.wurstio.utils.FileUtils;
@@ -85,7 +85,7 @@ public CompilationProcess(WurstGui gui, RunArgs runArgs) {
8585
() -> runTests(compiler.getImTranslator(), compiler, runArgs.getTestTimeout(), runArgs.getTestFilter()));
8686
}
8787

88-
timeTaker.measure("Run compiletime functions", () ->compiler.runCompiletime(new WurstProjectConfigData(), isProd, false));
88+
timeTaker.measure("Run compiletime functions", () ->compiler.runCompiletime(WurstProjectConfigData.empty(), isProd, false));
8989

9090
JassProg jassProg = timeTaker.measure("Transform program to Jass",
9191
compiler::transformProgToJass);

de.peeeq.wurstscript/src/main/java/de/peeeq/wurstio/CompiletimeFunctionRunner.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import com.google.common.collect.LinkedListMultimap;
55
import com.google.common.collect.Lists;
66
import com.google.common.collect.Maps;
7-
import config.WurstProjectConfigData;
7+
import org.wurstscript.projectconfig.WurstProjectConfigData;
88
import de.peeeq.wurstio.intermediateLang.interpreter.CompiletimeNatives;
99
import de.peeeq.wurstio.intermediateLang.interpreter.ProgramStateIO;
1010
import de.peeeq.wurstio.jassinterpreter.InterpreterException;

de.peeeq.wurstscript/src/main/java/de/peeeq/wurstio/Main.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import com.google.common.base.Charsets;
44
import com.google.common.io.Files;
5-
import config.WurstProjectConfig;
6-
import config.WurstProjectConfigData;
5+
import org.wurstscript.projectconfig.WurstProjectConfigData;
6+
import org.wurstscript.projectconfig.WurstProjectConfigReader;
77
import de.peeeq.wurstio.compilationserver.WurstServer;
88
import de.peeeq.wurstio.gui.AboutDialog;
99
import de.peeeq.wurstio.gui.WurstGuiImpl;
@@ -124,7 +124,7 @@ public static void main(String[] args) {
124124
if (runArgs.isBuild() && runArgs.getInputmap() != null && workspaceroot != null) {
125125
Path root = Paths.get(workspaceroot);
126126
Path inputMap = root.resolve(runArgs.getInputmap());
127-
WurstProjectConfigData projectConfig = WurstProjectConfig.INSTANCE.loadProject(root.resolve(FILE_NAME));
127+
WurstProjectConfigData projectConfig = WurstProjectConfigReader.load(root.resolve(FILE_NAME));
128128
if (java.nio.file.Files.exists(inputMap) && projectConfig != null) {
129129
CliBuildMap cliBuildMap = new CliBuildMap(
130130
WFile.create(root.toFile()),

de.peeeq.wurstscript/src/main/java/de/peeeq/wurstio/WurstCompilerJassImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
import com.google.common.collect.Maps;
77
import com.google.common.collect.Sets;
88
import com.google.common.io.Files;
9-
import config.WurstProjectConfigData;
9+
import org.wurstscript.projectconfig.WurstProjectConfigData;
1010
import de.peeeq.wurstio.languageserver.requests.RequestFailedException;
1111
import de.peeeq.wurstio.map.importer.ImportFile;
1212
import de.peeeq.wurstio.mpq.MpqEditor;

de.peeeq.wurstscript/src/main/java/de/peeeq/wurstio/intermediateLang/interpreter/CompiletimeNatives.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package de.peeeq.wurstio.intermediateLang.interpreter;
22

33

4-
import config.WurstProjectConfigData;
4+
import org.wurstscript.projectconfig.WurstProjectConfigData;
55
import de.peeeq.wurstio.jassinterpreter.InterpreterException;
66
import de.peeeq.wurstio.jassinterpreter.ReflectionBasedNativeProvider;
77
import de.peeeq.wurstio.objectreader.ObjectHelper;
@@ -175,7 +175,7 @@ public void compileError(ILconstString msg) {
175175
}
176176

177177
public ILconstString getMapName() {
178-
return new ILconstString(projectConfigData.getBuildMapData().getName());
178+
return new ILconstString(projectConfigData.buildMapData().name());
179179
}
180180

181181
public ILconstString getBuildDate() {

0 commit comments

Comments
 (0)