mirror of https://github.com/apache/maven.git
o reformatted with footnote markers to keep lifecycle spec's cleaner and keep a more verbose explanation separate.
git-svn-id: https://svn.apache.org/repos/asf/maven/components/trunk@163048 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
4e17a1646d
commit
5367b7ee28
|
@ -8,27 +8,21 @@ Maven Lifecycle
|
||||||
|
|
||||||
* Single goal
|
* Single goal
|
||||||
|
|
||||||
- session lifecycle
|
- session lifecycle+
|
||||||
|
|
||||||
- POM reading: we always attempt to read the POM but it may not be
|
|
||||||
present because some goals don't require the presence of a POM like
|
|
||||||
stub generation, project setup or whatever. So we can flag this state
|
|
||||||
and throw an exception down the line if a goal in fact requires a
|
|
||||||
project, or if there is a POM when there shouldn't be one.
|
|
||||||
|
|
||||||
- dep resolution (if POM present)
|
- dep resolution (if POM present)
|
||||||
|
|
||||||
- dep download
|
- dep download++
|
||||||
|
|
||||||
- each downloaded dep is registered in MavenSession to track
|
- each downloaded dep is registered in MavenSession to track
|
||||||
snapshot downloads
|
snapshot downloads
|
||||||
|
|
||||||
- goal lifecycle
|
- goal lifecycle
|
||||||
|
|
||||||
- goal resolution (we assume here only one goal is resolved)
|
- goal resolution (we assume here only one goal is resolved) +++
|
||||||
|
|
||||||
- download plugin for goal if necessary
|
- download plugin for goal if necessary
|
||||||
|
|
||||||
- goal execution
|
- goal execution
|
||||||
|
|
||||||
* Multiple goals
|
* Multiple goals
|
||||||
|
@ -50,11 +44,26 @@ Maven Lifecycle
|
||||||
|
|
||||||
* is there a case where a goal should in fact be executed twice in a
|
* is there a case where a goal should in fact be executed twice in a
|
||||||
session? Something like "m2 clean foo clean"
|
session? Something like "m2 clean foo clean"
|
||||||
|
|
||||||
|
- DAG (or DAG-like process) is used for goal resolution, which
|
||||||
|
should ensure that only explicit multi-calls execute multiple
|
||||||
|
times.
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
|
|
||||||
* Goal Resolution: Involves resolving all implied goals (via prereqs, pre-
|
* +POM reading: we always attempt to read the POM but it may not be
|
||||||
and post-goal decorations, and resolving/downloading any associated
|
present because some goals don't require the presence of a POM like
|
||||||
plugins. Plugin download must be a utility used by this, to ensure that
|
stub generation, project setup or whatever. So we can flag this state
|
||||||
any resolved goals can have their associated plugins downloaded.
|
and throw an exception down the line if a goal in fact requires a
|
||||||
|
project, or if there is a POM when there shouldn't be one.
|
||||||
|
|
||||||
|
* ++Artifact downloading: all artifacts downloaded during session
|
||||||
|
execution should be registered in a session-scope collection of id's
|
||||||
|
to avoid multiple download of -SNAPSHOT and other artifacts.
|
||||||
|
|
||||||
|
* +++Goal Resolution: Involves resolving all implied goals (via prereqs,
|
||||||
|
pre- and post-goal decorations, and resolving/downloading any associated
|
||||||
|
plugins. Plugin download must be a utility used by this, to ensure that
|
||||||
|
any goals - specified or resolved - have their associated plugins
|
||||||
|
downloaded.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue