diff --git a/multiproject/project.xml b/multiproject/project.xml index c16dbcf0..083aed49 100644 --- a/multiproject/project.xml +++ b/multiproject/project.xml @@ -4,7 +4,7 @@ ${basedir}/../project.xml maven-multiproject-plugin Maven Multi-Project Plug-in - 1.0 + 1.1-SNAPSHOT A plugin to handle the building of multiple projects within maven Multi-Project Plugin for Maven http://maven.apache.org/reference/plugins/multiproject/ diff --git a/multiproject/xdocs/current/changes.xml b/multiproject/xdocs/current/changes.xml new file mode 100644 index 00000000..e8c0b4a7 --- /dev/null +++ b/multiproject/xdocs/current/changes.xml @@ -0,0 +1,42 @@ + + + + Changes + dIon Gillard + + + + + + + + + update to velocity 1.4-dev + + + Change from ${basedir}/multiproject/navigation.xml to ${maven.docs.src}/navigation.xml + as the nav source for user supplied nav templates + + + Bad j:set tags fixed + + + Made aggregation directory configurable, use artifactId instead of + name for creating site directories / URLs. + + + Updated multiproject:site to automate navigation generation for all projects + + + Added multiproject 'install', 'install-snapshot', 'deploy' and 'deploy-snapshot' + facility + + + Rename plugin from reactor to multiproject to reduce confusion + + + Initial creation during 1.0-beta 10 dev phase + + + + diff --git a/multiproject/xdocs/current/faq.fml b/multiproject/xdocs/current/faq.fml new file mode 100644 index 00000000..0df12336 --- /dev/null +++ b/multiproject/xdocs/current/faq.fml @@ -0,0 +1,29 @@ + + + + Using Multiproject + + When using multiproject to build subprojects, resources are not included in my artifacts. Why? + + Use ${basedir} in your subproject's POM resource section: +

