sverhagen wrote:

Trygve Laugstøl wrote:
I'll have to take a closer look, but setting permissions will require the plugin to do exec's to chmod which I've tried to avoid because I'd like to do it in all Java for both portability and not least speed.


All good and well, but was it not you who wrote the following in the
plugin's handbook?



The Unix Maven Plugin is meant to fill in the gap between creating
platform independent applications and reality


If you're gonna leave it up to the maintainer scripts in the Debian package
to correct the permissions, you're not really benefiting from what dpkg can
do for you. Also, when you'd run Lintian for your Debian package, it'll
complain a lot. I've actually made piece with having to do this build on a
Linux machine. The portability of the output files that is being the future
of this plugin is much more important to me. It'll give me the confidence
that I can switch from Debian to Red Hat whenever I want.

I'm not going to leave it up to the scripts, but it is just not complete yet. It is in alpha for a reason.

Even if I've tried to follow a pragmatic approach when writing the plugin it has been a huge effort and there are lots of stuff to do before it is complete.

As a matter of fact, while I'm sharing opinions anyway, I think that the
Maven assembly plugin is already doing a great job at the things you're
still only scratching the surface with. It can already prepare everything
with the right permissions etc. It'd have much more liked for the Unix
plugin to focus on the packaging, not the assembling. I.e. your plugin is
trying to do much more than just what it should be good at: packaging for
the target platforms.

Well, I don't share your opinion on the assmebly plugin. I find it very verbose to configure (so verbose that it is hard maintaining the files), slow and anywhere from complete. Try to move to corner cases of the plugin and you'll find a big can of bugs.

It can not prepare stuff with permissions (no support for changing owner/user).

A couple of major reasons for implementing parts of the assembly plugin:

1) I can stream files directly from the repository to disk. In the future it will stream directly into the generated package if the format support that (deb, rpm and sysv pkg does) 2) I can pick out files inside a file or an artifact in the repo directly without going through a major XML hassle of downloading files with the dependency plugin and using the assembly to pack stuff back up.
 3) it was quite easy, commons-vfs does all the heavy lifting.
4) The integration and error messages that I can provide makes the Unix plugin *much* easier to use than the assembly plugin

I think there still are ITs in the Solaris plugin that uses the assembly plugin to illustrate the amount of stuff that has to be done to do smaller stuff.

I did start using the assembly plugin and I implemented the support for setting permissions on aseemblies with the "dir" packaging, but it was too complicated designed that I could bother to fix all of it. Hopefully once the features in the Unix plugin are complete the code can move back to the assembly plugin where it could/should be.

--
Trygve


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

   http://xircles.codehaus.org/manage_email


Reply via email to