Skip to content

Commit 20efd27

Browse files
committed
Ignore line comments that start later in a line
Fixes #18
1 parent c47ca38 commit 20efd27

File tree

2 files changed

+20
-2
lines changed

2 files changed

+20
-2
lines changed

src/main/java/de/jjohannes/gradle/moduledependencies/internal/utils/ModuleInfo.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,9 @@ private boolean parse(String moduleLine, boolean insideComment) {
7575
}
7676

7777
List<String> tokens = Arrays.asList(moduleLine.replace(";","").replace("{","").trim().split("\\s+"));
78-
if ("//".equals(tokens.get(0))) {
79-
return false;
78+
int singleLineCommentStartIndex = tokens.indexOf("//");
79+
if (singleLineCommentStartIndex >= 0) {
80+
tokens = tokens.subList(0, singleLineCommentStartIndex);
8081
}
8182

8283
if (tokens.contains("module")) {

src/test/groovy/de/jjohannes/gradle/moduledependencies/test/ModuleInfoParseTest.groovy

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,23 @@ class ModuleInfoParseTest extends Specification {
2020
''')
2121

2222
expect:
23+
moduleInfo.moduleNamePrefix("thing", "main") == "some"
24+
moduleInfo.get(REQUIRES) == []
25+
moduleInfo.get(REQUIRES_TRANSITIVE) == ["foo.bar.la"]
26+
moduleInfo.get(REQUIRES_STATIC) == []
27+
moduleInfo.get(REQUIRES_STATIC_TRANSITIVE) == []
28+
}
29+
30+
def "ignores single line comments late in line"() {
31+
given:
32+
def moduleInfo = new ModuleInfo('''
33+
module some.thing { // module some.thing.else
34+
requires transitive foo.bar.la;
35+
}
36+
''')
37+
38+
expect:
39+
moduleInfo.moduleNamePrefix("thing", "main") == "some"
2340
moduleInfo.get(REQUIRES) == []
2441
moduleInfo.get(REQUIRES_TRANSITIVE) == ["foo.bar.la"]
2542
moduleInfo.get(REQUIRES_STATIC) == []

0 commit comments

Comments
 (0)