Hi Stephen,

Sure no problem.  What I came up with was another set of posts, and was 
essentially following the advice you gave me a few days ago and some help from 
Dan Tran.   That is, I use mvn deploy but output to a empty directory, then use 
a maven plugin to merge that to my primary repository.

Here are some details (note I am using Maven 2.1.0 on Windows machines).  So 
essentially I build like this:

mvn -DaltDeploymentRepository=repo::default::file://E:\staging-repo deploy

I then use the wagon-maven-plugin to merge this sparse area up to my corporate 
repository like this:

mvn org.codehaus.mojo:wagon-maven-plugin:1.0-beta-1:merge-maven-repos 
-Dwagon.source=file://E:\staging-repo 
-Dwagon.target=file://\\server\share\mavenrepo  -Djava.io.tmpdir=deploytemp

Note that deploytemp is a directory that is created in the local directory.  I 
can't seem to point it to a C:\temp for some reason, and really don't care.  I 
just create the directory and use it.  It's empty when it gets done. If you 
don't create that directory (or forget the java.io.tmpdir), you get a rather 
cryptic message about volume labels.

I'm able to chain these two commands together after appropriate error checking 
in my automation server (IBM Rational Build Forge FWIW).

So what I was after originally was a step for me to build, then another step to 
deploy only that I could use later on after everything was done.  This 
accomplishes that goal, with a little help from the wagon-maven-plugin, and Dan 
Tran.

Needless to say this methodology was not documented anywhere that I could find, 
so I am guessing that not many folks are interested in it.  Frankly without the 
nudges in the right direction from this list, I would not have been able to 
figure it out. So thanks to everyone.

-Jim


-----Original Message-----
From: Stephen Connolly [mailto:stephen.alan.conno...@gmail.com] 
Sent: Friday, March 27, 2009 12:45 PM
To: Maven Users List
Subject: Re: How to perform a deploy only

Any chance you could post your solution?

2009/3/27 Jim McCaskey <jim.mccas...@pervasive.com>

> I have found a solution that is working nicely.  Having said that, I don't
> think the request is that farfetched.  When doing a deploy, you would
> definitely want to make sure that all the components that made up the run
> built successfully before deploying.  Not doing so leaves your repository in
> a corrupt state.  Perhaps having the ability to delay the deploy phase until
> all components are built/tested is what is needed, not necessarily a "Deploy
> only" ability.  In other words, run all other phases for all components,
> then swing back through on a deploy run once all components are verified to
> build/test.
>
> My guess would be that as more and more projects use Maven to glue
> everything together, these sorts of things will come up more often.
>
> Anyway just a suggestion.  Like I say, I have a solution that I'm happy
> with.
>
> -Jim
>
> -----Original Message-----
> From: Brian E. Fox [mailto:bri...@reply.infinity.nu]
> Sent: Thursday, March 26, 2009 9:43 PM
> To: Maven Users List
> Subject: RE: How to perform a deploy only
>
> Running the full lifecycle is a fundamental of Maven, so this type of
> feature request is unlikely to gain traction. You should rather look at
> your build configuration to solve the problem, or as mentioned use a
> repo man that can help you out.
>
> -----Original Message-----
> From: Jim McCaskey [mailto:jim.mccas...@pervasive.com]
> Sent: Wednesday, March 25, 2009 11:26 PM
> To: 'Maven Users List'
> Subject: RE: How to perform a deploy only
>
> Thanks for the suggestion.  I have been trying to avoid using repository
> managers for a number of reasons that are beyond the scope of this
> thread.  I may have to break down eventually...
>
> I'm surprised no one has needed this sort of feature, or maybe they have
> and that's why Nexus has the features that it does.  I was hoping to
> find a Maven native (whatever native means in a highly pluggable
> architecture) way to do this that would not take much additional work.
>
> mvn -DdoNothingButDeploy=true deploy
>
> That would be about perfect.  :)
>
> Would this even be consider for an enhancement request if I opened it?
> Perhaps I am the only one interested in such a thing.
>
> Thanks!
>
> -Jim
>
> -----Original Message-----
> From: Edelson, Justin [mailto:justin.edel...@mtvstaff.com]
> Sent: Wednesday, March 25, 2009 9:55 PM
> To: Maven Users List
> Subject: RE: How to perform a deploy only
>
> Brian can pitch his own stuff far better than I can, but this kind of
> transactional deployment can be done with Nexus' Staging feature.
>
> I realized after I sent my deploy:deploy suggestion that it probably
> wouldn't work without running at least the package phase, sorry to give
> you bad info. I'm reasonably confident with some light hacking you could
> write a plugin that essentially faked the build, but if the below is
> your use case and you can afford Nexus Pro, it's probably a better
> solution.
>
> Justin
>
>
> ________________________________
>
> From: Jim McCaskey [mailto:jim.mccas...@pervasive.com]
> Sent: Wed 3/25/2009 10:37 PM
> To: 'Maven Users List'
> Subject: RE: How to perform a deploy only
>
>
>
> I have a whole bunch of components that are mostly interrelated but
> consumable individually by downstream builds.  If I run deploy it
> basically starts deploying as it goes, so if a downstream component
> breaks for some reason then I am left with half of the components
> updated in the maven repo and half not.  That's not really what we want.
>
> So ideally, we would run a build/test, make sure it all gets through
> completely, then deploy the resulting artifacts.
>
> -Jim
>
> -----Original Message-----
> From: Brian E. Fox [mailto:bri...@reply.infinity.nu]
> Sent: Wednesday, March 25, 2009 9:20 PM
> To: Maven Users List
> Subject: RE: How to perform a deploy only
>
> This really isn't a supported use case. Deploy is a phase and by
> definition all earlier phases run before the one you've asked for. Why
> would you not want to build before you deploy?
>
> -----Original Message-----
> From: Jim McCaskey [mailto:jim.mccas...@pervasive.com]
> Sent: Wednesday, March 25, 2009 10:17 PM
> To: 'users@maven.apache.org'
> Subject: How to perform a deploy only
>
> Hello all,
>
> I have several components all built from a top level pom.  This works
> great for accelerating users to be able to build a lot of stuff quickly
> but is giving me some fits when trying to deploy.  Up to this point I
> have been using deploy:deploy-file to get built components into our
> local repository after a full build is successful, but this is labor
> intensive.
>
> I would like to be able to run some variation of "mvn deploy" from the
> top level.  I have figured out how to skip things using the FAQ here:
>
> http://maven.apache.org/plugins/maven-deploy-plugin/faq.html#skip
>
> But I do NOT want it to do anything other than deploy.  I have googled
> for this but have not turned up anything useful.  I was surprised that
> the documentation does not suggest how to do this.  This is the correct
> deploy documentation I think.
>
> http://maven.apache.org/plugins/maven-deploy-plugin/
>
> Anyway, any help would be appreciated.
>
> Thanks!
>
> -Jim
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
> For additional commands, e-mail: users-h...@maven.apache.org
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@maven.apache.org
For additional commands, e-mail: users-h...@maven.apache.org

Reply via email to