You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Chris Berry <ch...@gmail.com> on 2005/12/16 16:44:57 UTC

[m2] problem with new packaging

Greetings,
I am trying to create my own packaging type (named "car" -- a "configuration
archive"). I need to do this so that I can find all dependencies of type
"car" in a project and process them specially. A car is really just a jar
that requires special processing. So I created a special Car Plugin that
contains the components.xml shown below.

Then I created another project named et-utils-conf that is of this packaging
type. I.e. <packaging>car</packaging> and, of course, depends on my new Car
Plugin.

But for some unknown reason my "car" packaging is making a ".car" file
instead of a ".jar" file. BTW, note that I use the jar plugin directly.

What I want is a jar file (so that I can use the maven UnArchiver code) --
but I want the type as "car" so that I can locate all CAR files in a
project's dependencies (using artifact.getType().equals( "car" ))

The following appears in the output when I run "mvn install" on
et-utils-conf, which seems pertinent...

[INFO] [install:install]
[INFO] Installing c:\cberry\work\etm2\jws\et-utils-conf\target\et-
utils-conf-1.0-SNAPSHOT.jar to
C:\cberry\.m2\repository\et\et-utils-conf\1.0-SNAPSHOT\et-
utils-conf-1.0-SNAPSHOT.car

Do I have to setup the install somehow?? Seems that the CAR packaging should
do it??

Anyone see what I'm doing wrong??
Thanks,
-- Chris

<component-set>
<components>
    <component>
      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
      <role-hint>car</role-hint>
      <implementation>
org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping</implementation>
      <configuration>
        <phases>
          <process-resources>
org.apache.maven.plugins:maven-resources-plugin:resources
</process-resources>
          <package>org.apache.maven.plugins:maven-jar-plugin:jar</package>
          <install>org.apache.maven.plugins:maven-install-plugin:install
</install>
          <deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy
</deploy>
        </phases>
      </configuration>
    </component>

    <component>
      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
      <role-hint>car</role-hint>
      <implementation>
org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
      <configuration>
        <type>car</type>
        <extension>jar</extension>
        <packaging>jar</packaging>
        <includesDependencies>false</includesDependencies>
        <addedToClasspath>false</addedToClasspath>
      </configuration>
    </component>

  </components>
</component-set>


The full output::

[60] ~/work/etm2/jws/et-utils-conf$ mvn install
[INFO] Scanning for projects...
[INFO]
----------------------------------------------------------------------------
[INFO] Building ET Utils CAR
[INFO]    task-segment: [install]
[INFO]
----------------------------------------------------------------------------
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [jar:jar]
[INFO] Building jar: c:\cberry\work\etm2\jws\et-utils-conf\target\et-
utils-conf-1.0-SNAPSHOT.jar
[INFO] [install:install]
[INFO] Installing c:\cberry\work\etm2\jws\et-utils-conf\target\et-
utils-conf-1.0-SNAPSHOT.jar to C:\cberry\.m2\repository\et\et-utils-co
nf\1.0-SNAPSHOT\et-utils-conf-1.0-SNAPSHOT.car
[INFO]
----------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO]
----------------------------------------------------------------------------
[INFO] Total time: 2 seconds
[INFO] Finished at: Thu Dec 15 16:50:29 CST 2005
[INFO] Final Memory: 2M/5M
[INFO]
----------------------------------------------------------------------------
[61] ~/work/etm2/jws/et-utils-conf$

Re: [m2] problem with new packaging

Posted by Chris Berry <ch...@gmail.com>.
Thanks Dan !!  That did the trick.

I'm confused though. The writeup on the m2 site (
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html)
appears to indicate that this XML element is required??  Of course, teh
whole components.xml and packaging stuff is a bit like black magic to me ;-)
I'm unclear how it all really holds together...

Thanks again,
-- Chris

