Skip to content

Commit

Permalink
fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
Frotty committed Oct 22, 2019
1 parent 1bd41f9 commit a243a0b
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 13 deletions.
Expand Up @@ -38,7 +38,11 @@ public CompilationProcess(WurstGui gui, RunArgs runArgs) {
}

@Nullable CharSequence doCompilation(@Nullable MpqEditor mpqEditor) throws IOException {
WurstCompilerJassImpl compiler = new WurstCompilerJassImpl(timeTaker, null, gui, mpqEditor, runArgs);
return doCompilation(mpqEditor, null);
}

@Nullable CharSequence doCompilation(@Nullable MpqEditor mpqEditor, @Nullable File projectFolder) throws IOException {
WurstCompilerJassImpl compiler = new WurstCompilerJassImpl(timeTaker, projectFolder, gui, mpqEditor, runArgs);
gui.sendProgress("Check input map");
if (mpqEditor != null && !mpqEditor.canWrite()) {
WLogger.severe("The supplied map is invalid/corrupted/protected and Wurst cannot write to it.\n" +
Expand Down
20 changes: 14 additions & 6 deletions de.peeeq.wurstscript/src/main/java/de/peeeq/wurstio/Main.java
Expand Up @@ -28,10 +28,12 @@
import java.nio.file.Path;
import java.nio.file.Paths;
import java.nio.file.StandardCopyOption;
import java.util.LinkedList;
import java.util.List;

import static de.peeeq.wurstio.languageserver.ProjectConfigBuilder.FILE_NAME;
import static de.peeeq.wurstio.languageserver.WurstCommands.getCompileArgs;
import static java.util.Arrays.asList;

public class Main {

Expand Down Expand Up @@ -107,8 +109,9 @@ public static void main(String[] args) {
WurstProjectConfigData projectConfig = null;
Path buildDir = null;
Path target = null;
if (runArgs.isBuild() && runArgs.getInputmap() != null && runArgs.getWorkspaceroot() != null) {
Path root = Paths.get(runArgs.getWorkspaceroot());
String workspaceroot = runArgs.getWorkspaceroot();
if (runArgs.isBuild() && runArgs.getInputmap() != null && workspaceroot != null) {
Path root = Paths.get(workspaceroot);
Path inputMap = root.resolve(runArgs.getInputmap());
projectConfig = WurstProjectConfig.INSTANCE.loadProject(root.resolve(FILE_NAME));

Expand All @@ -131,15 +134,20 @@ public static void main(String[] args) {
}

RunArgs compileArgs = runArgs;
if (runArgs.getWorkspaceroot() != null) {
compileArgs = new RunArgs(getCompileArgs(WFile.create(Paths.get(runArgs.getWorkspaceroot()))));
if (workspaceroot != null) {
WLogger.info("workspaceroot: " + workspaceroot);
List<String> argList = new LinkedList<>(asList(args));
List<String> argsList = getCompileArgs(WFile.create(workspaceroot));
WLogger.info("workspaceroot: " + (argsList == null));
argList.addAll(argsList);
compileArgs = new RunArgs(argList);
}
CompilationProcess compilationProcess = new CompilationProcess(gui, compileArgs);
@Nullable CharSequence compiledScript;

if (mapFilePath != null) {
if (mapFilePath != null && workspaceroot != null) {
try (MpqEditor mpqEditor = MpqEditorFactory.getEditor(new File(mapFilePath))) {
compiledScript = compilationProcess.doCompilation(mpqEditor);
compiledScript = compilationProcess.doCompilation(mpqEditor, Paths.get(workspaceroot).toFile());
if (compiledScript != null) {
gui.sendProgress("Writing to map");
mpqEditor.deleteFile("war3map.j");
Expand Down
Expand Up @@ -180,8 +180,8 @@ private void addDependencyFolder(File f, String folderName) {
if (file.getName().endsWith(".w3x") || file.getName().endsWith(".w3m")) {
mapFile = file;
} else if (file.isDirectory()) {
if (projectFolder != null) {
throw new RuntimeException("Cannot set projectFolder to " + file + " because it is already set to " + projectFolder);
if (projectFolder != null && !file.getParent().equals(projectFolder.getAbsolutePath())) {
throw new RuntimeException("Cannot set projectFolder to " + file + " because it is already set to non parent " + projectFolder);
}
projectFolder = file;
}
Expand Down Expand Up @@ -497,7 +497,6 @@ public JassProg transformProgToJass() {
if (runArgs.isHotStartmap() || runArgs.isHotReload()) {
addJassHotCodeReloadCode();
}

if (runArgs.isOptimize()) {
beginPhase(12, "froptimize");
optimizer.optimize();
Expand Down
Expand Up @@ -20,7 +20,9 @@ public class RunArgs {
private @Nullable String outFile = null;
private @Nullable String workspaceroot = null;
private @Nullable String inputmap = null;

private List<RunOption> options = Lists.newArrayList();

private List<File> libDirs = Lists.newArrayList();
private RunOption optionHelp;
private RunOption optionOpt;
Expand All @@ -47,7 +49,6 @@ public class RunArgs {
private RunOption optionMeasureTimes;
private RunOption optionHotStartmap;
private RunOption optionHotReload;

private RunOption optionBuild;

public RunArgs with(String... additionalArgs) {
Expand All @@ -58,6 +59,7 @@ public RunArgs with(String... additionalArgs) {
private class RunOption {

final String name;

final String descr;
final @Nullable Consumer<String> argHandler;
boolean isSet;
Expand All @@ -66,15 +68,14 @@ private class RunOption {
this.descr = descr;
this.argHandler = null;
}

RunOption(String name, String descr, Consumer<String> argHandler2) {
this.name = name;
this.descr = descr;
this.argHandler = argHandler2;
}

}

}
public static RunArgs defaults() {
return new RunArgs();
}
Expand Down Expand Up @@ -344,4 +345,5 @@ public boolean isLua() {
return optionLua.isSet;
}


}

0 comments on commit a243a0b

Please sign in to comment.