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)