+ + + + ${basedir}/src/java + + **/*.properties + + + + ]]> + +

+

+ The resources won't be included if you just specify "src/java" as directory unless maven is started from within the subproject directory. +

+
+
+
+
diff --git a/multiproject/xdocs/current/goals.xml b/multiproject/xdocs/current/goals.xml new file mode 100644 index 00000000..10af7021 --- /dev/null +++ b/multiproject/xdocs/current/goals.xml @@ -0,0 +1,111 @@ + + + + + Maven Multi-Project Plug-in Goals + dIon Gillard + Michal Maczka + + + + + + multiproject + Executes multiproject:site + + + + multiproject:artifact + + Run 'artifact':'artifact' goal for all projects. + + + + + multiproject:deploy + + Run 'artifact':install-snapshot goal for all projects. + + + + + multiproject:deploy-snapshot + + Run 'artifact':install-snapshot goal for all projects. + + + + + multiproject:goal + + Run the comma separated list of goals provided by the variable goal for all projects + e.g. + + maven -Dgoal=java:compile multiproject:goal + + or + + maven -Dgoal=clean,java:compile,test multiproject:goal + + + + + + multiproject:install + + Run 'artifact':install goal for all project. +
+ 'artifact' is replaced by the value of property + maven.multiproject.type which should be set + individualy for each project. +
+ E.g. if we have projects A, B and C + with following settiing: +
    +
  1. A: maven.multiproject.type=war
  2. +
  3. B: maven.multiproject.type=ejb
  4. +
  5. C: maven.multiproject.type=jar
  6. +
+
+ Following goals will be run: +
    +
  1. A: war:install
  2. +
  3. B: ejb:install
  4. +
  5. C: jar:install
  6. +
+
+
+ + + multiproject:install-snapshot + + Run 'artifact':install-snapshot goal for all projects. + + + + + multiproject:site + +

+ Run the site goal of all projects, generating navigation for projects processed according to the + maven.multiproject.navigation property. +

+

+ If a navigation.xml is found in ${maven.docs.src}/navigation.xml, it will + take precedence over the generated multiproject navigation. +

+
+
+ + + multiproject:clean + +

+ Run goal clean:clean for all projects +

+
+
+ +
+ +
\ No newline at end of file diff --git a/multiproject/xdocs/current/index.xml b/multiproject/xdocs/current/index.xml new file mode 100644 index 00000000..6ddf2f5a --- /dev/null +++ b/multiproject/xdocs/current/index.xml @@ -0,0 +1,26 @@ + + + + + Maven Multi-Project Plugin + dIon Gillard + + + +
+

+ This plug-in provides the ability to work with many projects via the same interface + as a single project. +

+

+ For more information on the functionality provided by this plugin, + please see the Goals document. +

+

+ For more information on how to customise the functionality provided + by this plugin, please see the properties + document. +

+
+ +
diff --git a/multiproject/xdocs/current/properties.xml b/multiproject/xdocs/current/properties.xml new file mode 100644 index 00000000..7fb0d670 --- /dev/null +++ b/multiproject/xdocs/current/properties.xml @@ -0,0 +1,141 @@ + + + + + Maven Multi-Project Plug-in Properties + dIon Gillard + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyOptional?Description
maven.multiproject.aggregateDirYes +

+ This property tells the plugin where the aggreagate sites should be copied to. +

+

+ The value is "multiproject/" by default, but you can change it to "projects/" + or "modules/" if you like. Please notice the required trailing slash. + Another option is to set this property to an empty string, which will tell + the plugin to place the sites in the root directory of the aggregating site. +

+
maven.multiproject.basedirYes +

+ This is the base directory that the plugin will use when searching for + projects to be processed. It is also the 'current directory' for relative paths +

+

+ Default value is ${basedir}. +

+
maven.multiproject.excludesYes +

+ This is the list of file specifications to be excluded when searching for + projects to be processed by the plugin +

+

Default value is the empty string.

+
maven.multiproject.ignoreFailuresYes +

+ Set this to true to allow the plugin to continue + when any project fails during processing. +

+

+ Default value is false. That means that if a project fails, + other projects will not be processed. +

+
maven.multiproject.includesYes +

+ This is the list of file specifications to be included when searching for + projects to be processed by the plugin. +

+ + The 'top-level' project that you use to run maven multiproject + must not be included in the set of projects to be processed. + +

+ Default value is */project.xml, that is all project.xml files one + directory below the base directory +

+
maven.multiproject.navigationYes +

+ This property tells the plugin how to generate navigation for the set of sites being managed. +

+

+ If the property is set to independent a navigation menu is generated with each + project's name linking to the project's URL, as specified in that project's descriptor, project.xml. +

+

+ If the property is set to aggregate a navigation menu is generated with each + project's name linking to /${maven.multiproject.aggregateDir}${project.name}/index.html. + At the completion of the multiproject:site goal, each project's generated site is copied into + the appropriate directory. e.g. if WebProject1 and JarProject2 are the names of projects + processed via multiproject:site, the project that is executing + multiproject:site will have the generated sites from + WebProject1/target/docs and JarProject2/target/docs copied into + target/docs/multiproject/WebProject1 and + target/docs/multiproject/JarProject2 respectively. +

+

+ Default value is aggregate. +

+
maven.multiproject.typeNo +

+ This property should be set for + each subproject separately. + It allows to control the type of + artifact (deliverable) which will + be built, installed or deployed by the reactor. +
+ E.g. this property is set to war + when multiproject will build the project + it will try to create artifact to attain a goal: + war:war. If it is set to ear + the goal which will deliver an artifact will be + ear:ear +

+

+ Default value is jar. +

