From f09188d18382ee685a79c45ca7663b2814b9b316 Mon Sep 17 00:00:00 2001 From: Josiah Noel <32279667+SentryMan@users.noreply.github.com> Date: Thu, 12 Jun 2025 23:50:17 -0400 Subject: [PATCH 1/2] support a main package called `avaje` now generated module classes will not have the name `AvajeModule` when the package is `avaje`, which clashes with the class of the same name that it extends --- .../java/io/avaje/inject/generator/ScopeUtil.java | 14 +++++++++++++- .../io/avaje/inject/generator/ScopeUtilTest.java | 11 +++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/inject-generator/src/main/java/io/avaje/inject/generator/ScopeUtil.java b/inject-generator/src/main/java/io/avaje/inject/generator/ScopeUtil.java index aefdb320d..7a7b21278 100644 --- a/inject-generator/src/main/java/io/avaje/inject/generator/ScopeUtil.java +++ b/inject-generator/src/main/java/io/avaje/inject/generator/ScopeUtil.java @@ -4,7 +4,19 @@ final class ScopeUtil { static String initName(String name) { name = name(name); - return "Inject".equals(name) ? "DInject" : name; + + if (name == null) { + return null; + } + + switch (name) { + case "Inject": + return "DInject"; + case "Avaje": + return "AvajeInject"; + default: + return name; + } } static String name(String name) { diff --git a/inject-generator/src/test/java/io/avaje/inject/generator/ScopeUtilTest.java b/inject-generator/src/test/java/io/avaje/inject/generator/ScopeUtilTest.java index cf7e8fec3..92e47d1bc 100644 --- a/inject-generator/src/test/java/io/avaje/inject/generator/ScopeUtilTest.java +++ b/inject-generator/src/test/java/io/avaje/inject/generator/ScopeUtilTest.java @@ -1,8 +1,8 @@ package io.avaje.inject.generator; -import org.junit.jupiter.api.Test; +import static org.junit.jupiter.api.Assertions.assertEquals; -import static org.junit.jupiter.api.Assertions.*; +import org.junit.jupiter.api.Test; class ScopeUtilTest { @@ -21,6 +21,13 @@ void initName_inject() { assertEquals("Foo", ScopeUtil.initName("org.example.foo")); } + @Test + void initName_avaje() { + // resulting module can't be InjectModule as that clashes with @InjectModule + assertEquals("AvajeInject", ScopeUtil.initName("org.example.avaje")); + assertEquals("Foo", ScopeUtil.initName("org.example.foo")); + } + @Test void name_withSpace() { assertEquals("ExAmple", ScopeUtil.name("org.ex ample")); From a67b65ab1b492d7fe32805fb6553a2f1eb6fc41f Mon Sep 17 00:00:00 2001 From: Rob Bygrave Date: Mon, 16 Jun 2025 14:10:44 +1200 Subject: [PATCH 2/2] Format and add some missing unit test cases --- .../src/main/java/io/avaje/inject/generator/ScopeUtil.java | 2 -- .../test/java/io/avaje/inject/generator/ScopeUtilTest.java | 5 +++++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/inject-generator/src/main/java/io/avaje/inject/generator/ScopeUtil.java b/inject-generator/src/main/java/io/avaje/inject/generator/ScopeUtil.java index 7a7b21278..c18bc9e15 100644 --- a/inject-generator/src/main/java/io/avaje/inject/generator/ScopeUtil.java +++ b/inject-generator/src/main/java/io/avaje/inject/generator/ScopeUtil.java @@ -4,11 +4,9 @@ final class ScopeUtil { static String initName(String name) { name = name(name); - if (name == null) { return null; } - switch (name) { case "Inject": return "DInject"; diff --git a/inject-generator/src/test/java/io/avaje/inject/generator/ScopeUtilTest.java b/inject-generator/src/test/java/io/avaje/inject/generator/ScopeUtilTest.java index 92e47d1bc..14403fef4 100644 --- a/inject-generator/src/test/java/io/avaje/inject/generator/ScopeUtilTest.java +++ b/inject-generator/src/test/java/io/avaje/inject/generator/ScopeUtilTest.java @@ -1,6 +1,7 @@ package io.avaje.inject.generator; import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.junit.jupiter.api.Assertions.assertNull; import org.junit.jupiter.api.Test; @@ -12,6 +13,9 @@ void name() { assertEquals("Example", ScopeUtil.name("org.Example")); assertEquals("Example", ScopeUtil.name("example")); assertEquals("Example", ScopeUtil.name("Example")); + assertEquals("Example", ScopeUtil.name("ExampleScope")); + assertEquals("Example", ScopeUtil.name("ExampleModule")); + assertNull(ScopeUtil.name(null)); } @Test @@ -19,6 +23,7 @@ void initName_inject() { // resulting module can't be InjectModule as that clashes with @InjectModule assertEquals("DInject", ScopeUtil.initName("org.example.inject")); assertEquals("Foo", ScopeUtil.initName("org.example.foo")); + assertNull(ScopeUtil.initName(null)); } @Test