maven-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Swenson, Eric" <Eric.Swen...@am.sony.com>
Subject RE: Creating a .wsr file artifact
Date Mon, 09 Oct 2006 02:57:59 GMT
Hello Doug,

Thanks for your reply.  I had followed pointers on the web to the
jboss-related plugins on mojo.codehaus.org but read reports that wsr
files were not working in these plugins.  Hence, I wrote my own. 

However, my plugin is *very* rudimentary right now.  I based it on the
maven-war-plugin and changed references to web.xml to web-service.xml
and the use of a "webapp" source directory to "websvc".  I'm doing just
enough to get all the wsrs that we use (currently built using ant) to
work.  As a matter of fact, it is probably only useful to me since I
removed the adding of all dependent jars to the wsr file (in our case,
ours are in common to lots of the web services and we put them directly
in the server/default/lib directory rather than embedding them in the
wsr file.  So I suspect my plugin won't really be useful to anyone else.
If I do beef it up as time goes on and make it more useful, I'll make it
available to others.

Thanks, however, for the pointers.  I'll take a look at the
jboss-related plugins to see if anything would be useful to me.  

-- Eric

-----Original Message-----
From: Doug Douglass [mailto:douglass.doug@gmail.com] 
Sent: Sunday, October 08, 2006 1:10 PM
To: Maven Developers List
Subject: Re: Creating a .wsr file artifact

Eric,

I'm getting to this a little late as it appears you've already created
the
plugin, but there are the jboss-sar and jboss-packaging plugins over at
mojo.codehaus.org that, more or less, do what you have done. The
jboss-packaging plugin is intended to supercede the jboss-sar plugin and
support SAR, HAR, PAR, .spring, etc JBoss deployable packagings. It
would be
nice to combine your WSR code into that plugin.

There is currently a problem with the jboss-packaging plugin though.
Since
all these packagings are JBoss-specific, I've been trying to use
packaging
values jboss-sar, jboss-har, etc. instead of simply sar, har, etc to
denote
their specific usage. Unfortunately, the packaging appears to be coupled
to
the deployed artifact extension (e.g., deploying a jboss-sar packaged
project, uses jboss-sar as the dpelyed artifact extension), which makes
a
bit of sense, but is limitting.

Since all these packagings are just jar files with a specific deployment
descriptor and file extension, perhaps they all should be considered
attached artifacts with the promary artifact being the jar. This would
at
least solve the packaging/deploy extension coupling "problem".

Sorry some of this is OT to maven-dev, but I'd really like to see the
jboss-packaging mojo inherit your WSR code, and be stablized for a
release.

Regards,
Doug

On 10/7/06, Swenson, Eric <Eric.Swenson@am.sony.com> wrote:
>
> Thanks very much, Wendell.  I finally have everything working
correctly.
> I actually had two things wrong -- I didn't have the <extension> in my
> project's pom and the life-cycle (<component-set>) in my plugin had a
> couple mistakes.  Thanks again for your help. -- Eric
>
> -----Original Message-----
> From: Wendell Beckwith [mailto:wbeckwith@gmail.com]
> Sent: Saturday, October 07, 2006 3:09 AM
> To: Maven Developers List
> Subject: Re: Creating a .wsr file artifact
>
> IIRC those are "standard" mappings and they are defined inside the
> components.xml defined in the maven-core plugin in your <maven
home>/lib
> directory.  Because your plugin is not a "standard" plugin you have to
> use
> the <extension> element with your plugin declaration in the pom of the
> project that uses the maven-wsr-plugin so that maven knows to look for
> lifecycle enahncements in the plugin.
>
> Wb
>
> On 10/7/06, Swenson, Eric <Eric.Swenson@am.sony.com> wrote:
> >
> > I looked in both the maven-jar-plugin and the maven-war-plugin and
> don't
> > see any components.xml.  Yet these both appear to define a default
> life
> > cycle mapping (somehow).  -- Eric
> >
> > -----Original Message-----
> > From: Swenson, Eric
> > Sent: Friday, October 06, 2006 11:56 PM
> > To: Maven Developers List
> > Subject: RE: Creating a .wsr file artifact
> >
> > Thanks Nathan.  But I'm still not getting anywhere.  I assume what
> > you're saying is that I need to add a META-INF/plexus/components.xml
> to
> > my plugin jar.  I've done that (but perhaps the contents is still
not
> > right), but I still get the error message, upon doing an "mvn
compile"
> > or "mvn package" that says:
> >
> > [INFO] Cannot find lifecycle mapping for packaging: 'wsr'.
> > Component descriptor cannot be found in the component repository:
> > org.apache.maven.lifecycle.mapping.LifecycleMappingwsr.
> >
> > If I do see the META-INF/plexus/components.xml in my
maven-wsr-plugin
> > jar file.
> >
> > Also, I modeled my maven-wsr-plugin after maven-war-plugin (I
started
> > with the same codebase and removed the web.xml-related stuff and
> > replaced with web-service.xml-related stuff).  And maven-war-plugin
> > doesn't have a components.xml in it.  So why does maven-war-plugin
> allow
> > me to do "mvn compile" and "mvn package" but maven-wsr-plugin
doesn't?
> > Is there some other registry that needs updating?  When I install
the
> > plugin in the repository, do I need any special steps or is the "mvn
> > install" (on the maven-wsr-plugin project) enough?
> >
> > Thanks. -- Eric
> >
> > -----Original Message-----
> > From: Nathan Beyer [mailto:nbeyer@gmail.com]
> > Sent: Friday, October 06, 2006 9:43 PM
> > To: Maven Developers List
> > Subject: Re: Creating a .wsr file artifact
> >
> > Check out the CustomArtifactHandler part of this guide [1]. I think
> > what you're missing is an "extension" [2] element in your POM.
> >
> > -Nathan
> >
> > [1]
> >
>
http://maven.apache.org/guides/introduction/introduction-to-the-lifecycl
> > e.html
> > [2]
> >
>
http://maven.apache.org/ref/current/maven-model/maven.html#class_extensi
> > on
> >
> > On 10/6/06, Swenson, Eric <Eric.Swenson@am.sony.com> wrote:
> > > Well, I've made progress since my post.  However, I still have an
> > issue.
> > > I now have a maven-wsr-plugin, which I based on maven-war-plugin
and
> > I'm
> > > able to compile my project with:
> > >
> > >         mvn compiler:compile
> > >
> > > and package my project (into a .wsr file) with:
> > >
> > >         mvn wsr:wsr
> > >
> > > However, what I can't do is perform the compile/package/install
> > > automatically by simply doing:
> > >
> > >         mvn install
> > >
> > > This works for jar and war files.  But for my wsr files, it
doesn't.
> > > When I attempt either an:
> > >
> > >         mvn compile
> > >
> > > or
> > >
> > >         mvn install
> > >
> > > I get the error:
> > >
> > > $ mvn compile
> > > [INFO] Scanning for projects...
> > > [INFO]
> > >
> >
>
------------------------------------------------------------------------
> > > ----
> > > [INFO] Building NemoPersonalizationService
> > > [INFO]    task-segment: [compile]
> > > [INFO]
> > >
> >
>
------------------------------------------------------------------------
> > > ----
> > > [INFO]
> > >
> >
>
------------------------------------------------------------------------
> > > [ERROR] BUILD ERROR
> > > [INFO]
> > >
> >
>
------------------------------------------------------------------------
> > > [INFO] Cannot find lifecycle mapping for packaging: 'wsr'.
> > > Component descriptor cannot be found in the component repository:
> > > org.apache.maven.lifecycle.mapping.LifecycleMappingwsr.
> > >
> > > or
> > >
> > > $ mvn install
> > > [INFO] Scanning for projects...
> > > [INFO]
> > >
> >
>
------------------------------------------------------------------------
> > > ----
> > > [INFO] Building NemoPersonalizationService
> > > [INFO]    task-segment: [install]
> > > [INFO]
> > >
> >
>
------------------------------------------------------------------------
> > > ----
> > > [INFO]
> > >
> >
>
------------------------------------------------------------------------
> > > [ERROR] BUILD ERROR
> > > [INFO]
> > >
> >
>
------------------------------------------------------------------------
> > > [INFO] Cannot find lifecycle mapping for packaging: 'wsr'.
> > > Component descriptor cannot be found in the component repository:
> > > org.apache.maven.lifecycle.mapping.LifecycleMappingwsr.
> > >
> > > If my pom uses <packaging>jar</packaging>
> > >
> > > I'm able to use "mvn compile" or "mvn package" or "mvn install".
> > >
> > > How can I enable this for my maven-wsr-plugin (e.g. pom files with
> > > <packaging>wsr</packaging>?
> > >
> > > -- Eric
> > >
> > >
> > >
> > > -----Original Message-----
> > > From: Swenson, Eric
> > > Sent: Friday, October 06, 2006 5:53 PM
> > > To: dev@maven.apache.org
> > > Subject: Creating a .wsr file artifact
> > >
> > > I'm using Maven 2.0.4 and need to produce a .wsr file.  A .wsr
file
> is
> > a
> > > jboss web service archive and is very similar to a .war file, a
.sar
> > > file, and an .ear file.  I've tried two tacts so far, neither
> > > successful.
> > >
> > >
> > >
> > > The first approach was to take the mavin-war-plugin sources,
> renaming
> > > all instances of "war" to "wsr" and using it.  I had to make a
copy
> of
> > > the WarArchiver class (org.codehaus.plexus.archiver.WarArchiver)
and
> > > rename it, too, to WsrArchiver in order to get the generated
> > plugin.xml
> > > to not refer to WarArchiver.  However, I was never able to get
this
> > > plugin to work.  I kept getting errors telling me that the life
> cycle
> > > manager could not find a mapping for "wsr".
> > >
> > >
> > >
> > > I gave up and tried to figure out how to get maven to simply
rename
> > the
> > > artifact after the package goal - I went back to using war files.
I
> > > wanted to simply rename this from a war file to a wsr file.  But I
> > could
> > > never figure out how to do that.  It would appear that the
<format>
> in
> > > an <assembly> (I used "zip") also dictated the file extension
placed
> > on
> > > the output of the assembly.
> > >
> > >
> > >
> > > Can someone give me some hints on how to accomplish what I need to
> do?
> > > I would actually like to get the mavin-wsr-plugin to work because
> I'd
> > > like to be able to add more wsr-related smarts to the packaging
> (there
> > > are additional files in a wsr that are not in a war).  But I can't
> > > figure out how to get a copy of mavin-war-plugin to work with the
> > *only*
> > > change being that the file extension of the artifact is changed to
> > "wsr"
> > > (from "war").
> > >
> > >
> > >
> > > Can anyone help?  -- Eric
> > >
> > >
> > >
> > >
> > >
> > >
> ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> > > For additional commands, e-mail: dev-help@maven.apache.org
> > >
> > >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> > For additional commands, e-mail: dev-help@maven.apache.org
> >
> >
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> > For additional commands, e-mail: dev-help@maven.apache.org
> >
> >
> >
> >
> >
---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> > For additional commands, e-mail: dev-help@maven.apache.org
> >
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
> For additional commands, e-mail: dev-help@maven.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org


Mime
View raw message