You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by "daniel.todt" <da...@gmail.com> on 2013/01/17 20:48:50 UTC

Multi-Module: How to download other project's as dependency's without build it locally

Greetings, folks.

My English is poor, so I apologize for possible errors.

I have a multi-module environment like below, on a *Jboss server* using
*Archiva* as "Maven Repository Manager", *Jenkins* as "CI" and *Git* as
"Source Manager".

When I run the Project C, I need both the Project B (projectb.jar) and
Project C (projectc.war) into $JBOSS_HOME/Deployments and the Project A,
need's to be into $JBOSS_HOME/Modules path.
This solution already work. I just need to build every project, and put all
in the right place, and it's done.

The "problem" is, the front-end developer do not work on back-end
developer's project neither on lib developer's project, so it's not in his
Workspace, like this:

Workflow:
When the lib developer finish his work, he commit's on Git and run Jenkins,
then the Project A is now updated on Archiva.
When the back-end developer builds the Project B, Maven automatically
download Project A's information (projecta.jar, projecta.pom, etc) but do
not download the "projecta-jar-with-dependencies.jar".
When the back-end developer finish his work, he commit's on Git and run
Jenkins, then the Project B is now updated on Archiva.
When the front-end developer builds the Project C, Maven automatically
download Project B's information (projectb.jar, projectb.pom, projecta.jar,
projecta.pom, etc) but do not download the
"projecta-jar-with-dependencies.jar".
1) Is that so "hard" or "bad practice", that I cant not find any
implementation like that?
2) How can I (during build or after) of the Project C, update / download his
dependencies (projecta-jar-with-dependencies.jar and projectb.jar) and put
all in it's right place?
3) Without using "ear" or "osgi", is there any other best practice of this?




--
View this message in context: http://maven.40175.n5.nabble.com/Multi-Module-How-to-download-other-project-s-as-dependency-s-without-build-it-locally-tp5743668.html
Sent from the Maven - Users mailing list archive at Nabble.com.

Re: Multi-Module: How to download other project's as dependency's without build it locally

Posted by Joachim Durchholz <jo...@durchholz.org>.
Am 18.01.2013 14:35, schrieb Andrew Todd:
> I'm not entirely sure, but I think that you might be looking for the "copy"
> goal in the Maven dependency plugin.
> https://maven.apache.org/plugins/maven-dependency-plugin/

I'm feeling uneasy about this one. Having to disable the true purpose of 
the plugin just to use one its minor functions seems strange and 
potentially backwards to me.

Has anybody tried Evgeny Goldin's copy-maven-plugin?
It claims to be just about moving files from A to B, including into or 
out of archives.
http://evgeny-goldin.com/wiki/Copy-maven-plugin

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org


Re: Multi-Module: How to download other project's as dependency's without build it locally

Posted by Andrew Todd <an...@gmail.com>.
I'm not entirely sure, but I think that you might be looking for the "copy"
goal in the Maven dependency plugin.
https://maven.apache.org/plugins/maven-dependency-plugin/


On Thu, Jan 17, 2013 at 2:48 PM, daniel.todt <da...@gmail.com> wrote:

> Greetings, folks.
>
> My English is poor, so I apologize for possible errors.
>
> I have a multi-module environment like below, on a *Jboss server* using
> *Archiva* as "Maven Repository Manager", *Jenkins* as "CI" and *Git* as
> "Source Manager".
>
> When I run the Project C, I need both the Project B (projectb.jar) and
> Project C (projectc.war) into $JBOSS_HOME/Deployments and the Project A,
> need's to be into $JBOSS_HOME/Modules path.
> This solution already work. I just need to build every project, and put all
> in the right place, and it's done.
>
> The "problem" is, the front-end developer do not work on back-end
> developer's project neither on lib developer's project, so it's not in his
> Workspace, like this:
>
> Workflow:
> When the lib developer finish his work, he commit's on Git and run Jenkins,
> then the Project A is now updated on Archiva.
> When the back-end developer builds the Project B, Maven automatically
> download Project A's information (projecta.jar, projecta.pom, etc) but do
> not download the "projecta-jar-with-dependencies.jar".
> When the back-end developer finish his work, he commit's on Git and run
> Jenkins, then the Project B is now updated on Archiva.
> When the front-end developer builds the Project C, Maven automatically
> download Project B's information (projectb.jar, projectb.pom, projecta.jar,
> projecta.pom, etc) but do not download the
> "projecta-jar-with-dependencies.jar".
> 1) Is that so "hard" or "bad practice", that I cant not find any
> implementation like that?
> 2) How can I (during build or after) of the Project C, update / download
> his
> dependencies (projecta-jar-with-dependencies.jar and projectb.jar) and put
> all in it's right place?
> 3) Without using "ear" or "osgi", is there any other best practice of this?
>
>
>
>
> --
> View this message in context:
> http://maven.40175.n5.nabble.com/Multi-Module-How-to-download-other-project-s-as-dependency-s-without-build-it-locally-tp5743668.html
> Sent from the Maven - Users mailing list archive at Nabble.com.