in disco-java-agent/disco-java-agent-core/src/main/java/software/amazon/disco/agent/plugin/PluginDiscovery.java [135:160]
public static Set<Installable> processInstallables() {
Set<Installable> installables = new HashSet<>();
if (installableClasses != null && !installableClasses.isEmpty()) {
for (ClassInfo info : installableClasses) {
if (Installable.class.isAssignableFrom(info.clazz)) {
try {
Installable installable = (Installable)info.clazz.getDeclaredConstructor().newInstance();
installables.add(installable);
pluginOutcomes.get(info.pluginName).installables.add(installable);
} catch (Exception e) {
log.warn("DiSCo(Core) could not instantiate Installable " + info.clazz.getName(), e);
}
} else if (Package.class.isAssignableFrom(info.clazz)) {
try {
Package pkg = (Package)info.clazz.getDeclaredConstructor().newInstance();
Collection<Installable> pkgInstallables = pkg.get();
installables.addAll(pkgInstallables);
pluginOutcomes.get(info.pluginName).installables.addAll(pkgInstallables);
} catch (Exception e) {
log.warn("DiSCo(Core) could not instantiate Package " + info.clazz.getName(), e);
}
}
}
}
return installables;
}