Hi, congratulations on your work with Maven 2.0...

I'm not sure if I understand your questions(s) correctly... so I'm just going to point you to jira. It holds the future features aside from bugs, so if you see the feature you want there, then you can vote for it. Otherwise, you can create an issue and ask for the feature.

The IRC channel is also a great place to ask these.


Joerg Hohwiller wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi there,

Maven2 really rocks! I figured out a way to build a plugin that allows
"solaris" as <packaging> and builds a solaris package for a maven project.

Therefore I add the complete "static" content of the package to the
main/resources. Further I have a filtered resources directory where I
add files with variables to be replaced during the build (pkginfo,
prototype-template, and configuration content of the package).
As "compile" phase I add the dependent artifacts to the package at a
configurable directory. Finally I build the solaris package with an
ant script using the maven-antrun-plugin.

Now I have two questions/suggestions/...?

1. The maven resources plugin does NOT copy empty directories (as it seems to
me). Now I am so happy with subversion that I can have empty directories and
also be able to maintain them. In this case I still have to add the good olds
"ignore.txt" files to empty directories so they are included in the package.
Is there a way to make the maven resources plugin to copy empty directories?

2. To add the dependencies to the package I added the dependency on my maven
software modules and used the maven-dependency-plugin to copy the artifacts.
Now I came into trouble with maintainance because I want to have my software
split in multiple packages. One is containing the thirdparty stuff (lest call it
PKG-EXT) and another I containing my custom code (PKG-CUST).
Therefore I would need to have the following dependency in PKG-EXT:
<dependency>
  <groupId>my.foo.id</groupId>
  <artifactId>my-master-app</artifactId>
  <version>1.0</version>
  <excludes>
    <exclude>
      <groupId>my.foo.id</groupId>
      <artifactId>my-utils</artifactId>
    </exclude>
    <exclude>
      <groupId>my.foo.id</groupId>
      <artifactId>my-core</artifactId>
    </exclude>
    <exclude>
      <groupId>my.foo.id</groupId>
      <artifactId>my-master-app</artifactId>
    </exclude>
    ...
  </excludes>
</dependency>

Besides the fact that it does NOT work to exclude the dependency itself,
I would need to maintain this whenever the dependencies of my modules change.

Additionally I would need to add all the excluded dependencies including their
versions as dependencies to PKG-CUST.

Now here is what I did (as a brute HACK) to solve my problem:
I wrote a maven plugin (the MOJO stuff and maven APIs are really cool - easy to
get quick results) that acts as the maven-depdencies-plugin but allows
to have "*" as <artifactId> in an the exclusion. For the PKG-CUST package I
use the plugin with inverted logic.

Surprisingly you are still here reading. My questions are now:
Will maven support something like this by default one day?
If not will my "HACK" still work in further releases or can it happen
that the verification gets updated and my pom becomes invalid because
"*" is no vaild <artifactId> anymore?

Thank you for reading this. I hope to get an answer.

BTW: the plexus/components.xml was really hard to figure out. Is there any
documentation that I missed? Should I write a mini xdoc about what I figured out
about how to create your own packaging?
Are you interested in a maven-solaris-package-plugin ?
If there is a real solution for my "HACK" I would love to donate the plugin to
maven.

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

iD8DBQFEtXVHmPuec2Dcv/8RAueyAJ0YL1fw2yyyDsQu/my62slM6j6b0gCfdG9T
TwwchCw+fVe6Yl+BQj0gZEA=
=AJ7l
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to