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 Krisher <da...@gmail.com> on 2005/08/14 20:03:15 UTC

[m2] Application Assembly

I recently made the jump from Ant to Maven (2.0-beta snapshot), and I must 
say that I am very impressed. Having never used Maven before, it only took a 
couple of hours to set up a fairly complex multi-module build process. We 
had spent a significant amount of time attempting to engineer a generic 
ant-based build process by specifying inter-module dependancies, the result 
was a very messy practically unmaintainable set of build files (although 
they worked...). With maven, the setup was a breeze and we have gained 
better maintainability and extensibility. My only gripe is the lack of 
documentation for Maven 2.0, which is completely understandable being a 
pre-release application.

The one thing I have not been able to figure out with Maven is how to build 
our application in a manner suitable for immediate use on the system it is 
being built on. I have been using the assembly plugin to specify the 
structure of the application, including dependancies, an executable jar, and 
configuration/data files, which works just fine:

assembly.tar.bz2:
Application.jar (the executable jar)
lib/ (directory containing all dependencies)
config/ (directory containing runtime configuration)
data/ (directory containing data files)

Our application is an OpenGL-based visualization tool, and unfortunately, 
much of the testing can not be easily automated (we need to analyze the 
appearance of OpenGL scenes). This means that during development, we 
frequently and repeatedly run the application after a build. Using the 
assembly plugin is the only way I have found to create the correct directory 
structure for the application, however I would like to do this without 
actually archiving the components (i.e. create the file structure but don't 
tar/zip/etc it). Building the archive takes a significant amount of time, 
and more often than not, we don't ever use the archive (except to extract 
the contents to the filesystem, run the application, and repeat the 
process).

So my question is... Is there a way to specify an assembly-like structure (
e.g. using bin.xml) to create a non-archived assembly?


-- 
Daniel Krisher

Re: [m2] Application Assembly

Posted by Daniel Krisher <da...@gmail.com>.
Hmm, I would definitely not want an un-archived assembly directory to be 
installed/deployed to a repository, this was really just intended as a 
development-time tool. I am still very new to Maven, so I'm not quite sure 
of the best approach here. I will take another look. Maybe my patch should 
be implemented as a seperate goal, I don't like 'special cases' where this 
would be the only assembly archive type that wasn't an artifact...

Dan

On 8/16/05, Jason Grant <ju...@logular.com> wrote:
> 
> Hi Daniel,
> 
> FYI, I have assembly patches sitting in Jira, and awaiting publication
> to svn:
> 
> 1) MNG-723: Adds an 'unpack' goal that unpacks all project dependencies
> (jars and zips) into the working directory.
> 2) MNG-483: Attaches all assemblies as project artifacts, so that they
> get installed automatically during 'install'. (Your subsequent patch
> will have implications here)
> 
> J.
> 
> On Mon, 2005-08-15 at 14:56 -0400, Daniel Krisher wrote:
> 
> > See MNG-735 for a patch that adds support for a 'directory' archive type
> >
> 
> 
> 
> 


-- 
Daniel Krisher

Re: [m2] Application Assembly

Posted by Jason Grant <ju...@logular.com>.
Hi Daniel,

FYI, I have assembly patches sitting in Jira, and awaiting publication
to svn:

1) MNG-723: Adds an 'unpack' goal that unpacks all project dependencies
(jars and zips) into the working directory.
2) MNG-483: Attaches all assemblies as project artifacts, so that they
get installed automatically during 'install'.  (Your subsequent patch
will have implications here)

J.

On Mon, 2005-08-15 at 14:56 -0400, Daniel Krisher wrote:

> See MNG-735 for a patch that adds support for a 'directory' archive type
> 



Re: [M1] Developer Information

Posted by "Craig S. Cottingham" <cr...@cottingham.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On Aug 15, 2005, at 14:49, Michael Owen wrote:

> I have many projects, and for each project a team of developers work 
> on it. I would like to have  one place for each team where I 
> update/edit the information about the developers and then I can import 
> this information for a project, depending on which team is working on 
> it.

...

> Any ideas? It doesn't matter if I have to run a task with does a "copy 
> and paste" for me, or is it a case of myself doing the copying and 
> pasting?

XML entities, or XSLT.

- --
Craig S. Cottingham
craig@cottingham.net
OpenPGP key available from:
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x7977F79C
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (Darwin)

iD8DBQFDAPJ6EJLQ3Hl395wRAmeVAJ47PpBaC7xDCJWa2+iyX8b2m1eykgCgscaZ
I8g/rqOAQCioZZFSqLxE8Os=
=jhnj
-----END PGP SIGNATURE-----


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


[M1] Developer Information

Posted by Michael Owen <mi...@hotmail.com>.
Hi,

I have many projects, and for each project a team of developers work on it. 
I would like to have  one place for each team where I update/edit the 
information about the developers and then I can import this information for 
a project, depending on which team is working on it.

