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:46:58 UTC

[jira] [Comment Edited] (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:comment-tabpanel&focusedCommentId=15684385#comment-15684385 ] 

Lijun Liao edited comment on KARAF-4827 at 11/21/16 6:46 PM:
-------------------------------------------------------------

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 configurations 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}


was (Author: lliao):
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)