Dov,

Thanks for the reply. That sort of explains things. I think what I am really getting at is this: when a project (call it project B) has a dependency that is another one of your own projects (call the dependency A) , rather than a third party library (jar), is the dependency (A) being pulled from the repository, or is the dependency (A) being built from the project as a result of project B being built? If the answer is that A is pulled from the repository, it sounds like A must first be built and published to the repository. That's a simple conclusion -- but if that's the case, it means that in order to accomplish parallel development in projects A and B, it means that A is going to have to be published in some state of partial completion to the repository, in order for B to build?

On the other hand, if the answer is that A is being built on demand from source, then it solves the parallel development issue, but it brings up the issue of how to specify that you want a project to build rather than the dependency to be pulled from the repository.

I'm pretty sure the answer is the former, but I just need clarification on a couple of these items.

Brad

On Jan 31, 2006, at 4:07 PM, Dov Wasserman wrote:

What type of projects are A and B? Jars? War and jar? Jar is not meant
to be deployed, so it doesn't "grab" it dependent projects, it just
references them for compiling (or testing). A war is meant to be
deployed on its own, so its dependencies are pulled into it's
WEB-INF/lib directory along with it when it's packaged up into a .war
file artifact.

If you specify all your dependencies with scope of "compile", then they
will all be pulled into the eventual war file, or other deployable
artifact.

Does that help explain things?

-----Original Message-----
From: Brad O'Hearne [mailto:[EMAIL PROTECTED]
Sent: Tuesday, January 31, 2006 5:49 PM
To: Maven Users List
Subject: Re: Need help setting up a transitive dependency

Dov,

Thanks for the reply. Ok, so this isn't going to trigger a build of
project A, its just going to pull project A from the repository as it
would any other dependency. Is this correct, or am I still missing
something? How do I get project B to automatically pull all of project
A's dependencies along with project A? Will this happen automatically?

Brad

Dov Wasserman wrote:

Add a section in project B's pom.xml:

   <dependencies>
       <dependency>
           <groupId>my-group</groupId>
           <artifactId>project-A</artifactId>
           <version>1.0-SNAPSHOT</version>
           <scope>compile</scope>
       </dependency>
          ...
   </dependencies>

You might need to configure the scope property to something other than
compile if you don't want A's jar file to be included with B's
artifacts. Generally, you can leave it as compile.

Hope this helps,

-Dov


-----Original Message-----
From: Brad O'Hearne [mailto:[EMAIL PROTECTED]
Sent: Tuesday, January 31, 2006 5:39 PM
To: users@maven.apache.org
Subject: Need help setting up a transitive dependency

Here's a maven 101 question:

I need help setting up a transitive dependency. I have project A, which

is properly set up and building using maven. Now I need to configure
project B to depend on project A. How do I configure this in my pom.xml

to refer to another project?

Thanks for your help....

Brad

---------------------------------------------------------------------
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]


---------------------------------------------------------------------
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