Maven 3 Plan
Background
2010-10-07 The Vote to release Maven 3 is in progress on the maven dev list.
Documentation
- Maven Confluence Wiki Maven 3.x
- Maven 3.x and site plugin
Email Threads
- [http://markmail.org/message/4itian33hycyt4iz ] - maven dev
- [http://markmail.org/message/32j6w3xtwdjbi2h4 ] - commons dev
Site Generation
Configuration
The main issue with Maven3 are the changes to site generation. The <reporting> section no longer works - maven-site-plugin is now configured in the <plugins> section of <build> with report plugins configured in the maven-site-plugin's configuration.
Merging site configuration items from a parent POM
There's an issue with inheriting the maven-site-plugin's configuration from a parent and merging it with a components configuration - See:
- http://jira.codehaus.org/browse/MSITE-484
- http://jira.codehaus.org/browse/MNG-4856
- http://jira.codehaus.org/browse/PLXUTILS-134
At the moment (i.e. 3.0-beta-2 of the maven-site-plugin) the fix is to add combine.children="append" (See FAQs-1) - its not 100% and I don't currently know whether this is the only/permanent solution or whether the maven team is going to fix this properly. You can see an example of this here
{
<plugin> <artifactId>maven-site-plugin</artifactId> <configuration> <reportPlugins combine.children="append"> ... </reportPlugins> </configuration> </plugin>
}
Plan
- Testing
- The section below documents the tests that have been carried out
- For testing the site generation the following branches have been setup:
- Upgrade components reporting plugins to use the latest versions (doing this first means any problems with plugins can be identified and fixed first - otherwise the cause might be either the plugin or Maven 3)
- Update commons-parent
- Add reporting plugins to <dependencyManagement> section
- Site Plugin configuration - either:
- remove <reporting> section and configure maven-site-plugin in the main <build> section
- add a Maven 3 profile (automatically activated when M3 is used) with the site plugin configured - see example here
- Release commons-parent
- Release commons-sandbox-parent
- Update component pom's (if commons decides to adopt M3 support)
- Update to use new commons-parent release
- Site Plugin configuration - either:
- remove <reporting> section and configure maven-site-plugin in the main <build> section
- add a Maven 3 profile (automatically activated when M3 is used) with the site plugin configured - see example here
Testing
Test |
Comment |
Completed |
mvn -Prc clean package |
Run for all proper components - need to test Sandbox components |
2010-10-06 |
mvn -Prc clean install |
Current problem with gpg plugin |
|
mvn site |
Requires config update and plugin upgrades |
|
mvn -Ptest-deploy site |
|
|
release plugin |
|
|
Nexus Release |
|
|
mvn commons:download-page |
|
2010-10-06 |
mvn commons:mail-page |
|
2010-10-06 |
mvn commons:jira-page |
|
2010-10-06 |
mvn commons:sandbox-jira-page |
|
|
commons-build-plugin build |
currently not building |
|
mvn -Pjava-1.3 test |
uses different surefire-plugin version |
|
mvn -Pjava-1.4 test |
|
|
mvn -Pjava-1.5 test |
|
|
mvn -Pjava-1.6 test |
|
|
Commons Site |
|
|
mvn -Ptrunks-proper clean package |
|
|
mvn -Ptrunks-sandbox clean package |
|
|
mvn -Pci ??? |
|
|
|
|
|