On 12/16/05, dan tran <da...@gmail.com> wrote:
>
> perhaps you should remove packaging in ArtifactHandler
>
>    <component>
>      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
>      <role-hint>car</role-hint>
>      <implementation>
> org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
>      <configuration>
>        <type>car</type>
>        <extension>jar</extension>
>        <includesDependencies>false</includesDependencies>
>        <addedToClasspath>false</addedToClasspath>
>      </configuration>
>    </component>
>
>
>
> On 12/16/05, Chris Berry <ch...@gmail.com> wrote:
> >
> > Greetings,
> > I am trying to create my own packaging type (named "car" -- a
> > "configuration
> > archive"). I need to do this so that I can find all dependencies of type
> > "car" in a project and process them specially. A car is really just a
> jar
> > that requires special processing. So I created a special Car Plugin that
> > contains the components.xml shown below.
> >
> > Then I created another project named et-utils-conf that is of this
> > packaging
> > type. I.e. <packaging>car</packaging> and, of course, depends on my new
> > Car
> > Plugin.
> >
> > But for some unknown reason my "car" packaging is making a ".car" file
> > instead of a ".jar" file. BTW, note that I use the jar plugin directly.
> >
> > What I want is a jar file (so that I can use the maven UnArchiver code)
> --
> > but I want the type as "car" so that I can locate all CAR files in a
> > project's dependencies (using artifact.getType().equals( "car" ))
> >
> > The following appears in the output when I run "mvn install" on
> > et-utils-conf, which seems pertinent...
> >
> > [INFO] [install:install]
> > [INFO] Installing c:\cberry\work\etm2\jws\et-utils-conf\target\et-
> > utils-conf-1.0-SNAPSHOT.jar to
> > C:\cberry\.m2\repository\et\et-utils-conf\1.0-SNAPSHOT\et-
> > utils-conf-1.0-SNAPSHOT.car
> >
> > Do I have to setup the install somehow?? Seems that the CAR packaging
> > should
> > do it??
> >
> > Anyone see what I'm doing wrong??
> > Thanks,
> > -- Chris
> >
> > <component-set>
> > <components>
> >    <component>
> >      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
> >      <role-hint>car</role-hint>
> >      <implementation>
> > org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
> > </implementation>
> >      <configuration>
> >        <phases>
> >          <process-resources>
> > org.apache.maven.plugins:maven-resources-plugin:resources
> > </process-resources>
> >          <package>org.apache.maven.plugins:maven-jar-plugin:jar
> </package>
> >          <install>org.apache.maven.plugins:maven-install-plugin:install
> > </install>
> >          <deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy
> > </deploy>
> >        </phases>
> >      </configuration>
> >    </component>
> >
> >    <component>
> >      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
> >      <role-hint>car</role-hint>
> >      <implementation>
> > org.apache.maven.artifact.handler.DefaultArtifactHandler
> </implementation>
> >      <configuration>
> >        <type>car</type>
> >        <extension>jar</extension>
> >        <packaging>jar</packaging>
> >        <includesDependencies>false</includesDependencies>
> >        <addedToClasspath>false</addedToClasspath>
> >      </configuration>
> >    </component>
> >
> > </components>
> > </component-set>
> >
> >
> > The full output::
> >
> > [60] ~/work/etm2/jws/et-utils-conf$ mvn install
> > [INFO] Scanning for projects...
> > [INFO]
> >
> >
> ----------------------------------------------------------------------------
> > [INFO] Building ET Utils CAR
> > [INFO]    task-segment: [install]
> > [INFO]
> >
> >
> ----------------------------------------------------------------------------
> > [INFO] [resources:resources]
> > [INFO] Using default encoding to copy filtered resources.
> > [INFO] [jar:jar]
> > [INFO] Building jar: c:\cberry\work\etm2\jws\et-utils-conf\target\et-
> > utils-conf-1.0-SNAPSHOT.jar
> > [INFO] [install:install]
> > [INFO] Installing c:\cberry\work\etm2\jws\et-utils-conf\target\et-
> > utils-conf-1.0-SNAPSHOT.jar to C:\cberry\.m2\repository\et\et-utils-co
> > nf\1.0-SNAPSHOT\et-utils-conf-1.0-SNAPSHOT.car
> > [INFO]
> >
> >
> ----------------------------------------------------------------------------
> > [INFO] BUILD SUCCESSFUL
> > [INFO]
> >
> >
> ----------------------------------------------------------------------------
> > [INFO] Total time: 2 seconds
> > [INFO] Finished at: Thu Dec 15 16:50:29 CST 2005
> > [INFO] Final Memory: 2M/5M
> > [INFO]
> >
> >
> ----------------------------------------------------------------------------
> > [61] ~/work/etm2/jws/et-utils-conf$
> >
> >
>
>

Re: [m2] problem with new packaging

Posted by dan tran <da...@gmail.com>.
perhaps you should remove packaging in ArtifactHandler

   <component>
     <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
     <role-hint>car</role-hint>
     <implementation>
org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
     <configuration>
       <type>car</type>
       <extension>jar</extension>
       <includesDependencies>false</includesDependencies>
       <addedToClasspath>false</addedToClasspath>
     </configuration>
   </component>



On 12/16/05, Chris Berry <ch...@gmail.com> wrote:
>
> Greetings,
> I am trying to create my own packaging type (named "car" -- a
> "configuration
> archive"). I need to do this so that I can find all dependencies of type
> "car" in a project and process them specially. A car is really just a jar
> that requires special processing. So I created a special Car Plugin that
> contains the components.xml shown below.
>
> Then I created another project named et-utils-conf that is of this
> packaging
> type. I.e. <packaging>car</packaging> and, of course, depends on my new
> Car
> Plugin.
>
> But for some unknown reason my "car" packaging is making a ".car" file
> instead of a ".jar" file. BTW, note that I use the jar plugin directly.
>
> What I want is a jar file (so that I can use the maven UnArchiver code) --
> but I want the type as "car" so that I can locate all CAR files in a
> project's dependencies (using artifact.getType().equals( "car" ))
>
> The following appears in the output when I run "mvn install" on
> et-utils-conf, which seems pertinent...
>
> [INFO] [install:install]
> [INFO] Installing c:\cberry\work\etm2\jws\et-utils-conf\target\et-
> utils-conf-1.0-SNAPSHOT.jar to
> C:\cberry\.m2\repository\et\et-utils-conf\1.0-SNAPSHOT\et-
> utils-conf-1.0-SNAPSHOT.car
>
> Do I have to setup the install somehow?? Seems that the CAR packaging
> should
> do it??
>
> Anyone see what I'm doing wrong??
> Thanks,
> -- Chris
>
> <component-set>
> <components>
>    <component>
>      <role>org.apache.maven.lifecycle.mapping.LifecycleMapping</role>
>      <role-hint>car</role-hint>
>      <implementation>
> org.apache.maven.lifecycle.mapping.DefaultLifecycleMapping
> </implementation>
>      <configuration>
>        <phases>
>          <process-resources>
> org.apache.maven.plugins:maven-resources-plugin:resources
> </process-resources>
>          <package>org.apache.maven.plugins:maven-jar-plugin:jar</package>
>          <install>org.apache.maven.plugins:maven-install-plugin:install
> </install>
>          <deploy>org.apache.maven.plugins:maven-deploy-plugin:deploy
> </deploy>
>        </phases>
>      </configuration>
>    </component>
>
>    <component>
>      <role>org.apache.maven.artifact.handler.ArtifactHandler</role>
>      <role-hint>car</role-hint>
>      <implementation>
> org.apache.maven.artifact.handler.DefaultArtifactHandler</implementation>
>      <configuration>
>        <type>car</type>
>        <extension>jar</extension>
>        <packaging>jar</packaging>
>        <includesDependencies>false</includesDependencies>
>        <addedToClasspath>false</addedToClasspath>
>      </configuration>
>    </component>
>
> </components>
> </component-set>
>
>
> The full output::
>
> [60] ~/work/etm2/jws/et-utils-conf$ mvn install
> [INFO] Scanning for projects...
> [INFO]
>
> ----------------------------------------------------------------------------
> [INFO] Building ET Utils CAR
> [INFO]    task-segment: [install]
> [INFO]
>
> ----------------------------------------------------------------------------
> [INFO] [resources:resources]
> [INFO] Using default encoding to copy filtered resources.
> [INFO] [jar:jar]
> [INFO] Building jar: c:\cberry\work\etm2\jws\et-utils-conf\target\et-
> utils-conf-1.0-SNAPSHOT.jar
> [INFO] [install:install]
> [INFO] Installing c:\cberry\work\etm2\jws\et-utils-conf\target\et-
> utils-conf-1.0-SNAPSHOT.jar to C:\cberry\.m2\repository\et\et-utils-co
> nf\1.0-SNAPSHOT\et-utils-conf-1.0-SNAPSHOT.car
> [INFO]
>
> ----------------------------------------------------------------------------
> [INFO] BUILD SUCCESSFUL
> [INFO]
>
> ----------------------------------------------------------------------------
> [INFO] Total time: 2 seconds
> [INFO] Finished at: Thu Dec 15 16:50:29 CST 2005
> [INFO] Final Memory: 2M/5M
> [INFO]
>
> ----------------------------------------------------------------------------
> [61] ~/work/etm2/jws/et-utils-conf$
>
>