+
+
+ +
diff --git a/multiproject/xdocs/navigation.xml b/multiproject/xdocs/navigation.xml index 9bd6b88c..31cb1cd1 100644 --- a/multiproject/xdocs/navigation.xml +++ b/multiproject/xdocs/navigation.xml @@ -16,5 +16,9 @@ + + + + diff --git a/multiproject/xdocs/releases/v1.0/changes.xml b/multiproject/xdocs/releases/v1.0/changes.xml new file mode 100644 index 00000000..c37a4083 --- /dev/null +++ b/multiproject/xdocs/releases/v1.0/changes.xml @@ -0,0 +1,39 @@ + + + + Changes + dIon Gillard + + + + + + update to velocity 1.4-dev + + + Change from ${basedir}/multiproject/navigation.xml to ${maven.docs.src}/navigation.xml + as the nav source for user supplied nav templates + + + Bad j:set tags fixed + + + Made aggregation directory configurable, use artifactId instead of + name for creating site directories / URLs. + + + Updated multiproject:site to automate navigation generation for all projects + + + Added multiproject 'install', 'install-snapshot', 'deploy' and 'deploy-snapshot' + facility + + + Rename plugin from reactor to multiproject to reduce confusion + + + Initial creation during 1.0-beta 10 dev phase + + + + diff --git a/multiproject/xdocs/releases/v1.0/faq.fml b/multiproject/xdocs/releases/v1.0/faq.fml new file mode 100644 index 00000000..0df12336 --- /dev/null +++ b/multiproject/xdocs/releases/v1.0/faq.fml @@ -0,0 +1,29 @@ + + + + Using Multiproject + + When using multiproject to build subprojects, resources are not included in my artifacts. Why? + + Use ${basedir} in your subproject's POM resource section: +

