Intra Project Dependency

Coordinator
Sep 10, 2009 at 9:06 AM

Hi Everyone,

 

NPanday supports Intra Project Dependency. However in order for this to work it would require some steps to perform.

1. Import/Generate the project's poms first.

2. Install only the required dependency first and not the entire project/solution.

3. Use Add Maven Artifact instead of add reference and browse project

note: If you would use add reference>browse project the resulting dependency would be considered as a system path dependency.

4. You can then ReImport/Generate the project's poms this time the intradependency will be included.

This is a tedious task to perform. We are proposing to automate this so that it will be as convenient as Visual Studios add reference > browse project.

This would then involve :
1. Automation of the installation of the project locally so that it
can be looked up by the dependent project.
2. Modification of the importer so that it will treat the event from
the Reference as an add maven artifact so that the dependency will not be
treated as a system path.
3. Integration into the resync function so that if they would execute
resync this is also automated.


What do you guys think?

Developer
Sep 10, 2009 at 4:55 PM

If you have used Add Maven Artifact (step 3) then why would you need to re-generate the pom (step 4) ?

From working with Eclipse integration, IMO having 'mvn install' run automatically can cause problems (slowness, freezes).  It always seems to start building when I want to get something else accomplished, and I have to wait.

Is there a technical reason that NPanday requires artifacts to be present in the local repository?  Maven in general is able to build a project with 'mvn package', even if there are inter-dependencies.  It can "see" the other dependencies within the reactor, without them being in a repo.

Overall, the proposed changes seem reasonable to me.

-- 
Wendy 

Coordinator
Sep 11, 2009 at 3:33 AM

Thanks wendy, yes you are right there is no need for step 4 if it was added using add maven artifact.  Thank you for the correction. We will also try to use mvn package and check if that would allow the dependent module to build successfully.