-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi Trygve,

first of all thanks for your feedback.
Comments go below...
>> Hi everybody,
> [cut.]
> The last time I looked at the RPM plugin it was duplicating a whole lot
> of the assembly plugin and I wasn't able to get it to work properly.
Okay. So not too much to expect from there...
> 
>> The Mojo DEB Plugin was written by Trygve Laugstol.
>>
>> I do not know if these guys just dumped the plugins to MOJO or if they
>> are
>> active community members.
>> Anyways everybody interested in this toppic is welcome to get into
>> discussion.
>>
>> Here are some openers to think about:
>> - -Should the package-format be the packaging declared in the POM or
>> should it
>> more likely be the name of the plugins goal?
> 
> I often tend to have separate projects that creates the .pkg so it might
> be useful for a Solaris plugin to define a packaging, but at the same
> time it should be possible to create a pkg from any project. Much like
> the assembly plugin which can drive the build by executing another phase
> and/or be a part of a build.
That sounds like a good idea...
> 
For what you are saying below, I am not sure if we both talk and think about the
same requirements for a plugin to create deployment packages...
>> - -Should there be a Parent-POM that all packaging modules should
>> derive from?
>> This could override various defaults of the Super-POM that does not
>> apply in
>> this case and especially could establish senseful defaults for the
>> packaging module.
> 
> Not really relevant, I don't see what they would share yet.
* The output directory should be changed from "classes" to e.g. "package".
* We are missing a resource directory that is filtered.
But maybe this is NOT the major thing. An archetype might be better for this...
> 
>> - -Should we create an abstract Mojo that all deployment package
>> plugins should
>> derive from? This could contain some common logic.
> 
> Not really relevant either, but it should probably not be an abstract
> Mojo but rather a Plexus component that the mojos could use as they see
> fit.
Well that should be something worth to think about...
> 
> What I'm missing here is an overview over what these plugin can share?
That is a very good point to keep focus in the discussion.
Here are some ideas from me:
- -There are defaults for user, group, file- and directory-permissions
 for the files installed on the target machine. There should be
 configuration properties for this. All such plugins should hopefully
 use the same names for those properties.
- -There should be a way to configure permissions/ownership for specific files.
 These would override the defaults described above.
 It would be awesome if all such plugins would support this in the same way.
 (e.g. a list of entries like "/usr root:system 733").
- -All deployment packagings support metadata with at least a name,
 description, version and a list of dependencies. I do not know if it is a
 good idea to bring these things together. For my plugin I simply used
 a text-file with variables placed in a filtered resources directory.
 This is pretty easy and gives great flexibility.
- -Further there are many common tasks to create the stuff that should go
 into the package. This can happen with plugins that already exist.

> So far I've written the deb plugin and I've made some hacks at work to
> build pkgs but I'm not sure what they would share. The assembly plugin
> is doing all the heavy lifting as it's doing all the copying and so on
Have you looked at my solaris plugin example?
I do NOT use assembly, because I did NOT find it suiteable for my needs but
maybe I was missing something.
But I did not reinvent the wheel, too. I use the resources plugin and the
dependency plugin to build the complete structure of the package into
target/package/ROOT/ all with existing maven stuff.
So in src/main/resources/ROOT/usr/foo/... you dump everything you want to have
included as is. Then (in my case) there is src/main/templates/ROOT/usr/foo/...
for all filtered resources and via the dependency plugin you can copy all
reuqired jars to target/package/ROOT/usr/foo/lib/ or extract a war file to
target/package/ROOT/usr/foo/webapps/

But this is exactly the thing to clarify. How does this work with the assembly
plugin instead?

Something that all these plugins should share in the end is a common part of the
documentation describing how to produce the stuff into the "target" folder
and some good examples.
> and the deb and pkg plugins are only running dpkg/pkgmk. One thing I'm
> missing in my pkg stuff is a plugin that creates a prototype file, today
> I have an awk script that does that.
When you talk of a "protoype file" you mean for solaris?
I used to call pkgproto for that. Anyways it would be easy to write this logic
in java.
> 
> -- 
> Trygve
Best regards
  Jörg

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.5 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFGGsBGmPuec2Dcv/8RAhi8AKCMEl/RTCU5VUUMWia/8RlmkvXTCwCgjPEO
8qry6+VE0O2bSiibCz+K0zI=
=sTLw
-----END PGP SIGNATURE-----

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

    http://xircles.codehaus.org/manage_email

Reply via email to