Skip to content

Commit 0602a5c

Browse files
committed
use different classloader
1 parent 568254a commit 0602a5c

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

inject-generator/src/main/java/io/avaje/inject/generator/ExternalProvide.java renamed to inject-generator/src/main/java/io/avaje/inject/generator/ExternalProvider.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,14 @@
1111
* <p>
1212
* When we depend on these types they add to the module autoRequires() classes.
1313
*/
14-
final class ExternalProvide {
14+
final class ExternalProvider {
1515

1616
private final Set<String> providedTypes = new HashSet<>();
1717

1818
void init() {
19-
for (Module module : ServiceLoader.load(Module.class)) {
20-
for (Class<?> provide : module.provides()) {
19+
for (final Module module :
20+
ServiceLoader.load(Module.class, ExternalProvider.class.getClassLoader())) {
21+
for (final Class<?> provide : module.provides()) {
2122
providedTypes.add(provide.getCanonicalName());
2223
}
2324
for (Class<?> provide : module.autoProvides()) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ final class ProcessingContext {
2828
private final Elements elementUtils;
2929
private final Types typeUtils;
3030
private final Set<String> uniqueModuleNames = new HashSet<>();
31-
private final ExternalProvide externalProvide = new ExternalProvide();
31+
private final ExternalProvider externalProvide = new ExternalProvider();
3232

3333
ProcessingContext(ProcessingEnvironment processingEnv) {
3434
this.processingEnv = processingEnv;

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ public synchronized void init(ProcessingEnvironment processingEnv) {
5353
* on these types and the only thing providing them is the plugin.
5454
*/
5555
private void registerPluginProvidedTypes() {
56-
for (Plugin plugin : ServiceLoader.load(Plugin.class)) {
57-
for (Class<?> provide : plugin.provides()) {
56+
for (final Plugin plugin : ServiceLoader.load(Plugin.class, Processor.class.getClassLoader())) {
57+
for (final Class<?> provide : plugin.provides()) {
5858
defaultScope.pluginProvided(provide.getCanonicalName());
5959
}
6060
}

0 commit comments

Comments
 (0)