You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@karaf.apache.org by "Robert Weiser (JIRA)" <ji...@apache.org> on 2014/01/17 14:46:20 UTC

[jira] [Commented] (KARAF-1972) karaf-maven-plugin should respect scope

    [ https://issues.apache.org/jira/browse/KARAF-1972?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13874793#comment-13874793 ] 

Robert Weiser commented on KARAF-1972:
--------------------------------------

Hey Christian,

I have analyzed the issue and came to the following result:
The {{mvn:org.apache.karaf.features:framework}} {{pom.xml}} has a bug concerning the dependency definitions ({{<scope>runtime</scope>}} should be switched {{<scope>provided</scope>}} ... due that the {{startup.properties}} had some artifact references prefixed with "wrap:" - neither the {{InstallKarMojo}} nor _Karaf_ (after fixing the {{InstallKarMojo}}) are able to handle the artifacts correctly.

...fixing the {{pom.xml}} of the {{mvn:org.apache.karaf.features:framework}} resolves the problem (please verify by comparing the {{feature.xml}} files generated before applying the patch and after applying the patch (and my notes above))

...if you want me to I can provide you with a _GitHub_ _PullRequest_ (also incorporating your patch).


Cheers, Robert

> karaf-maven-plugin should respect scope
> ---------------------------------------
>
>                 Key: KARAF-1972
>                 URL: https://issues.apache.org/jira/browse/KARAF-1972
>             Project: Karaf
>          Issue Type: Bug
>          Components: karaf-tooling
>    Affects Versions: 3.0.0.RC1
>            Reporter: Andrei Pozolotin
>             Fix For: 3.0.1
>
>         Attachments: 0001-Fixing-the-scope-handling.patch, KARAF-1972.patch
>
>
> PROBLEM:
> currently, in project with dependencies such as these:
> {code}
> 		<dependency>
> 			<groupId>org.osgi</groupId>
> 			<artifactId>org.osgi.core</artifactId>
> 			<scope>provided</scope>
> 		</dependency>
> 		<dependency>
> 			<groupId>org.osgi</groupId>
> 			<artifactId>org.osgi.compendium</artifactId>
> 			<scope>provided</scope>
> 		</dependency>
> {code}
> karaf-maven-plugin with invocation like this:
> {code}
> 	<build>
> 		<plugins>
> 			<plugin>
> 				<groupId>org.apache.karaf.tooling</groupId>
> 				<artifactId>karaf-maven-plugin</artifactId>
> 				<version>3.0.0-SNAPSHOT</version>
> 				<executions>
> 					<execution>
> 						<id>generate-descriptor</id>
> 						<phase>package</phase>
> 						<goals>
> 							<goal>features-generate-descriptor</goal>
> 						</goals>
> 						<configuration>
> 							<installMode>auto</installMode>
> 							<startLevel>90</startLevel>
> 							<outputFile>./target/${project.artifactId}-${project.version}-features.xml</outputFile>
> 						</configuration>
> 					</execution>
> 				</executions>
> 			</plugin>
> 		</plugins>
> 	</build>
> {code}
> will produce features.xml with entries:
> {code}
>         <bundle start-level="90">mvn:org.osgi/org.osgi.core/4.3.0</bundle>
>         <bundle start-level="90">mvn:org.osgi/org.osgi.compendium/4.2.0</bundle>
> {code}
> which is not as expected. scope==provided should not show up there.
> SOLUTION:
> instead, karaf-maven-plugin should respect scope;
> I suggest to add karaf-maven-plugin config parameters such as:
> {code}
> <scopeInclude>
>    <scope>compile</scope>
> </scopeInclude>
> {code}
> or
> {code}
> <scopeExclude>
>    <scope>provided</scope>
>    <scope>runtime</scope>
>    <scope>test</scope>
> </scopeExclude>
> {code}
> IMPACT:
> current plugin behavior forces to create a separate maven
> project to generate features.xml, since scope==provided
> is in fact excluded from transitive dependencies in that case.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)