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