2009/3/30 Toni Menzel <[email protected]> > mmhh.. i used "provided" so they are inheritet + picked up by the plugin. > http://issues.ops4j.org/browse/PAXEXAM-36 deals with making this > configurable. > > Is there an inheritance issue with dependencies in scope "provided" ? >
Maven doesn't consider provided scope dependencies as transitive, see: http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html but they are visible if you ask for the direct dependencies of a project, which means you can find all provided dependencies by iterating over the project hierarchy looking at their direct dependencies you should also consider the @requiresDependencyResolution mojo annotation which lets you ensure certain dependencies are resolved before your plugin runs - without this you inherit whatever dependencies were resolved by the previous plugin, which can lead to interesting results http://maven.apache.org/developers/mojo-api-specification.html btw, which Maven APIs do you use to get the dependencies at the moment? > I tried like so: > added this to my superpom: > <dependency> > <groupId>org.ops4j.pax.url</groupId> > <artifactId>pax-url-mvn</artifactId> > <scope>provided</scope> > <version>${dependency.url.version}</version> > </dependency> > > And it was picked up by the plugin and was available in the exam run > afterwards. > > > On Mon, Mar 30, 2009 at 10:39 AM, David Leangen <[email protected]> wrote: > >> >> Arg. >> >> Ok, never mind. >> >> Those were runtime deps and not compile time deps, so they are not in the >> pom file. Sorry about that. >> >> So, how can I declare these runtime deps in the pom that needs them, then. >> Like this? >> >> >> <dependency> >> <groupId>javax.xml.bind</groupId> >> <artifactId>com.springsource.javax.xml.bind</artifactId> >> <version>2.1.7</version> >> <scope>runtime</scope> >> </dependency> >> >> >> Will runtime deps be picked up as transitive deps and process by the Maven >> runner? Or should I declare them as provided in that pom even if I don't >> need them at compile time? >> >> >> >> >> On Mar 30, 2009, at 5:33 PM, David Leangen wrote: >> >> >>> Here's the dep and build portions of my pom: >>> >>> The deps commented out are the transitive ones. Normally I shouldn't >>> have to include them here. But, if I don't, pax-exam won't grab them for >>> me. >>> >>> >>> >>> <dependencies> >>> >>> <dependency> >>> <groupId>org.osgi</groupId> >>> <artifactId>org.osgi.core</artifactId> >>> </dependency> >>> <dependency> >>> <groupId>org.osgi</groupId> >>> <artifactId>org.osgi.compendium</artifactId> >>> </dependency> >>> <dependency> >>> <groupId>net.leangen.expedition.osgi</groupId> >>> <artifactId>expedition_osgi_api</artifactId> >>> </dependency> >>> <dependency> >>> <groupId>org.ops4j.pax.exam</groupId> >>> <artifactId>pax-exam</artifactId> >>> <version>0.4.0-SNAPSHOT</version> >>> <scope>provided</scope> >>> </dependency> >>> <dependency> >>> <groupId>org.ops4j.pax.exam</groupId> >>> <artifactId>pax-exam-junit</artifactId> >>> <version>0.4.0-SNAPSHOT</version> >>> <scope>compile</scope> >>> </dependency> >>> <dependency> >>> <groupId>org.ops4j.pax.exam</groupId> >>> <artifactId>pax-exam-container-default</artifactId> >>> <version>0.4.0-SNAPSHOT</version> >>> <scope>compile</scope> >>> </dependency> >>> >>> >>> <dependency> >>> <groupId>${pom.groupId}</groupId> >>> <artifactId>expedition_openjpa_api</artifactId> >>> <version>${pom.version}</version> >>> <scope>provided</scope> >>> </dependency> >>> <!--dependency> >>> <groupId>javax.jms</groupId> >>> <artifactId>com.springsource.javax.jms</artifactId> >>> <version>1.1.0</version> >>> <scope>provided</scope> >>> </dependency> >>> <dependency> >>> <groupId>javax.xml.bind</groupId> >>> <artifactId>com.springsource.javax.xml.bind</artifactId> >>> <version>2.1.7</version> >>> <scope>provided</scope> >>> </dependency> >>> <dependency> >>> <groupId>javax.activation</groupId> >>> <artifactId>com.springsource.javax.activation</artifactId> >>> <version>1.1.1</version> >>> <scope>provided</scope> >>> </dependency> >>> <dependency> >>> <groupId>javax.xml.stream</groupId> >>> <artifactId>com.springsource.javax.xml.stream</artifactId> >>> <version>1.0.1</version> >>> <scope>provided</scope> >>> </dependency> >>> <dependency> >>> <groupId>org.apache.commons</groupId> >>> >>> <artifactId>com.springsource.org.apache.commons.collections</artifactId> >>> <version>3.2.1</version> >>> <scope>provided</scope> >>> </dependency> >>> <dependency> >>> <groupId>org.apache.commons</groupId> >>> <artifactId>com.springsource.org.apache.commons.lang</artifactId> >>> <version>2.4.0</version> >>> <scope>provided</scope> >>> </dependency> >>> <dependency> >>> <groupId>org.apache.commons</groupId> >>> <artifactId>com.springsource.org.apache.commons.pool</artifactId> >>> <version>1.3.0</version> >>> <scope>provided</scope> >>> </dependency> >>> <dependency> >>> <groupId>serp</groupId> >>> <artifactId>com.springsource.serp</artifactId> >>> <version>1.13.1</version> >>> <scope>provided</scope> >>> </dependency> >>> <dependency> >>> <groupId>net.leangen.expedition.wrapper</groupId> >>> <artifactId>xml-parsers</artifactId> >>> <version>1.0-SNAPSHOT</version> >>> <scope>provided</scope> >>> </dependency--> >>> >>> </dependencies> >>> >>> <build> >>> <plugins> >>> <!-- use pax exam maven plugin --> >>> <plugin> >>> <groupId>org.ops4j.pax.exam</groupId> >>> <artifactId>maven-paxexam-plugin</artifactId> >>> <executions> >>> <execution> >>> <id>generate-paxexam-config</id> >>> <goals> >>> <goal>generate-paxexam-config</goal> >>> </goals> >>> </execution> >>> </executions> >>> <configuration> >>> >>> <settings> >>> <platform>equinox</platform> >>> <version>latest</version> >>> <profiles>log,url</profiles> >>> </settings> >>> >>> </configuration> >>> </plugin> >>> </plugins> >>> </build> >>> >>> >>> On Mon, 2009-03-30 at 17:33 +0900, David Leangen wrote: >>> >>>> >>>> >>>> Hey, >>>> >>>> >>>> Thanks for checking, but I don't understand. I am using >>>> the @RunWith( MavenConfiguredJUnit4TestRunner.class ), but it is not >>>> picking up the transitive deps. I can run mvn compile and check the >>>> pax-compiler dir to confirm that they are not there. >>>> >>>> >>>> What do you think I could be misunderstanding? >>>> >>>> >>>> Cheers, >>>> =David >>>> >>>> >>>> >>>> >>>> >>>> >>>> On Mar 30, 2009, at 5:17 PM, Toni Menzel wrote: >>>> >>>> Just tried, and works just nice. >>>>> You need to remember that: >>>>> -pax exam just picks up a file from classpath that has been >>>>> constructed by the plugin before: >>>>> target/classes/META-INF/maven/paxexam-config.args >>>>> >>>>> >>>>> -this is a 100% valid paxrunner args file that you also could stick >>>>> in a regular pax runner instance. >>>>> >>>>> >>>>> By telling paxexam to be "configured by maven" (use >>>>> the @RunWith( MavenConfiguredJUnit4TestRunner.class ) ) >>>>> it will just look for that file in classpath (and sticks that as a >>>>> file reference to the embedded paxrunner). >>>>> >>>>> >>>>> You also can check the picked up dependencies by looking into that >>>>> file. >>>>> A "mvn compile" is enough to trigger file creation (+update) but not >>>>> run the test immediately (in case you want to check). >>>>> >>>>> >>>>> On Mon, Mar 30, 2009 at 10:05 AM, Toni Menzel <[email protected]> >>>>> wrote: >>>>> well they should. let me try that as well. >>>>> >>>>> >>>>> >>>>> On Mon, Mar 30, 2009 at 9:57 AM, David Leangen >>>>> <[email protected]> wrote: >>>>> >>>>> >>>>> Ok, changed those deps to compile. You were right >>>>> about that. >>>>> >>>>> >>>>> Is there an option to also include transitive deps? >>>>> Otherwise, I have to add them by hand to the pom, >>>>> which means that the Maven stuff is only a minor >>>>> improvement. If all transitive deps also get >>>>> resolved, that would be perfect! >>>>> >>>>> >>>>> >>>>> >>>>> Thanks! >>>>> =David >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> On Mar 30, 2009, at 4:38 PM, David Leangen wrote: >>>>> >>>>> >>>>>> >>>>>> Well... >>>>>> >>>>>> >>>>>> In that case, you'd better update the tutorial. I >>>>>> just used the config that was shown there. ;-) >>>>>> >>>>>> >>>>>> In any case, in the meantime I'm using the regular >>>>>> config (manual). The maven one would be a >>>>>> reaaaaaaally nice feature to have, though. >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> Cheers, >>>>>> =David >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> On Mar 30, 2009, at 4:34 PM, Toni Menzel wrote: >>>>>> >>>>>> Well, the container is not a bundle and it >>>>>>> should not be provisioned to the osgi instance. >>>>>>> I guess you are using the maven plugin. make >>>>>>> sure you put it into scope != provided so its >>>>>>> not being picked up by exam. >>>>>>> >>>>>>> >>>>>>> There is already a jira task to make this >>>>>>> configurable (which scope defindes a osgi >>>>>>> provisioning artifact and which is "just" >>>>>>> something you want/need at compiletime. >>>>>>> >>>>>>> >>>>>>> As of bleeding edge: you should use this >>>>>>> 0.4-SNAPSHOT cause it contains many new features >>>>>>> and should be released once paxrunner gets out. >>>>>>> Although i experienced some "anomalies" >>>>>>> yesterday with the new bnd version in pax url. - >>>>>>> never mind. But will have a look again at this. >>>>>>> >>>>>>> On Mon, Mar 30, 2009 at 7:57 AM, Edward Yakop >>>>>>> <[email protected]> wrote: >>>>>>> On Mon, Mar 30, 2009 at 13:55, David >>>>>>> Leangen <[email protected]> wrote: >>>>>>> >>>>>>>> >>>>>>>> Any ideas? >>>>>>>> >>>>>>>> Caused by: >>>>>>>> >>>>>>> org.ops4j.pax.runner.platform.PlatformException: >>>>>>> >>>>>>>> >>>>>>>> [file:/home/owner/.m2/repository/org/ops4j/pax/exam/pax-e >>>>>>> >>>>>>>> >>>>>>>> >>>>>>> xam-container-default/0.4.0-SNAPSHOT/pax-exam-container-default-0.4.0-SNAPSHOT.jar] >>>>>>> is not a valid bundle >>>>>>> >>>>>>>> at >>>>>>>> >>>>>>>> >>>>>>> org.ops4j.pax.runner.platform.internal.PlatformImpl.validateBundleAndGetFilename(PlatformImpl.java:721) >>>>>>> >>>>>>>> at >>>>>>>> >>>>>>>> >>>>>>> org.ops4j.pax.runner.platform.internal.PlatformImpl.download(PlatformImpl.java:602) >>>>>>> >>>>>>>> at >>>>>>>> >>>>>>>> >>>>>>> org.ops4j.pax.runner.platform.internal.PlatformImpl.downloadBundles(PlatformImpl.java:375) >>>>>>> >>>>>>>> at >>>>>>>> >>>>>>>> >>>>>>> org.ops4j.pax.runner.platform.internal.PlatformImpl.start(PlatformImpl.java:173) >>>>>>> >>>>>>>> at >>>>>>>> >>>>>>> org.ops4j.pax.runner.Run.startPlatform(Run.java:578) >>>>>>> >>>>>>>> ... 26 more >>>>>>>> >>>>>>> >>>>>>> >>>>>>> Bleeding edge.. I like it :) >>>>>>> >>>>>>> Regards, >>>>>>> Edward Yakop >>>>>>> >>>>>>> >>>>>>> _______________________________________________ >>>>>>> general mailing list >>>>>>> [email protected] >>>>>>> http://lists.ops4j.org/mailman/listinfo/general >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Toni Menzel >>>>>>> Software Developer >>>>>>> Professional Profile: http://www.osgify.com >>>>>>> [email protected] >>>>>>> http://www.ops4j.org - New Energy for OSS >>>>>>> Communities - Open Participation Software. >>>>>>> >>>>>>> _______________________________________________ >>>>>>> general mailing list >>>>>>> [email protected] >>>>>>> http://lists.ops4j.org/mailman/listinfo/general >>>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> general mailing list >>>>>> [email protected] >>>>>> http://lists.ops4j.org/mailman/listinfo/general >>>>>> >>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> general mailing list >>>>> [email protected] >>>>> http://lists.ops4j.org/mailman/listinfo/general >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Toni Menzel >>>>> Software Developer >>>>> Professional Profile: http://www.osgify.com >>>>> [email protected] >>>>> http://www.ops4j.org - New Energy for OSS Communities - >>>>> Open Participation Software. >>>>> >>>>> >>>>> >>>>> >>>>> -- >>>>> Toni Menzel >>>>> Software Developer >>>>> Professional Profile: http://www.osgify.com >>>>> [email protected] >>>>> http://www.ops4j.org - New Energy for OSS Communities - Open >>>>> Participation Software. >>>>> >>>>> _______________________________________________ >>>>> general mailing list >>>>> [email protected] >>>>> http://lists.ops4j.org/mailman/listinfo/general >>>>> >>>> >>>> _______________________________________________ >>>> general mailing list >>>> [email protected] >>>> http://lists.ops4j.org/mailman/listinfo/general >>>> >>> >>> >>> _______________________________________________ >>> general mailing list >>> [email protected] >>> http://lists.ops4j.org/mailman/listinfo/general >>> >> >> >> _______________________________________________ >> general mailing list >> [email protected] >> http://lists.ops4j.org/mailman/listinfo/general >> > > > > -- > Toni Menzel > Software Developer > Professional Profile: http://www.osgify.com > [email protected] > http://www.ops4j.org - New Energy for OSS Communities - Open > Participation Software. > > _______________________________________________ > general mailing list > [email protected] > http://lists.ops4j.org/mailman/listinfo/general > > -- Cheers, Stuart
_______________________________________________ general mailing list [email protected] http://lists.ops4j.org/mailman/listinfo/general
