Skip to content

Commit 6bf30f0

Browse files
committed
Fix to allow nothing in the default scope, only custom scopes being used
1 parent d69781f commit 6bf30f0

File tree

2 files changed

+18
-7
lines changed

2 files changed

+18
-7
lines changed

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

Lines changed: 18 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ class ScopeInfo {
3030
private String moduleFullName;
3131
private String moduleShortName;
3232
private JavaFileObject moduleFile;
33+
private boolean emptyModule;
3334

3435
/**
3536
* Create for the main/global module scope.
@@ -74,11 +75,14 @@ private String initName(String topPackage) {
7475
}
7576

7677
void initialiseName(String topPackage) throws IOException {
77-
modulePackage = topPackage;
78-
final String name = initName(modulePackage);
79-
moduleShortName = name + "Module";
80-
moduleFullName = modulePackage + "." + moduleShortName;
81-
moduleFile = context.createWriter(moduleFullName);
78+
emptyModule = topPackage == null;
79+
if (!emptyModule) {
80+
modulePackage = topPackage;
81+
final String name = initName(modulePackage);
82+
moduleShortName = name + "Module";
83+
moduleFullName = modulePackage + "." + moduleShortName;
84+
moduleFile = context.createWriter(moduleFullName);
85+
}
8286
}
8387

8488
JavaFileObject moduleFile() {
@@ -155,7 +159,15 @@ void writeModule() {
155159
context.logError("already written module " + name);
156160
return;
157161
}
158-
MetaDataOrdering ordering = new MetaDataOrdering(metaData.values(), context, this);
162+
final Collection<MetaData> meta = metaData.values();
163+
if (emptyModule) {
164+
// typically nothing in the default scope, only custom scopes
165+
if (meta.size() > 0) {
166+
context.logWarn("Empty module but meta is not empty? " + meta);
167+
}
168+
return;
169+
}
170+
MetaDataOrdering ordering = new MetaDataOrdering(meta, context, this);
159171
int remaining = ordering.processQueue();
160172
if (remaining > 0) {
161173
ordering.logWarnings();

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,6 @@ private void writeServicesFile() {
8080
writer.write(fullName);
8181
writer.close();
8282
}
83-
8483
} catch (IOException e) {
8584
e.printStackTrace();
8685
context.logError("Failed to write services file " + e.getMessage());

0 commit comments

Comments
 (0)