Open dmlloyd opened 4 years ago
Would it be enough to add the jandex plugin to build-parent/pom.xml?
<plugin>
<groupId>org.jboss.jandex</groupId>
<artifactId>jandex-maven-plugin</artifactId>
<executions>
<execution>
<id>index</id>
<goals>
<goal>jandex</goal>
</goals>
<inherited>true</inherited>
</execution>
</executions>
</plugin>
I think so. I'm not sure if third-party extensions are meant to use that though?
Probably not. Ideally it would be nice to have an extension-parent pom for cases like that
I think that at this point, we probably don't want to do this as it could lead to unexpected breaks (as additional classes find their way into the index)
We are talking about adding more annotation-based discovery of things from extensions. We should consider using Jandex on extensions as a primary source of extension metadata.
Doing so improves extension forward compatibility because extension metadata would use the annotation compatibility model, which is well-understood. It should be able to reduce - or maybe even eliminate - the amount of external metadata that we have to package with extensions. It will reduce the amount of work having to be done in the extension annotation processor.
Since we have an ecosystem of extensions which do not presently have Jandex indexes, we'd have to allow for cases where the index is missing (maybe index the JAR on demand, or just support two methods of metadata assembly on an ad-hoc basis). We'd want to deprecate any metadata that is duplicated by Jandex.