|
38 | 38 | import java.util.Map; |
39 | 39 | import java.util.Objects; |
40 | 40 | import java.util.Set; |
41 | | -import java.util.regex.Pattern; |
42 | 41 | import java.util.stream.Collectors; |
43 | 42 |
|
44 | 43 | import com.google.gson.JsonElement; |
|
62 | 61 | import net.fabricmc.loom.util.gradle.SourceSetReference; |
63 | 62 |
|
64 | 63 | public class RunConfig { |
65 | | - private static final Pattern VARIABLE = Pattern.compile("%[A-Z_]+%"); |
66 | | - |
67 | 64 | public String configName; |
68 | 65 | public String eclipseProjectName; |
69 | 66 | public String ideaModuleName; |
@@ -178,20 +175,18 @@ public String fromDummy(String dummy, boolean relativeDir, Project project) thro |
178 | 175 | runDir = relativePath + "/" + runDir; |
179 | 176 | } |
180 | 177 |
|
181 | | - var replacements = Map.of( |
182 | | - "%NAME%", configName, |
183 | | - "%MAIN_CLASS%", mainClass, |
184 | | - "%ECLIPSE_PROJECT%", eclipseProjectName, |
185 | | - "%IDEA_MODULE%", ideaModuleName, |
186 | | - "%RUN_DIRECTORY%", runDir, |
187 | | - "%PROGRAM_ARGS%", joinArguments(programArgs).replaceAll("\"", """), |
188 | | - "%VM_ARGS%", joinArguments(vmArgs).replaceAll("\"", """), |
189 | | - "%IDEA_ENV_VARS%", getEnvVars("<env name=\"%s\" value=\"%s\"/>"), |
190 | | - "%ECLIPSE_ENV_VARS%", getEnvVars("<mapEntry key=\"%s\" value=\"%s\"/>"), |
191 | | - "%IDEA_FOLDER_NAME%", folderName == null ? "" : "folderName=\"" + XmlUtil.escapeXml(folderName) + "\"" |
192 | | - ); |
193 | | - |
194 | | - return VARIABLE.matcher(dummyConfig).replaceAll(x -> replacements.getOrDefault(x.group(), "")); |
| 178 | + dummyConfig = dummyConfig.replace("%NAME%", configName); |
| 179 | + dummyConfig = dummyConfig.replace("%MAIN_CLASS%", mainClass); |
| 180 | + dummyConfig = dummyConfig.replace("%ECLIPSE_PROJECT%", eclipseProjectName); |
| 181 | + dummyConfig = dummyConfig.replace("%IDEA_MODULE%", ideaModuleName); |
| 182 | + dummyConfig = dummyConfig.replace("%RUN_DIRECTORY%", runDir); |
| 183 | + dummyConfig = dummyConfig.replace("%PROGRAM_ARGS%", joinArguments(programArgs).replaceAll("\"", """)); |
| 184 | + dummyConfig = dummyConfig.replace("%VM_ARGS%", joinArguments(vmArgs).replaceAll("\"", """)); |
| 185 | + dummyConfig = dummyConfig.replace("%IDEA_ENV_VARS%", getEnvVars("<env name=\"%s\" value=\"%s\"/>")); |
| 186 | + dummyConfig = dummyConfig.replace("%ECLIPSE_ENV_VARS%", getEnvVars("<mapEntry key=\"%s\" value=\"%s\"/>")); |
| 187 | + dummyConfig = dummyConfig.replace("%IDEA_FOLDER_NAME%", folderName == null ? "" : "folderName=\"" + XmlUtil.escapeXml(folderName) + "\""); |
| 188 | + |
| 189 | + return dummyConfig; |
195 | 190 | } |
196 | 191 |
|
197 | 192 | private String getEnvVars(String pattern) { |
|
0 commit comments