Add "conflicts" configuration into features.xml
-----------------------------------------------
Key: KARAF-368
URL: https://issues.apache.org/jira/browse/KARAF-368
Project: Karaf
Issue Type: New Feature
Reporter: Andreas Pieber
I'm coding at pax-wicket right now and find the following "problem":
In the following features.xml...
{code}
<!-- Departmentstore example suite provided with paxwicket -->
<feature name="departmentstore" version="0.6.0-SNAPSHOT">
<feature version="0.6.0-SNAPSHOT">web</feature>
<bundle>mvn:org.ops4j.pax.wicket.samples.departmentstore/departmentstore-model/0.6.0-SNAPSHOT</bundle>
<bundle>mvn:org.ops4j.pax.wicket.samples.departmentstore.view/departmentstore-view-about/0.6.0-SNAPSHOT</bundle>
<bundle>mvn:org.ops4j.pax.wicket.samples.departmentstore.view/departmentstore-view-application/0.6.0-SNAPSHOT</bundle>
<bundle>mvn:org.ops4j.pax.wicket.samples.departmentstore.view/departmentstore-view-floor/0.6.0-SNAPSHOT</bundle>
<bundle>mvn:org.ops4j.pax.wicket.samples.departmentstore.view/departmentstore-view-franchisee/0.6.0-SNAPSHOT</bundle>
</feature>
<feature name="departmentstore-basic" version="0.6.0-SNAPSHOT">
<feature version="0.6.0-SNAPSHOT">web</feature>
<bundle>mvn:org.ops4j.pax.wicket.samples.departmentstore/departmentstore-service-basic/0.6.0-SNAPSHOT</bundle>
</feature>
<feature name="departmentstore-alternative" version="0.6.0-SNAPSHOT">
<feature version="0.6.0-SNAPSHOT">web</feature>
<bundle>mvn:org.ops4j.pax.wicket.samples.departmentstore/departmentstore-service-alternative/0.6.0-SNAPSHOT</bundle>
</feature>
{code}
... I have the problem that both, departmentstore-basic and
departmentstore-alternative depend on web AND departmentstore; but they
"conflict" with each other. I know that we can't detect such a situation
automatically BUT it would be cool to do something like the following
{code}
<feature name="departmentstore-basic" version="0.6.0-SNAPSHOT">
<feature version="0.6.0-SNAPSHOT">web</feature>
<feature version="0.6.0-SNAPSHOT"
conflicts=true>departmentstore-alternative</feature>
<bundle>mvn:org.ops4j.pax.wicket.samples.departmentstore/departmentstore-service-basic/0.6.0-SNAPSHOT</bundle>
</feature>
<feature name="departmentstore-alternative" version="0.6.0-SNAPSHOT">
<feature version="0.6.0-SNAPSHOT">web</feature>
<feature version="0.6.0-SNAPSHOT"
conflicts=true>departmentstore-basic</feature>
<bundle>mvn:org.ops4j.pax.wicket.samples.departmentstore/departmentstore-service-alternative/0.6.0-SNAPSHOT</bundle>
</feature>
{code}
If I have departmentstore-basic install now and I do a...
{code}
feature:install departmentstore-alternative
{code}
...something like the following should happen automatically...
{code}
features:uninstall departmentstore-basic
features:install departmentstore-alternative
{code}
For one feature this is maybe trivial but think you 20 departmentstore
implementations. This will require you to look up which is currently installed,
uninstall it and then install the new one...
WDYT?
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.