Hi,

Currently for each carbon component's pom file we need to include the maven
bundle plugin. Some of the bundle plugin configuration values such as group
id, artifact id and version are repetitively used in each of these
components(eg: [1])

We can avoid this repetition by including the bundle plugin inside
carbon-parent pom[2] instead of having it inside each component.
Here we have to include bundle plugin inside build/plugins[3] section of
carbon-parent pom and then the plugin configuration will be inherited by
child modules and any configuration that needs to be overridden could be
mentioned as properties inside child poms.
This will make maintenance easier and reduce code.

There is also a disadvantage with parameterizing the bundle plugin. That
is, some headers such as Bundle-NativeCode must have a value if that
element is put in the plugin configuration[4], otherwise the build
fails.Therefore we cannot have this inside carbon-parent pom's bundle
plugin configuration as child modules may not have a value for it.
This is the only header we've found out which causes this problem. And I
could not find any usage of this header in a WSO2 repository. Therefore if
this header is not going to be used we can safely remove it from
carbon-parent pom and proceed with parameterizing the bundle plugin.

Your ideas on moving the bundle-plugin configuration to carbon-parent pom
and parameterization will be highly appreciated.


​[1] https://github.com/wso2/carbon-kernel/blob/5.0.x/core/pom.xml​
​[2] ​https://github.com/wso2/carbon-parent/blob/master/pom.xml
[3] https://maven.apache.org/pom.html#Plugins
[4] http://bnd.bndtools.org/heads/bundle_nativecode.html


​Thank you.​

-- 

*Manuri Amaya Perera*

*Software Engineer*

*WSO2 Inc.*

*Blog: http://manuriamayaperera.blogspot.com
<http://manuriamayaperera.blogspot.com>*
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to