This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel.git
commit 0e049ed8a313daf99c92d63d0c6cd1feca36197e Author: Claus Ibsen <[email protected]> AuthorDate: Wed Aug 25 17:13:01 2021 +0200 camel-package-maven-plugin - Ignore if no jandex.id file --- .../packaging/AbstractGenerateConfigurerMojo.java | 47 +++++++++++++--------- 1 file changed, 27 insertions(+), 20 deletions(-) diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGenerateConfigurerMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGenerateConfigurerMojo.java index 77302af..a157bb1 100644 --- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGenerateConfigurerMojo.java +++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/AbstractGenerateConfigurerMojo.java @@ -27,6 +27,7 @@ import java.lang.reflect.Modifier; import java.net.MalformedURLException; import java.net.URL; import java.nio.file.Files; +import java.nio.file.NoSuchFileException; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; @@ -136,30 +137,36 @@ public abstract class AbstractGenerateConfigurerMojo extends AbstractGeneratorMo Index index; try (InputStream is = Files.newInputStream(output.resolve("META-INF/jandex.idx"))) { index = new IndexReader(is).read(); + } catch (NoSuchFileException e) { + // ignore if no jandex index + index = null; + ; } catch (IOException e) { throw new MojoExecutionException("IOException: " + e.getMessage(), e); } - // discover all classes annotated with @Configurer - List<AnnotationInstance> annotations = index.getAnnotations(CONFIGURER); - annotations.stream() - .filter(annotation -> annotation.target().kind() == AnnotationTarget.Kind.CLASS) - .filter(annotation -> annotation.target().asClass().nestingType() == ClassInfo.NestingType.TOP_LEVEL) - .filter(annotation -> asBooleanDefaultTrue(annotation, "generateConfigurer")) - .forEach(annotation -> { - String currentClass = annotation.target().asClass().name().toString(); - boolean bootstrap = asBooleanDefaultFalse(annotation, "bootstrap"); - boolean extended = asBooleanDefaultFalse(annotation, "extended"); - if (bootstrap && extended) { - bootstrapAndExtendedSet.add(currentClass); - } else if (bootstrap) { - bootstrapSet.add(currentClass); - } else if (extended) { - extendedSet.add(currentClass); - } else { - set.add(currentClass); - } - }); + if (index != null) { + // discover all classes annotated with @Configurer + List<AnnotationInstance> annotations = index.getAnnotations(CONFIGURER); + annotations.stream() + .filter(annotation -> annotation.target().kind() == AnnotationTarget.Kind.CLASS) + .filter(annotation -> annotation.target().asClass().nestingType() == ClassInfo.NestingType.TOP_LEVEL) + .filter(annotation -> asBooleanDefaultTrue(annotation, "generateConfigurer")) + .forEach(annotation -> { + String currentClass = annotation.target().asClass().name().toString(); + boolean bootstrap = asBooleanDefaultFalse(annotation, "bootstrap"); + boolean extended = asBooleanDefaultFalse(annotation, "extended"); + if (bootstrap && extended) { + bootstrapAndExtendedSet.add(currentClass); + } else if (bootstrap) { + bootstrapSet.add(currentClass); + } else if (extended) { + extendedSet.add(currentClass); + } else { + set.add(currentClass); + } + }); + } } // additional classes
