Hi,
Tell me if i am wrong here, but:
This looks like the chicken egg problem, eventually solvable by execution
phases, but my experience is: don't do this.
better split bundle production (maven-bundle-plugin) from assembly
production (maven-pax-plugin) in different projects. Once you have built
your bundle (use mvn install instead of mvn package if possible, makes life
easier), you can have a dedicated assembly project to assemble all (readily
made) bundles into a executable runtime (pax runner).

Toni


On Tue, Sep 8, 2009 at 9:01 AM, Leen Toelen <toe...@gmail.com> wrote:

> Hi,
> I have a bundle that uses pax runner to assemble an osgi runtime. This is
> the corresponding part of the pom
>
> <plugin>
>  <groupId>org.apache.felix</groupId>
> <artifactId>maven-bundle-plugin</artifactId>
>  <version>2.0.0</version>
> <extensions>true</extensions>
>  </plugin>
> <plugin>
> <groupId>org.ops4j</groupId>
>  <artifactId>maven-pax-plugin</artifactId>
> <version>1.4</version>
>  <configuration>
> <provision>
> <param>--platform=equinox</param>
>  <param>--profiles=equinox.ds,spring/2.5.6.SEC01,
> spring.dm/1.2.0,felix.webconsole</param>
>  <param>--log=debug</param>
> <param>--workingDirectory=${basedir}/target/plugins</param>
>  <!-- Do not actually run the framework, assemble only -->
> <param>--executor=noop</param>
>  </provision>
> </configuration>
> <executions>
>  <execution>
> <id>package-provision</id>
> <phase>package</phase>
>  <goals>
> <goal>provision</goal>
> </goals>
>  </execution>
> </executions>
> </plugin>
>
> When I run mvn package, it complains that it can not resolve the bundle in
> which this pom is defined, and the framework is never fully assembled.
>
> [INFO] Scanning for projects...
> [INFO]
> ------------------------------------------------------------------------
> [INFO] Building company Lord of the Flows
> [INFO]
> [INFO] Id: com.company:com.company.project:bundle:1.0.0.6
> [INFO] task-segment: [package]
> [INFO]
> ------------------------------------------------------------------------
> [INFO] [resources:resources]
> [INFO] Using default encoding to copy filtered resources.
> [INFO] [compiler:compile]
> [INFO] Nothing to compile - all classes are up to date
> [INFO] [resources:testResources]
> [INFO] Using default encoding to copy filtered resources.
> [INFO] [compiler:testCompile]
> [INFO] Not compiling test sources
> [INFO] [surefire:test]
> [INFO] Tests are skipped.
> [INFO] [bundle:bundle]
> [WARNING]
>
> DEPRECATED: Binding aggregator mojos to lifecycle phases in the POM is
> considered dangerous.
> This feature has been deprecated. Please adjust your POM files accordingly.
>
> Offending mojo:
>
> org.ops4j:maven-pax-plugin:1.4:provision
>
> Project: com.company:com.company.project:bundle:1.0.0.6
> POM File: C:\Documents and Settings\Leen
> Toelen\workspace_xml2rjta\com.company.project\pom.xml
>
> [INFO] [pax:provision]
> [INFO] Installing C:\Documents and Settings\Leen
> Toelen\workspace_xml2rjta\com.company.project\runner\deploy-pom.xml to
> C:\Documents and Settings\Leen
> Toelen\.m2\repository\com\company\project\build\deployment\1.0.0.6\deployment-1.0.0.6.pom
> [INFO] artifact org.ops4j.pax.runner:pax-runner: checking for updates from
> com.springsource.repository.bundles.milestone
> [INFO] artifact org.ops4j.pax.runner:pax-runner: checking for updates from
> com.springsource.repository.bundles.release
> [INFO] artifact org.ops4j.pax.runner:pax-runner: checking for updates from
> com.springsource.repository.bundles.external
> [INFO] artifact org.ops4j.pax.runner:pax-runner: checking for updates from
> com.springsource.repository.libraries.release
> [INFO] artifact org.ops4j.pax.runner:pax-runner: checking for updates from
> com.springsource.repository.libraries.external
> [INFO] artifact org.ops4j.pax.runner:pax-runner: checking for updates from
> java.net
> [INFO] artifact org.ops4j.pax.runner:pax-runner: checking for updates from
> central
> [INFO] artifact org.ops4j.pax.runner:pax-runner: checking for updates from
> ops4j.releases
>     ______  ________  __  __
>    / __  / /  __   / / / / /
>   /  ___/ /  __   / _\ \ _/
>  /  /    /  / /  / / _\ \
> /__/    /__/ /__/ /_/ /_/
>
> Pax Runner (1.1.1) from OPS4J - http://www.ops4j.org
> ----------------------------------------------------
>
>  -> Using config [classpath:META-INF/runner.properties]
> ...
>  -> Preparing framework [Equinox 3.5.0]
>  -> loading definition from builder.
>  -> Using platform definition
> [org.ops4j.pax.runner.platform.internal.platformdefinitioni...@84322]
>  -> Using working directory [C:\Documents and Settings\Leen
> Toelen\workspace_xml2rjta\com.company.project\target\plugins]
>  -> Downloading bundles...
>  -> Download system package
>  -> Downloading [link:classpath:runner-links/org.eclipse.osgi-3.5.0.link]
>  -> Download additional system libraries
>  -> Download platform bundles
>  -> Downloading
> [link:classpath:runner-links/org.eclipse.osgi.util-3.2.0.link]
>  -> Downloading
> [link:classpath:runner-links/org.eclipse.osgi.services-3.2.0.link]
>  -> Download bundles
>  -> Downloading [mvn:com.company/com.company.project/1.0.0.6]
>  -> Creating new file at destination: C:\Documents and Settings\Leen
> Toelen\workspace_xml2rjta\com.company.project\target\plugins\bundles\1144652247.jar
>  -> mvn:com.company/com.company.project/1.0.0.6 : connecting...
>  -> Resolving [mvn:com.company/com.company.project/1.0.0.6]
>  -> Collecting versions from repository
> [file:/C:/Documents%20and%20Settings/Leen%20Toelen/.m2/repository/,releases=true,snapshots=true]
>  ->   Resolving exact version
>  -> Collecting versions from repository [
> http://repository.springsource.com/maven/bundles/milestone/,releases=true,snapshots=false
> ]
>  ->   Resolving exact version
>  -> Collecting versions from repository [
> http://repository.springsource.com/maven/bundles/release/,releases=true,snapshots=false
> ]
>  ->   Resolving exact version
>  -> Collecting versions from repository [
> http://repository.springsource.com/maven/bundles/external/,releases=true,snapshots=false
> ]
>  ->   Resolving exact version
>  -> Collecting versions from repository [
> http://repository.springsource.com/maven/libraries/release/,releases=true,snapshots=false
> ]
>  ->   Resolving exact version
>  -> Collecting versions from repository [
> http://repository.springsource.com/maven/libraries/external/,releases=true,snapshots=false
> ]
>  ->   Resolving exact version
>  -> Collecting versions from repository [
> http://download.java.net/maven/2/,releases=true,snapshots=false]
>  ->   Resolving exact version
>  -> Collecting versions from repository [
> http://repo1.maven.org/maven2/,releases=true,snapshots=false]
>  ->   Resolving exact version
>  -> Collecting versions from repository [
> http://repository.ops4j.org/maven2/,releases=true,snapshots=false]
>  ->   Resolving exact version
>  ->   Could not download [Version [1.0.0.6] from URL
> [file:/C:/Documents%20and%20Settings/Leen%20Toelen/.m2/repository/com/company/com.company.project/
> 1.0.0.6/com.company.project-1.0.0.6.jar]]
>  ->   Could not download [Version [1.0.0.6] from URL [
> http://repository.springsource.com/maven/bundles/milestone/com/company/com.company.project/1.0.0.6/com.company.project-1.0.0.6.jar
> ]]
>  ->   Could not download [Version [1.0.0.6] from URL [
> http://repository.springsource.com/maven/bundles/release/com/company/com.company.project/1.0.0.6/com.company.project-1.0.0.6.jar
> ]]
>  ->   Could not download [Version [1.0.0.6] from URL [
> http://repository.springsource.com/maven/bundles/external/com/company/com.company.project/1.0.0.6/com.company.project-1.0.0.6.jar
> ]]
>  ->   Could not download [Version [1.0.0.6] from URL [
> http://repository.springsource.com/maven/libraries/release/com/company/com.company.project/1.0.0.6/com.company.project-1.0.0.6.jar
> ]]
>  ->   Could not download [Version [1.0.0.6] from URL [
> http://repository.springsource.com/maven/libraries/external/com/company/com.company.project/1.0.0.6/com.company.project-1.0.0.6.jar
> ]]
>  ->   Could not download [Version [1.0.0.6] from URL [
> http://download.java.net/maven/2/com/company/com.company.project/1.0.0.6/com.company.project-1.0.0.6.jar
> ]]
>  ->   Could not download [Version [1.0.0.6] from URL [
> http://repo1.maven.org/maven2/com/company/com.company.project/1.0.0.6/com.company.project-1.0.0.6.jar
> ]]
>  ->   Could not download [Version [1.0.0.6] from URL [
> http://repository.ops4j.org/maven2/com/company/com.company.project/1.0.0.6/com.company.project-1.0.0.6.jar
> ]]
>
>          ___
>         /  /
>        /  / Oops, there has been a problem!
>       /  /
>      /__/   URL [mvn:com.company/com.company.project/1.0.0.6] could not be
> resolved.
>     ___
>    /__/
>
>  -> Exception catched during execution:
> java.lang.RuntimeException: URL [mvn:com.company/com.company.project/
> 1.0.0.6] could not be resolved.
>  at
> org.ops4j.pax.url.mvn.internal.Connection.getInputStream(Connection.java:195)
> at java.net.URL.openStream(URL.java:1009)
>  at
> org.ops4j.pax.runner.platform.internal.StreamUtils.streamCopy(StreamUtils.java:112)
> at
> org.ops4j.pax.runner.platform.internal.PlatformImpl.download(PlatformImpl.java:600)
>  at
> org.ops4j.pax.runner.platform.internal.PlatformImpl.downloadBundles(PlatformImpl.java:390)
> at
> org.ops4j.pax.runner.platform.internal.PlatformImpl.start(PlatformImpl.java:181)
>  at org.ops4j.pax.runner.Run.startPlatform(Run.java:661)
> at org.ops4j.pax.runner.Run.start(Run.java:220)
>  at org.ops4j.pax.runner.Run.main(Run.java:147)
> at org.ops4j.pax.runner.Run.main(Run.java:120)
>  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>  at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
>  at
> org.ops4j.pax.construct.lifecycle.ProvisionMojo.invokePaxRunner(ProvisionMojo.java:802)
> at
> org.ops4j.pax.construct.lifecycle.ProvisionMojo.deployRunnerNG(ProvisionMojo.java:780)
>  at
> org.ops4j.pax.construct.lifecycle.ProvisionMojo.deployBundles(ProvisionMojo.java:477)
> at
> org.ops4j.pax.construct.lifecycle.ProvisionMojo.execute(ProvisionMojo.java:270)
>  at
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:579)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:498)
>  at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject(DefaultLifecycleExecutor.java:265)
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:191)
>  at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:149)
> at org.apache.maven.DefaultMaven.execute_aroundBody0(DefaultMaven.java:223)
>  at
> org.apache.maven.DefaultMaven.execute_aroundBody1$advice(DefaultMaven.java:304)
> at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:1)
>  at
> org.apache.maven.embedder.MavenEmbedder.execute_aroundBody2(MavenEmbedder.java:904)
> at
> org.apache.maven.embedder.MavenEmbedder.execute_aroundBody3$advice(MavenEmbedder.java:304)
>  at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:1)
> at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176)
>  at org.apache.maven.cli.MavenCli.main(MavenCli.java:63)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>  at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>  at java.lang.reflect.Method.invoke(Method.java:597)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
>  at
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
> at
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:408)
>  at
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:351)
> at org.codehaus.classworlds.Launcher.main(Launcher.java:31)
>
> Does anyone have an idea on how to solve this? What is the most common way
> to define execution phases?
>
> Regards,
> Leen
>
> _______________________________________________
> general mailing list
> general@lists.ops4j.org
> http://lists.ops4j.org/mailman/listinfo/general
>
>


-- 
Toni Menzel
Independent Software Developer
Professional Profile: http://okidokiteam.com
t...@okidokiteam.com
http://www.ops4j.org     - New Energy for OSS Communities - Open
Participation Software.
_______________________________________________
general mailing list
general@lists.ops4j.org
http://lists.ops4j.org/mailman/listinfo/general

Reply via email to