By developers information, I mean:

    <developers>
        <developer>
            <id>bloggsj</id>
            <name>Joe Bloggs</name>
            <roles>
                <role>Maven Build</role>
            </roles>
        </developer>

       etc. etc.

    </developers>

I know this sounds like an <extend>, however, my projects already <extend> 
something else.

Any ideas? It doesn't matter if I have to run a task with does a "copy and 
paste" for me, or is it a case of myself doing the copying and pasting?

Much appreciated.

Mike



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


Re: [m2] Application Assembly

Posted by Daniel Krisher <da...@gmail.com>.
See MNG-735 for a patch that adds support for a 'directory' archive type

On 8/14/05, Daniel Krisher <da...@gmail.com> wrote:
> 
> Thanks for the quick response... I've already looked at the assembly 
> plugin source, I'll put together a patch tonight or tomorrow morning and 
> submit it along with a JIRA request. 
> 
> Thanks
> Dan Krisher
> 
> On 8/14/05, Brett Porter <br...@gmail.com> wrote:
> > 
> > Hi Daniel,
> > 
> > This sounds like a reasonable request. There are two things I can think 
> > of:
> > - create an assembly type that is just the directory
> > - pass a flag to the assembly plugin to not create the archive
> > 
> > The second would be preferable if at some point you intend to use the
> > archive to distribute. You could then pass it on the command line (or
> > place a small profile in the directory to always do it under
> > development), and use the intermediate directory under target. 
> > 
> > Could you please file this as a JIRA request? Also, if that is what
> > you want to do, it would be a fairly simple change so if you want to
> > make that change locally and submit a patch, we'd greatly appreciate
> > it :)
> > 
> > Thanks,
> > Brett
> > 
> > On 8/15/05, Daniel Krisher <da...@gmail.com> wrote:
> > > I recently made the jump from Ant to Maven (2.0-beta snapshot), and I 
> > must 
> > > say that I am very impressed. Having never used Maven before, it only 
> > took a
> > > couple of hours to set up a fairly complex multi-module build process. 
> > We
> > > had spent a significant amount of time attempting to engineer a 
> > generic 
> > > ant-based build process by specifying inter-module dependancies, the 
> > result
> > > was a very messy practically unmaintainable set of build files 
> > (although
> > > they worked...). With maven, the setup was a breeze and we have gained 
> > 
> > > better maintainability and extensibility. My only gripe is the lack of
> > > documentation for Maven 2.0, which is completely understandable being 
> > a
> > > pre-release application.
> > >
> > > The one thing I have not been able to figure out with Maven is how to 
> > build 
> > > our application in a manner suitable for immediate use on the system 
> > it is
> > > being built on. I have been using the assembly plugin to specify the
> > > structure of the application, including dependancies, an executable 
> > jar, and 
> > > configuration/data files, which works just fine:
> > >
> > > assembly.tar.bz2:
> > > Application.jar (the executable jar)
> > > lib/ (directory containing all dependencies)
> > > config/ (directory containing runtime configuration) 
> > > data/ (directory containing data files)
> > >
> > > Our application is an OpenGL-based visualization tool, and 
> > unfortunately,
> > > much of the testing can not be easily automated (we need to analyze 
> > the
> > > appearance of OpenGL scenes). This means that during development, we
> > > frequently and repeatedly run the application after a build. Using the
> > > assembly plugin is the only way I have found to create the correct 
> > directory 
> > > structure for the application, however I would like to do this without
> > > actually archiving the components (i.e. create the file structure but 
> > don't
> > > tar/zip/etc it). Building the archive takes a significant amount of 
> > time, 
> > > and more often than not, we don't ever use the archive (except to 
> > extract
> > > the contents to the filesystem, run the application, and repeat the
> > > process).
> > >
> > > So my question is... Is there a way to specify an assembly-like 
> > structure ( 
> > > e.g. using bin.xml) to create a non-archived assembly?
> > >
> > >
> > > --
> > > Daniel Krisher
> > >
> > >
> > 
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> > For additional commands, e-mail: users-help@maven.apache.org
> > 
> > 
> 
> 
> -- 
> Daniel Krisher 




-- 
Daniel Krisher

Re: [m2] Application Assembly

Posted by Daniel Krisher <da...@gmail.com>.
Thanks for the quick response... I've already looked at the assembly plugin 
source, I'll put together a patch tonight or tomorrow morning and submit it 
along with a JIRA request. 

Thanks
Dan Krisher

