You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Neil Chaudhuri <nc...@potomacfusion.com> on 2009/09/21 19:46:47 UTC

Understanding Assembly Plugin

I have 4 poms:

1) parent, which has common dependencies and configuration shared by children
2) persistence, which packages a jar and is a child of parent
3) services, which packages a war, is a child of parent, and has persistence as a dependency
4) logging, which packages a jar that is a dependency of both persistence and services but is not part of the parent-child relationship shared by the others

I want to use the Maven assembly plugin so that I can build a war file in one command line execution. This means packaging and installing logging, then packaging and installing persistence, then packaging services.

Can you tell me where I should define my assembly plugin configuration? At the parent? Also, what would it look like roughly?

Thanks.


Re: Understanding Assembly Plugin

Posted by Luca Li Greci <lu...@gmail.com>.
2009/9/21 Neil Chaudhuri <nc...@potomacfusion.com>

> I have that book, but it isn't clear to me if the assembly plugin actually
> builds and installs all the components. The way it reads, it seems like you
> simply describe where existing files live to be included in the assembly. It
> doesn't seem to actually build the dependencies. Am I wrong on this?
>
> Thanks.
>
> Neil
>
>
Neil,

The reason for using an assembly is to generate "the final distribution",
this file could include not only the library that you're developing (and 3rd
part dependency) but also scripts (*.bat, *.sh) for the startup purpose, or
spring/application configuration.

In your case, I believe that this chapter should give you the answer you
need
http://www.sonatype.com/books/maven-book/reference/assemblies-set-dist-assemblies.html

Luca



> -----Original Message-----
> From: Luca Li Greci [mailto:luca.ligreci@gmail.com]
> Sent: Mon 9/21/2009 4:00 PM
> To: Maven Users List
> Subject: Re: Understanding Assembly Plugin
>
> Hi Neil,
>
> I usually add a project for the distribution so that I can decouple the
> "build logic"  from the modules. In the parent I define the assembly plugin
> and in this distribution module I write the assembly under
> src/resources/assembly.
>
> Using this approach will avoid weird situation where one module (I assume
> the persistence) needs to be built before one other (I assume the service)
>
> To write my assembly descriptor I've read
> http://www.sonatype.com/books/maven-book/reference/assemblies.html
>
> and I used FileSets and dependencySets.
>
> Best regards
>
> Luca
>
> 2009/9/21 Neil Chaudhuri <nc...@potomacfusion.com>
>
> > I have 4 poms:
> >
> > 1) parent, which has common dependencies and configuration shared by
> > children
> > 2) persistence, which packages a jar and is a child of parent
> > 3) services, which packages a war, is a child of parent, and has
> > persistence as a dependency
> > 4) logging, which packages a jar that is a dependency of both persistence
> > and services but is not part of the parent-child relationship shared by
> the
> > others
> >
> > I want to use the Maven assembly plugin so that I can build a war file in
> > one command line execution. This means packaging and installing logging,
> > then packaging and installing persistence, then packaging services.
> >
> > Can you tell me where I should define my assembly plugin configuration?
> At
> > the parent? Also, what would it look like roughly?
> >
> > Thanks.
> >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
> >
>
>
>
> --
> Victor Hugo wrote, "The future has many names: For the weak, it means the
> unattainable. For the fearful, it means the unknown. For the courageous, it
> means opportunity."
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>



-- 
Victor Hugo wrote, “The future has many names: For the weak, it means the
unattainable. For the fearful, it means the unknown. For the courageous, it
means opportunity.”

RE: Understanding Assembly Plugin

Posted by Neil Chaudhuri <nc...@potomacfusion.com>.
I have that book, but it isn't clear to me if the assembly plugin actually builds and installs all the components. The way it reads, it seems like you simply describe where existing files live to be included in the assembly. It doesn't seem to actually build the dependencies. Am I wrong on this?

Thanks.

Neil


-----Original Message-----
From: Luca Li Greci [mailto:luca.ligreci@gmail.com]
Sent: Mon 9/21/2009 4:00 PM
To: Maven Users List
Subject: Re: Understanding Assembly Plugin
 
Hi Neil,

I usually add a project for the distribution so that I can decouple the
"build logic"  from the modules. In the parent I define the assembly plugin
and in this distribution module I write the assembly under
src/resources/assembly.

Using this approach will avoid weird situation where one module (I assume
the persistence) needs to be built before one other (I assume the service)

To write my assembly descriptor I've read
http://www.sonatype.com/books/maven-book/reference/assemblies.html

and I used FileSets and dependencySets.

Best regards

Luca

2009/9/21 Neil Chaudhuri <nc...@potomacfusion.com>

> I have 4 poms:
>
> 1) parent, which has common dependencies and configuration shared by
> children
> 2) persistence, which packages a jar and is a child of parent
> 3) services, which packages a war, is a child of parent, and has
> persistence as a dependency
> 4) logging, which packages a jar that is a dependency of both persistence
> and services but is not part of the parent-child relationship shared by the
> others
>
> I want to use the Maven assembly plugin so that I can build a war file in
> one command line execution. This means packaging and installing logging,
> then packaging and installing persistence, then packaging services.
>
> Can you tell me where I should define my assembly plugin configuration? At
> the parent? Also, what would it look like roughly?
>
> Thanks.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>



-- 
Victor Hugo wrote, "The future has many names: For the weak, it means the
unattainable. For the fearful, it means the unknown. For the courageous, it
means opportunity."




Re: Understanding Assembly Plugin

Posted by Luca Li Greci <lu...@gmail.com>.
Hi Neil,

I usually add a project for the distribution so that I can decouple the
"build logic"  from the modules. In the parent I define the assembly plugin
and in this distribution module I write the assembly under
src/resources/assembly.

Using this approach will avoid weird situation where one module (I assume
the persistence) needs to be built before one other (I assume the service)

To write my assembly descriptor I've read
http://www.sonatype.com/books/maven-book/reference/assemblies.html

and I used FileSets and dependencySets.

Best regards

Luca

2009/9/21 Neil Chaudhuri <nc...@potomacfusion.com>

> I have 4 poms:
>
> 1) parent, which has common dependencies and configuration shared by
> children
> 2) persistence, which packages a jar and is a child of parent
> 3) services, which packages a war, is a child of parent, and has
> persistence as a dependency
> 4) logging, which packages a jar that is a dependency of both persistence
> and services but is not part of the parent-child relationship shared by the
> others
>
> I want to use the Maven assembly plugin so that I can build a war file in
> one command line execution. This means packaging and installing logging,
> then packaging and installing persistence, then packaging services.
>
> Can you tell me where I should define my assembly plugin configuration? At
> the parent? Also, what would it look like roughly?
>
> Thanks.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>



-- 
Victor Hugo wrote, “The future has many names: For the weak, it means the
unattainable. For the fearful, it means the unknown. For the courageous, it
means opportunity.”