any help on this issue?

On 21/12/2009 13:15, Alan Cassar wrote:
Hi,
we have decided that we need to write a maven plugin ourselves for this to work. Basically the maven plugin will be doing the following:

  1. List the project dependencies and figure out which dependencies
     refer to test jars
  2. Once we got a list of dependencies, we want to download their POM
     and read the dependency list
  3. We resolve the dependency list and add these jars to the final WAR

It sounds easy but I have a question to ask. From a dependency, how can I get the MavenProject obejct for that particular dependency in order to in turn identify its dependencies and be able to resolve them? I am talking about the Maven API now.

I am able to get the current project using
   /**
    * @parameter expression="${project}"
    * @required
    * @readonly
    */
   private MavenProject project;

and the direct dependencies using Set<Dependency> dependencies = project.getDependencyArtifacts(); But from a Dependency object, is it possible to get its MavenProject in order to call getDependencyArtifacts() ?

Thanks for your help
Alan


Justin Edelson wrote:
I should have been clearer. The test-helper module I described below can be purely used as a mechanism to group test dependencies (i.e. need not have any code in it). So you can still keep your tests classes where they are (in project-core), but simply use test-helper to effectively combine multiple
dependencies.

This isn't actually necessary - the simplest solution is to add the test
dependencies directly to your war project. Adding the test-helper module can
help to keep these dependencies in sync between the two projects.

I'm not aware of any plugin-based solution for this and it seems unlikely
that there is one.

Justin

On Tue, Dec 15, 2009 at 11:54 AM, Alan Cassar <[email protected]>wrote:

its not possible for me to split the project into 2 different projects, one holding the tests and the other holding the core. The idea basically is we have project, and we would like to deploy it on an application server and
run the junit tests on the app server itself.

Isn't this doable with a plugin? or it is impossible because it goes
against the maven rules?

Thanks again
Alan

Justin Edelson wrote:

On Tue, Dec 15, 2009 at 11:17 AM, Alan Cassar <[email protected]
wrote:

Is it possible somehow to pull in the test transitive dependencies?



Not directly. What you can do is create another project (say, test-helper)
and use that as a dependency for both projects, i.e.

test-helper
|- depends upon junit, easymock, other test dependencies, etc. (compile
scope)

project-core
|- depends upon test-dependencies (test scope)

project-web
|- depends upon project-core:test-jar and test-dependencies (compile
scope)

The test-helper project could also contain any testing utility code you
have.

The key point to keep in mind is that even though you can attach any
number
of additional artifacts to a Maven project, they will all share a single
POM
file including the set of dependencies.

HTH,
Justin



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]




---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to