+ + + + ${basedir}/src/java + + **/*.properties + + + + ]]> + +

+

+ The resources won't be included if you just specify "src/java" as directory unless maven is started from within the subproject directory. +

+
+
+
+
diff --git a/multiproject/xdocs/releases/v1.0/goals.xml b/multiproject/xdocs/releases/v1.0/goals.xml new file mode 100644 index 00000000..10af7021 --- /dev/null +++ b/multiproject/xdocs/releases/v1.0/goals.xml @@ -0,0 +1,111 @@ + + + + + Maven Multi-Project Plug-in Goals + dIon Gillard + Michal Maczka + + + + + + multiproject + Executes multiproject:site + + + + multiproject:artifact + + Run 'artifact':'artifact' goal for all projects. + + + + + multiproject:deploy + + Run 'artifact':install-snapshot goal for all projects. + + + + + multiproject:deploy-snapshot + + Run 'artifact':install-snapshot goal for all projects. + + + + + multiproject:goal + + Run the comma separated list of goals provided by the variable goal for all projects + e.g. + + maven -Dgoal=java:compile multiproject:goal + + or + + maven -Dgoal=clean,java:compile,test multiproject:goal + + + + + + multiproject:install + + Run 'artifact':install goal for all project. +
+ 'artifact' is replaced by the value of property + maven.multiproject.type which should be set + individualy for each project. +
+ E.g. if we have projects A, B and C + with following settiing: +
    +
  1. A: maven.multiproject.type=war
  2. +
  3. B: maven.multiproject.type=ejb
  4. +
  5. C: maven.multiproject.type=jar
  6. +
+
+ Following goals will be run: +
    +
  1. A: war:install
  2. +
  3. B: ejb:install
  4. +
  5. C: jar:install
  6. +
+
+
+ + + multiproject:install-snapshot + + Run 'artifact':install-snapshot goal for all projects. + + + + + multiproject:site + +

+ Run the site goal of all projects, generating navigation for projects processed according to the + maven.multiproject.navigation property. +

+

+ If a navigation.xml is found in ${maven.docs.src}/navigation.xml, it will + take precedence over the generated multiproject navigation. +

+
+
+ + + multiproject:clean + +

+ Run goal clean:clean for all projects +

+
+
+ +
+ +
\ No newline at end of file diff --git a/multiproject/xdocs/releases/v1.0/index.xml b/multiproject/xdocs/releases/v1.0/index.xml new file mode 100644 index 00000000..6ddf2f5a --- /dev/null +++ b/multiproject/xdocs/releases/v1.0/index.xml @@ -0,0 +1,26 @@ + + + + + Maven Multi-Project Plugin + dIon Gillard + + + +
+

+ This plug-in provides the ability to work with many projects via the same interface + as a single project. +

+

+ For more information on the functionality provided by this plugin, + please see the Goals document. +

+

+ For more information on how to customise the functionality provided + by this plugin, please see the properties + document. +

+
+ +
diff --git a/multiproject/xdocs/releases/v1.0/navigation.xml b/multiproject/xdocs/releases/v1.0/navigation.xml new file mode 100644 index 00000000..9bd6b88c --- /dev/null +++ b/multiproject/xdocs/releases/v1.0/navigation.xml @@ -0,0 +1,20 @@ + + + + Maven Multi-Project Plugin + + + + + + + + + + + + + + + diff --git a/multiproject/xdocs/releases/v1.0/properties.xml b/multiproject/xdocs/releases/v1.0/properties.xml new file mode 100644 index 00000000..7fb0d670 --- /dev/null +++ b/multiproject/xdocs/releases/v1.0/properties.xml @@ -0,0 +1,141 @@ + + + + + Maven Multi-Project Plug-in Properties + dIon Gillard + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
PropertyOptional?Description
maven.multiproject.aggregateDirYes +

+ This property tells the plugin where the aggreagate sites should be copied to. +

+

+ The value is "multiproject/" by default, but you can change it to "projects/" + or "modules/" if you like. Please notice the required trailing slash. + Another option is to set this property to an empty string, which will tell + the plugin to place the sites in the root directory of the aggregating site. +

+
maven.multiproject.basedirYes +

+ This is the base directory that the plugin will use when searching for + projects to be processed. It is also the 'current directory' for relative paths +

+

+ Default value is ${basedir}. +

+
maven.multiproject.excludesYes +

+ This is the list of file specifications to be excluded when searching for + projects to be processed by the plugin +

+

Default value is the empty string.

+
maven.multiproject.ignoreFailuresYes +

+ Set this to true to allow the plugin to continue + when any project fails during processing. +

+

+ Default value is false. That means that if a project fails, + other projects will not be processed. +

+
maven.multiproject.includesYes +

+ This is the list of file specifications to be included when searching for + projects to be processed by the plugin. +

+ + The 'top-level' project that you use to run maven multiproject + must not be included in the set of projects to be processed. + +

+ Default value is */project.xml, that is all project.xml files one + directory below the base directory +

+
maven.multiproject.navigationYes +

+ This property tells the plugin how to generate navigation for the set of sites being managed. +

+

+ If the property is set to independent a navigation menu is generated with each + project's name linking to the project's URL, as specified in that project's descriptor, project.xml. +

+

+ If the property is set to aggregate a navigation menu is generated with each + project's name linking to /${maven.multiproject.aggregateDir}${project.name}/index.html. + At the completion of the multiproject:site goal, each project's generated site is copied into + the appropriate directory. e.g. if WebProject1 and JarProject2 are the names of projects + processed via multiproject:site, the project that is executing + multiproject:site will have the generated sites from + WebProject1/target/docs and JarProject2/target/docs copied into + target/docs/multiproject/WebProject1 and + target/docs/multiproject/JarProject2 respectively. +

+

+ Default value is aggregate. +

+
maven.multiproject.typeNo +

+ This property should be set for + each subproject separately. + It allows to control the type of + artifact (deliverable) which will + be built, installed or deployed by the reactor. +
+ E.g. this property is set to war + when multiproject will build the project + it will try to create artifact to attain a goal: + war:war. If it is set to ear + the goal which will deliver an artifact will be + ear:ear +

+

+ Default value is jar. +

+
+
+ +