Jerome Blanchard created UNOMI-905:
--------------------------------------
Summary: Refactor module declaration in parent pom to avoid
individual declaration
Key: UNOMI-905
URL: https://issues.apache.org/jira/browse/UNOMI-905
Project: Apache Unomi
Issue Type: Improvement
Reporter: Jerome Blanchard
Due to dependencies in extensions and feature validation during built process,
some extensions needs to be compiled and installed before other modules and
some others after.
For exemple, to validate router feature, unomi-kar must be already compiled and
installed.
Thus, instead of declaring
{code:java}
<module>extensions</module> {code}
in the parent pom, each extension is declared individually to fix the build
order :
{code:java}
<modules>
<module>bom</module>
<module>api</module>
<module>common</module>
<module>persistence-spi</module>
<module>scripting</module>
<module>metrics</module>
<module>lifecycle-watcher</module>
<module>persistence-elasticsearch</module>
<module>services</module>
<!-- plugins -->
<module>plugins</module>
<module>plugins/baseplugin</module>
<module>plugins/hover-event</module>
<module>plugins/past-event</module>
<module>plugins/tracked-event</module>
<module>plugins/kafka-injector</module>
<module>plugins/mail</module>
<module>plugins/optimization-test</module>
<module>plugins/request</module>
<!-- root level extensions -->
<module>extensions</module>
<module>extensions/healthcheck</module>
<module>extensions/log4j-extension</module>
<module>extensions/geonames</module>
<module>extensions/json-schema</module>
<module>extensions/lists-extension</module>
<module>extensions/privacy-extension</module>
<module>extensions/web-tracker</module>
<module>tools</module>
<module>wab</module>
<module>rest</module>
<module>manual</module>
<module>kar</module>
<!-- other extensions -->
<module>extensions/groovy-actions</module>
<module>extensions/router</module>
<module>extensions/salesforce-connector</module>
<module>extensions/weather-update</module>
<module>graphql</module>
<module>samples</module>
<module>package</module>
</modules> {code}
The goal of the ticket is to go back to a common declaration in the parent pom
by either :
* split extensions in two parts (mandatory and optional or core and standalone)
* extract feature package of each related extension to a separate (common or
not) group of features to be compiled/validated at the end of the build process.
The solution to be discussed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)