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)

Reply via email to