Skip to content

Commit 23139de

Browse files
committed
make trailing comma more robust against in-string replacements
avoid that e.g. "}" inside string literals will be replaced with "},"
1 parent 075359c commit 23139de

File tree

2 files changed

+14
-7
lines changed

2 files changed

+14
-7
lines changed

jangaroo-maven/jangaroo-maven-plugin/src/main/java/net/jangaroo/jooc/mvnplugin/WorkspaceConverterMojo.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1097,14 +1097,12 @@ private boolean ignoreDependency(Dependency dependency) {
10971097
return "net.jangaroo__jangaroo-browser".contains(String.format("%s__%s", dependency.getGroupId(), dependency.getArtifactId()));
10981098
}
10991099

1100-
private String convertJangarooConfig(String jangarooConfig) {
1100+
public String convertJangarooConfig(String jangarooConfig) {
11011101
return jangarooConfig
1102-
.replaceAll("\"([a-zA-Z_$][0-9a-zA-Z_$]*)\":", "$1:")
1103-
.replace("}", "},")
1104-
.replace("]", "],")
1105-
.replace("\"\n", "\",\n")
1106-
.replace(",,", ",")
1107-
.replace(",);", ");");
1102+
.replaceAll("(\n\\s*)\"([a-zA-Z_$][0-9a-zA-Z_$]*)\":", "$1$2:")
1103+
.replace("}\n", "},\n")
1104+
.replace("]\n", "],\n")
1105+
.replace("\"\n", "\",\n");
11081106
}
11091107

11101108
private boolean isValidVersion(String version) {
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package net.jangaroo.jooc.mvnplugin;
2+
3+
import junit.framework.TestCase;
4+
5+
public class WorkspaceConverterMojoTest extends TestCase {
6+
public void testConvertJangarooConfig() {
7+
assertEquals("{\n hello: \"{world}\",\n}", WorkspaceConverterMojo.convertJangarooConfig("{\n \"hello\": \"{world}\"\n}"));
8+
}
9+
}

0 commit comments

Comments
 (0)