That makes two of us Dhruva. Seriously guys thanks a lot. Great help. On Feb 8, 2008 9:46 PM, Dhruva Reddy <[EMAIL PROTECTED]> wrote:
> This really clears things up--many thanks! > > > -- > Dhruva B. Reddy > Senior Associate of Technology, Level 2 | Sapient > > 25 1st Street > Cambridge, MA, 02141, USA > desk: +1 617 452 1900 > fax: +1 617 621 1300 > > www.sapient.com > > -----Original Message----- > From: John Casey [mailto:[EMAIL PROTECTED] > Sent: Thursday, 07 February 2008 17:01 > To: Maven Users List > Subject: Re: Maven Concepts > > You've got it exactly right. > > Maven builds are usually oriented around the concept of a lifecycle, > which consists of phases in a specific order. Each phase has zero or > more mojos (usually called goals) bound to it. Each phase in the > lifecycle implies all of the phases that come before it. This allows > users to bind (or configure) different goals to different phases of > the build, then the standard phase names to run the build. The > default goals for a given type of project are also bound to the > lifecycle in this way, but behind the scenes, such that the user can > supplement these default goals using configurations in the pom.xml. > > So, if you have a jar project (<packaging>jar</packaging>), you might > have something like this: > > Phase Goals > -------- ----------- > > validate (none) > initialize (none) > ... > compile org.apache.maven.plugins:maven-compiler- > plugin:compile > ... > test org.apache.maven.plugins:maven-surefire- > plugin:test > ... > package org.apache.maven.plugins:maven-jar-plugin:jar > ... > install org.apache.maven.plugins:maven-install- > plugin:install > ... > etc. > > Now, if you just want to compile your project, you simply call the > 'compile' phase, like this: > > mvn compile > > If you want to run the unit tests, call this: > > mvn test > > Note that in order to run unit tests, you must have compiled your > project's main sources. That's handled here, since the test phase is > later in the lifecycle than the compile phase...'test' implies > 'compile' and all the other phases (in order) that come before 'test'. > > On the other hand, Maven also supports certain one-off goals that are > usually meant to help manage the project build in certain special > cases, or give information about the build. One such example gives > you a glimpse of the POM after all inheritance and profile injection > has been completed: > > mvn help:effective-pom > > which is shorthand for: > > mvn org.apache.maven.plugins:maven-help-plugin:effective-pom > > > Hope that helps, > > -john > > On Feb 7, 2008, at 4:50 PM, Dhruva Reddy wrote: > > > I know this seems like a silly thing to post on here, but... > > > > What exactly is a goal and what is a phase? I can't find a good > > answer in the documentation and there's a lot of seemingly > > conflicting information out there. > > > > My current understanding is that a phase is a part of a lifecycle > > (process-resources, compile, etc). A goal is somewhat analogous to > > an ANT-task, but with a focus on what should happen, rather than > > how it is done. > > > > Can someone clear this up for me, giving examples? > > > > Thanks, > > Dhruva > > --- > John Casey > Committer and PMC Member, Apache Maven > mail: jdcasey at commonjava dot org > blog: http://www.ejlife.net/blogs/john > rss: http://feeds.feedburner.com/ejlife/john > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >