I'm trying to assemble an image consisting of the artifacts created by a
maven2 project.  The artifacts (all installed and in the repository) are
of three forms:

 

-          jar files

-          wsr files

-          war files

 

I'm trying to author a pom and assembly descriptor file that will allow
me to state the dependencies in the pom file (of all three types) and
have the assembly descriptor put these dependent files in the "right"
places in my image.  In particular, the "wsr" files and "war" files go
in one place, while the "jar" files go in another.  While I am not
having a problem specifying the dependencies in my pom file - since I
can specify the <type> element to request a "wsr" file as opposed to a
"jar" file, I'm not able to, in my assembly descriptor, cause the
filters to work properly. 

 

I have something like this:

 

  <moduleSets>

    <moduleSet>

      <includes>

        <include>com.acme:wsr-artifact1</include>

        <include>com.acme:war-artifact2</include>

        <include>com.acme:wsr-artifact3</include>

      </includes>

      <binaries>

        <outputDirectory>image/server/default/deploy</outputDirectory>

        <includeDependencies>false</includeDependencies>

        <unpack>false</unpack>

      </binaries>

    </moduleSet>

  </moduleSets>

  <dependencySets>

    <dependencySet>

      <outputDirectory>image/server/default/lib</outputDirectory>

      <unpack>false</unpack>

      <scope>runtime</scope>

    </dependencySet>

  </dependencySets>

 

What I'm expecting to have happen is all the dependencies that DON'T
match the pattern in the moduleSet will get places into
image/server/default/lib.  But those that do match the moduleSet filter
will get placed in image/server/default/deploy.  

 

The problem is that all dependencies end up in image/server/default/lib
and nothing ends up in image/server/default/deploy and I always get a
warning message during my the assembly phase to wit:

 

[INFO] Processing DependencySet

[WARNING] The following patterns were never triggered in this artifact
inclusion filter:

o  'com.acme:wsr-artifact1'

 

[WARNING] NOTE: Currently, inclusion of module dependencies may produce
unpredictable results if a version conflict occurs.

 

What am I doing wrong?  Is it possible to grab non-jar dependencies and
distribute them in different directories as I'm trying to do?  Thanks.
-- Eric

 

Reply via email to