Skip to content

Commit 0677679

Browse files
committed
#233 - Compiler error if the top level package name is "inject". The automatically generated module class is InjectModule which clashes.
1 parent 059d4ad commit 0677679

File tree

3 files changed

+13
-1
lines changed

3 files changed

+13
-1
lines changed

inject-generator/src/main/java/io/avaje/inject/generator/ScopeInfo.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ private void read(Element element) {
116116

117117
private String initName(String topPackage) {
118118
if (name == null || name.isEmpty()) {
119-
name = ScopeUtil.name(topPackage);
119+
name = ScopeUtil.initName(topPackage);
120120
}
121121
return name;
122122
}

inject-generator/src/main/java/io/avaje/inject/generator/ScopeUtil.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@ static List<String> readClasses(Element element, String attributeName) {
6060
return requiresList;
6161
}
6262

63+
static String initName(String name) {
64+
name = name(name);
65+
return name.equals("Inject") ? "DInject" : name;
66+
}
67+
6368
static String name(String name) {
6469
if (name == null) {
6570
return null;

inject-generator/src/test/java/io/avaje/inject/generator/ScopeUtilTest.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@ void name() {
1414
assertEquals("Example", ScopeUtil.name("Example"));
1515
}
1616

17+
@Test
18+
void initName_inject() {
19+
// resulting module can't be InjectModule as that clashes with @InjectModule
20+
assertEquals("DInject", ScopeUtil.initName("org.example.inject"));
21+
assertEquals("Foo", ScopeUtil.initName("org.example.foo"));
22+
}
23+
1724
@Test
1825
void name_withSpace() {
1926
assertEquals("ExAmple", ScopeUtil.name("org.ex ample"));

0 commit comments

Comments
 (0)