Skip to content

Commit f8c5929

Browse files
committed
fix: doneable is generated at the end of build, load it when needed
1 parent 5754bbb commit f8c5929

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

quarkus-extension/deployment/src/main/java/io/javaoperatorsdk/quarkus/extension/deployment/QuarkusExtensionProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ private ControllerConfiguration createControllerConfiguration(ClassInfo info, Cl
109109
valueOrDefault(controllerAnnotation, "isClusterScoped", AnnotationValue::asBoolean, () -> false),
110110
valueOrDefault(controllerAnnotation, "namespaces", AnnotationValue::asStringArray, () -> new String[]{}),
111111
crClass,
112-
null, // todo: fix-me
112+
doneableClassName,
113113
null // todo: fix-me
114114
);
115115
}

quarkus-extension/runtime/src/main/java/io/javaoperatorsdk/quarkus/extension/QuarkusControllerConfiguration.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,11 @@ public QuarkusControllerConfiguration(String name, String crdName, String finali
3232
this.clusterScoped = clusterScoped;
3333
this.namespaces = namespaces == null || namespaces.length == 0 ? Collections.emptySet() : Set.of(namespaces);
3434
this.crClass = crClass;
35-
this.doneableClass = doneableClass;
35+
try {
36+
this.doneableClass = (Class<CustomResourceDoneable<R>>) Thread.currentThread().getContextClassLoader().loadClass(doneableClass);
37+
} catch (ClassNotFoundException e) {
38+
throw new IllegalArgumentException("Couldn't find class " + doneableClass);
39+
}
3640
this.watchAllNamespaces = this.namespaces.contains(WATCH_ALL_NAMESPACES_MARKER);
3741
this.retryConfiguration = retryConfiguration == null ? ControllerConfiguration.super.getRetryConfiguration() : retryConfiguration;
3842
}

0 commit comments

Comments
 (0)