You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Lijun Liao (JIRA)" <ji...@apache.org> on 2016/11/21 18:45:58 UTC
[jira] [Reopened] (KARAF-4827) Cannot install feature depending on
other 2+ levels of features with prerequisite="true"
[ https://issues.apache.org/jira/browse/KARAF-4827?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lijun Liao reopened KARAF-4827:
-------------------------------
The configuration as described in the issue works in the fixed version. Additionally it works also for the following configuration
{code:xml}
<feature name="demo-a" version="2.1.0">
<bundle>mvn:javax.interceptor/javax.interceptor-api/1.2</bundle>
</feature>
<feature name="demo-b" version="2.1.0">
<feature prerequisite="true">demo-a</feature>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/1_2</bundle>
</feature>
<feature name="demo-c" version="2.1.0">
<feature prerequisite="true" version="2.1.0">demo-b</feature>
<bundle>mvn:javax.el/javax.el-api/3.0.0</bundle>
</feature>
{code}
But executing karaf command feature:install demo-c fails with following error message
{code}
karaf@root()> feature:install demo-c
gogo: CircularPrerequisiteException: [demo-a/0.0.0]
Error executing command: [demo-a/0.0.0]
{code}
for all configuration below:
1. Version of prerequisite is not specified
{code:xml}
<feature name="demo-a" version="2.1.0">
<bundle>mvn:javax.interceptor/javax.interceptor-api/1.2</bundle>
</feature>
<feature name="demo-b" version="2.1.0">
<feature prerequisite="true">demo-a</feature>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/1_2</bundle>
</feature>
<feature name="demo-c" version="2.1.0">
<feature prerequisite="true">demo-b</feature>
<bundle>mvn:javax.el/javax.el-api/3.0.0</bundle>
</feature>
{code}
2. Feature contains SNAPSHOT version
{code:xml}
<feature name="demo-a" version="2.1.0">
<bundle>mvn:javax.interceptor/javax.interceptor-api/1.2</bundle>
</feature>
<feature name="demo-b" version="2.1.0-SNAPSHOT">
<feature prerequisite="true">demo-a</feature>
<bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/1_2</bundle>
</feature>
<feature name="demo-c" version="2.1.0">
<feature prerequisite="true" version="2.1.0-SNAPSHOT">demo-b</feature>
<bundle>mvn:javax.el/javax.el-api/3.0.0</bundle>
</feature>
{code}
> Cannot install feature depending on other 2+ levels of features with prerequisite="true"
> ----------------------------------------------------------------------------------------
>
> Key: KARAF-4827
> URL: https://issues.apache.org/jira/browse/KARAF-4827
> Project: Karaf
> Issue Type: Bug
> Components: karaf-feature
> Affects Versions: 4.1.0
> Reporter: Lijun Liao
> Assignee: Guillaume Nodet
> Priority: Blocker
> Fix For: 4.1.0
>
>
> Steps to reproduce the error:
> 1. Unpack apache-karaf-4.1.0-SNAPSHOT.tar.gz
> 2. Add following block to the file "system/org/apache/karaf/features/enterprise/4.1.0-SNAPSHOT/enterprise-4.1.0-SNAPSHOT-features.xml"
> {code:xml}
> <feature name="demo-a">
> <bundle>mvn:javax.interceptor/javax.interceptor-api/1.2</bundle>
> </feature>
>
> <feature name="demo-b">
> <feature prerequisite="true">demo-a</feature>
> <bundle>mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/1_2</bundle>
> </feature>
>
> <feature name="demo-c">
> <feature prerequisite="true">demo-b</feature>
> <bundle>mvn:javax.el/javax.el-api/3.0.0</bundle>
> </feature>
> {code}
> 3. Delete folder data and file lock if available
> 4. Start karaf (command "bin/karaf")
> 5. Execute command "feature:install demo-c" in karaf shell, you should get the following error message.
> {code}
> karaf@root()> feature:install demo-c xx:xx:xx
> gogo: CircularPrerequisiteException: [demo-a/0.0.0]
> Error executing command: [demo-a/0.0.0]
> {code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)