On 8/14/05, Brett Porter <br...@gmail.com> wrote:
> 
> Hi Daniel,
> 
> This sounds like a reasonable request. There are two things I can think 
> of:
> - create an assembly type that is just the directory
> - pass a flag to the assembly plugin to not create the archive
> 
> The second would be preferable if at some point you intend to use the
> archive to distribute. You could then pass it on the command line (or
> place a small profile in the directory to always do it under
> development), and use the intermediate directory under target.
> 
> Could you please file this as a JIRA request? Also, if that is what
> you want to do, it would be a fairly simple change so if you want to
> make that change locally and submit a patch, we'd greatly appreciate
> it :)
> 
> Thanks,
> Brett
> 
> On 8/15/05, Daniel Krisher <da...@gmail.com> wrote:
> > I recently made the jump from Ant to Maven (2.0-beta snapshot), and I 
> must
> > say that I am very impressed. Having never used Maven before, it only 
> took a
> > couple of hours to set up a fairly complex multi-module build process. 
> We
> > had spent a significant amount of time attempting to engineer a generic
> > ant-based build process by specifying inter-module dependancies, the 
> result
> > was a very messy practically unmaintainable set of build files (although
> > they worked...). With maven, the setup was a breeze and we have gained
> > better maintainability and extensibility. My only gripe is the lack of
> > documentation for Maven 2.0, which is completely understandable being a
> > pre-release application.
> >
> > The one thing I have not been able to figure out with Maven is how to 
> build
> > our application in a manner suitable for immediate use on the system it 
> is
> > being built on. I have been using the assembly plugin to specify the
> > structure of the application, including dependancies, an executable jar, 
> and
> > configuration/data files, which works just fine:
> >
> > assembly.tar.bz2:
> > Application.jar (the executable jar)
> > lib/ (directory containing all dependencies)
> > config/ (directory containing runtime configuration)
> > data/ (directory containing data files)
> >
> > Our application is an OpenGL-based visualization tool, and 
> unfortunately,
> > much of the testing can not be easily automated (we need to analyze the
> > appearance of OpenGL scenes). This means that during development, we
> > frequently and repeatedly run the application after a build. Using the
> > assembly plugin is the only way I have found to create the correct 
> directory
> > structure for the application, however I would like to do this without
> > actually archiving the components (i.e. create the file structure but 
> don't
> > tar/zip/etc it). Building the archive takes a significant amount of 
> time,
> > and more often than not, we don't ever use the archive (except to 
> extract
> > the contents to the filesystem, run the application, and repeat the
> > process).
> >
> > So my question is... Is there a way to specify an assembly-like 
> structure (
> > e.g. using bin.xml) to create a non-archived assembly?
> >
> >
> > --
> > Daniel Krisher
> >
> >
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
> 
> 


-- 
Daniel Krisher

Re: [m2] Application Assembly

Posted by Brett Porter <br...@gmail.com>.
Hi Daniel,

This sounds like a reasonable request. There are two things I can think of:
- create an assembly type that is just the directory
- pass a flag to the assembly plugin to not create the archive

The second would be preferable if at some point you intend to use the
archive to distribute. You could then pass it on the command line (or
place a small profile in the directory to always do it under
development), and use the intermediate directory under target.

Could you please file this as a JIRA request? Also, if that is what
you want to do, it would be a fairly simple change so if you want to
make that change locally and submit a patch, we'd greatly appreciate
it :)

Thanks,
Brett

On 8/15/05, Daniel Krisher <da...@gmail.com> wrote:
> I recently made the jump from Ant to Maven (2.0-beta snapshot), and I must
> say that I am very impressed. Having never used Maven before, it only took a
> couple of hours to set up a fairly complex multi-module build process. We
> had spent a significant amount of time attempting to engineer a generic
> ant-based build process by specifying inter-module dependancies, the result
> was a very messy practically unmaintainable set of build files (although
> they worked...). With maven, the setup was a breeze and we have gained
> better maintainability and extensibility. My only gripe is the lack of
> documentation for Maven 2.0, which is completely understandable being a
> pre-release application.
> 
> The one thing I have not been able to figure out with Maven is how to build
> our application in a manner suitable for immediate use on the system it is
> being built on. I have been using the assembly plugin to specify the
> structure of the application, including dependancies, an executable jar, and
> configuration/data files, which works just fine:
> 
> assembly.tar.bz2:
> Application.jar (the executable jar)
> lib/ (directory containing all dependencies)
> config/ (directory containing runtime configuration)
> data/ (directory containing data files)
> 
> Our application is an OpenGL-based visualization tool, and unfortunately,
> much of the testing can not be easily automated (we need to analyze the
> appearance of OpenGL scenes). This means that during development, we
> frequently and repeatedly run the application after a build. Using the
> assembly plugin is the only way I have found to create the correct directory
> structure for the application, however I would like to do this without
> actually archiving the components (i.e. create the file structure but don't
> tar/zip/etc it). Building the archive takes a significant amount of time,
> and more often than not, we don't ever use the archive (except to extract
> the contents to the filesystem, run the application, and repeat the
> process).
> 
> So my question is... Is there a way to specify an assembly-like structure (
> e.g. using bin.xml) to create a non-archived assembly?
> 
> 
> --
> Daniel Krisher
> 
>

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