Powered By Blogger

Sunday, October 1, 2017

Maven LifeCyle

Build LifeCylce:
Maven lifeCyle will have steps or phases

Maven has 3 built inLifecyles

    default(jar, war) . It has 23 phases.
    clean
site

 mvn help:describe -Dcmd=clean
   [INFO] 'clean' is a lifecycle with the following phases:
   * pre-clean: Not defined
   * clean: org.apache.maven.plugins:maven-clean-plugin:2.5:clean
   * post-clean: Not defined


 mvn help:describe -Dcmd=site
   [INFO] 'site' is a lifecycle with the following phases:
   * pre-site: Not defined
   * site: org.apache.maven.plugins:maven-site-plugin:3.3:site
   * post-site: Not defined
   * site-deploy: org.apache.maven.plugins:maven-site-plugin:3.3:deploy


Each Lifecycle will have its own phases.
  goal will bind to particular phase.(method). Some action will be performed for each goal.

When lifecycle gets executes then goals will be used.


We excute phases from command line
mvn clean install



Getting the help of a page

mvn help:describe -Dcmd=deploy
It is a part of the lifecycle for the POM packaging 'jar'. This lifecycle includes the following phases:
* validate: Not defined
* initialize: Not defined
* generate-sources: Not defined
* process-sources: Not defined
* generate-resources: Not defined
* process-resources: org.apache.maven.plugins:maven-resources-plugin:2.6:resources
* compile: org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
* process-classes: Not defined
* generate-test-sources: Not defined
* process-test-sources: Not defined
* generate-test-resources: Not defined
* process-test-resources: org.apache.maven.plugins:maven-resources-plugin:2.6:testResources
* test-compile: org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile
* process-test-classes: Not defined
* test: org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
* prepare-package: Not defined
* package: org.apache.maven.plugins:maven-jar-plugin:2.4:jar
* pre-integration-test: Not defined
* integration-test: Not defined
* post-integration-test: Not defined
* verify: Not defined
* install: org.apache.maven.plugins:maven-install-plugin:2.4:install
* deploy: org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy



mvn help:describe -Dcmd=package
[INFO] 'package' is a phase corresponding to this plugin:
org.apache.maven.plugins:maven-jar-plugin:2.4:jar

It is a part of the lifecycle for the POM packaging 'jar'. This lifecycle includes the following phases:
* validate: Not defined
* initialize: Not defined
* generate-sources: Not defined
* process-sources: Not defined
* generate-resources: Not defined
* process-resources: org.apache.maven.plugins:maven-resources-plugin:2.6:resources
* compile: org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
* process-classes: Not defined
* generate-test-sources: Not defined
* process-test-sources: Not defined
* generate-test-resources: Not defined
* process-test-resources: org.apache.maven.plugins:maven-resources-plugin:2.6:testResources
* test-compile: org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile
* process-test-classes: Not defined
* test: org.apache.maven.plugins:maven-surefire-plugin:2.12.4:test
* prepare-package: Not defined
* package: org.apache.maven.plugins:maven-jar-plugin:2.4:jar
* pre-integration-test: Not defined
* integration-test: Not defined
* post-integration-test: Not defined
* verify: Not defined
* install: org.apache.maven.plugins:maven-install-plugin:2.4:install
* deploy: org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy



Get effective POM
mvn help:effective-pom

Goals And Plugins

Goals - can be considered as tasks - equivalent to methods
Plugins will have multiple goals - equivalent to  Class

Seeing plugin details
mvn help:describe -Dplugin=compiler

Executing goal/phases of plugin
mvn compliler:compile
mvn compliler:testCompile
mvn compiler:help -Ddetail=true -Dgoal=compile


plugin can be called by either specifying the direct goal or the phase for which its been tied to.