I answer more tomorrow, but for now here's a blog on making a custom lifecycle.

http://www.sonatype.com/people/2009/08/create-a-customized-build-process-in-maven/

On Feb 20, 2010, at 5:20 PM, tbee wrote:

> 
> 
> 
> jvanzyl wrote:
>> 
>>> The migration to Maven is not because I want to migrate one of my
>>> projects;
>>> I'm setting up the development toolchain for our company, using one of
>>> our
>>> more complex projects as the testcase.
>>> 
>> 
>> As the first test case?
>> 
>> By yourself, with a team?
>> 
> 
> Yes.
> Small team; 3 people, I'm the lead.
> 
> 
> jvanzyl wrote:
>> 
>> 
>>> I've initially tested Maven 2 about half year ago, and I found it
>>> complex.
>> 
>> Relative to what?
>> 
>> 
> 
> The build environments so far, notably ANT. We've got a infrastructure on
> ant; the actual build files are composed using a library of preconfigured
> Ant tasks with the option to override. We also have default target names
> quite similar to Maven's phases. We lack good dependency management; the
> artificats are simply checked into the source control.
> 
> 
> 
> jvanzyl wrote:
>> 
>> 
>> is the majority of the time not fiddled with by developers
>> 
>> 
> 
> We are -as a company- not that big, and developers often work fairly
> autonomously on their projects. Sometimes in pairs of threes. So they often
> will setup their build environment themselves. 
> 
> 
> 
> jvanzyl wrote:
>> 
>> 
>> if you stepped back objectively and looked at your Ant build scripts I
>> think you will find they are just, if not more, complicated to the average
>> person.
>> 
>> 
> 
> Ant build script can get messy indeed, so -as you need to do with code- you
> need good practice. For us this is a lot of imports or call-outs in the
> build. The actual builds scrips are targets with imports of the
> preconfigured tasks.
> 
> 
> 
> jvanzyl wrote:
>> 
>> 
>> A well setup project that is vetted by a team lead, where the dependencies
>> are managed internally by a repository manager and corrections made to
>> protect the team from the bad metadata in Maven Central, which is
>> currently unavoidable given the nature of how we've allow artifact
>> submissions to date, then your team members should onboard as you did
>> given your environment doesn't change underneath them.
>> 
>> 
> 
> Yes. Well, we are not that big and don't really do huge multi team projects.
> So maybe that is where our difference in perspective lays.
> 
> 
> jvanzyl wrote:
>> 
>> For phases, this is encapsulated inside plugins, and further more in
>> packaging lifecycles. And even further with mixins in 3.x. But I
>> categorically disagree that executions for particular environments should
>> be encapsulated in plugins. Then you're dealing with the interactions of N
>> plugins trying to do this and you wind up with a mess.
>> 
> 
> Let me give you an example. We have a swing application delivery method
> similar to "onejar", but with a few twist, so that is why it is custom. In
> essence it is identical to onejar: it includes all dependency jars and the
> actual jar in one deliverable. It should run during packaging but after the
> artifact jar is created. The plugin has a clear execution moment. It would
> be great that the user doesn't need to concern himself with that.
> 
> 
> 
> jvanzyl wrote:
>> 
>> Lots of Maven plugins do, but this is where we can't control everything
>> even without the Maven project itself the quality varies wildly.
>> 
> 
> Agreed, we're talking about my own custom plugin. I'm in control there.
> 
> 
> jvanzyl wrote:
>> 
>> You can expose as much or as little as you want. If you come up with
>> common patterns for a particular flavor of development you can hide it all
>> with a lifecycle if that's what you're trying to do with your team. It
>> might be more onerous then you would like, and we're fixing that, but you
>> certainly don't have to expose that to your developers. This is how we
>> typically setup teams either by putting commons parts on parent POMs, or
>> making custom lifecycles. It generally results in very little in child
>> projects.
>> 
> 
> That is very interesting. Do you know of an example on how that is done?
> 
> Thanks for the discussion, BTW!
> 
> -- 
> View this message in context: 
> http://old.nabble.com/custom-maven-plugin-default-phase-tp27626122p27671036.html
> Sent from the Maven Developers mailing list archive at Nabble.com.
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> For additional commands, e-mail: dev-h...@maven.apache.org
> 

Thanks,

Jason

----------------------------------------------------------
Jason van Zyl
Founder,  Apache Maven
http://twitter.com/jvanzyl
----------------------------------------------------------

Reply via email to