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

Hi there,

I provided a very simple mojo for building deployment packages for solaris
(solaris-maven-plugin). After some discussions on this list I have been inactive
on mojo for quite a while. Now I realized some of the discussed ideas and have
some questions:

1. What I started will be a new Mojo Project that will some day replace the
solaris-plugin and maybe some other plugins of that kind.
May I just open that as a new Project in the Sandbox with my SVN-account?

2. I use a library from another open-source-project (I am involved in). It is
licensed under ASL 2.0. But it has NOT yet been released. May I use it in a
Mojo-Plugin? Can I "missuse" the Mojo-SVN as temporary repository for a snapshot
version so others will be able to compile the MOJO-Project?

3. Can I use Java 5 Features in my Mojo? Or does the Mojo-Project generally
compile only with 1.4 or below?

4. Does anybody know if it is possible to make maven accept XML-attributes
instead of child-tags when objects are created in the configuration of the
plugin? Currently in the pom.xml of the plugin-user I have something like
<rules>
  <rule>
   <pattern>/**/bin/*.sh</pattern>
   <chmod>a+x</chmod>
   <user>foo</user>
  </rule>
  ...
</rules>
But I would prefer if the user of the plugin could simply write:
<rules>
  <rule pattern="/**/bin/*.sh" chmod="a+x" user="foo"/>
  ...
</rules>

Some words about the new MOJO: it will be a general Mojo for creating
Deployment-Packages of any type. The intention is that it can be used for
building TAR, Solaris/SysV, Debian, RPM, etc.
Then you have one configuration for general things (umask, default-user and
- -group, rules for permissions and user/group changes, etc.) instead of
an deb-maven-plugin, a rpm-maven-plugin, yum-maven-plugin that all have totally
different concepts for the same thing and one has a nice feature that another
does NOT have. Besides many of the latter plugins can only be executed in
specific environments where native commands are available. Therefore it is not
possible to test the result of the plugin in any way on other platforms.

Because of MNG-3042 (maybe the same as MNG-961) I decided to create one
Mojo for this that defines a general packaging ("deployment") with according
lifecycle. The actual output format can then be configured in the plugin
configuration and is some sort of "plugin" for the maven-plugin that only
does the specific things using the general infrastructure provided by the
deployment-maven-plugin.

I already have a java implementation of the logic behind umask and chmod
as well as an engine for evaluating the rules in the form as in the XML above.
The next step will be support to create a TAR package-output-format
to complete the proof-of-concept. Then other formats can follow easily.

I am also thinking about using the svn:executable attribute if svn is used as
scm, but this could be quite tricky. Another option would be to use the new
java feature of reading additional file-attributes like executable flags.
The only problem is that it is only available in java 6 and above. Via an
external dependency this feature could be provided in a way so it is available
on java6+ but is turned off below without breaking anything else.

Comments and other or better ideas are most welcome. I would like to
get as much community input and real user needs as possible.
But maybe it will be easier if the plugin was committed and an "it"
included as example.

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

iD8DBQFHJ6zgmPuec2Dcv/8RArCRAJsEsEBwLAJBmb3nMFdw7UmH8wNqngCfRWo9
+fS3xCC8VcSkXeBDcwqttwE=
=/bgj
-----END PGP SIGNATURE-----

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

    http://xircles.codehaus.org/manage_email

Reply via email to