Hi all, https://issues.apache.org/jira/projects/SLING/issues/SLING-8102 led to removal of the Main class of the feature analyser making it no longer usable standalone (taking away option b for the scenarios described below) https://github.com/apache/sling-org-apache-sling-feature-analyser/commit/58c986c276531843dd6f63bea31aa38d9884a4a8#diff-3d3e2bf9a1e1b1aa8086b62179fe5154
Afaict the analyser currently can only run in maven context which creates some trouble where a validation is supposed to run in isolation based on built and released features (checking if given features work together). I initially tried to work around with the maven plugin but the analyser only can run on the features it builds and won't allow me to refer external artifacts - copying in the other artifacts in the project also doesn't work as the check of the maven plugin fails for groupid & artifact id. Here are the options I currently see: a) the analyse mojo of slingfeature-maven-plugin is improved to be able to analyse against adhoc merged features and also supports injecting external artifacts (optimally both maven coordinates or file location) - this would allow to validate the combination of features intended to be used in the launcher b) add a standalone analyser as it was present before - here I could think of not embedding the features but rather produce a sidecar jar with all the dependencies that could be set on the classpath for execution, eliminating the trouble addressed via SLING-8102 in a sligthly different way while still keeping the option to validate in a pre launcher phase via CLI tool c) adding validation capabilities to the launcher to be able to run the analyser tasks via cli through the launcher My personal tendency is that a & c might both be quite reasonable to have around (a giving quick roundtrip times during development cycles/build phase - while c rather matches operational validation where the build of the features happens decoupled from the final aggregation/combination). b rather feels like a workaround of c if we don't want to have the analyser being part of the launcher to keep it as slim as possible. Btw. I don't suggest to make analysis a mandatory step in the launcher but at least an option. WDYT? Cheers Dominik