Last modified 16 years ago
Last modified on 01/22/09 12:06:16
Analysis
Overview
Maven must continue to build Sophie 2.0, run tests and generate reports.
Task requirements
- Describe how to add new report plugin in PLATFORM_DEPLOYMENT_BUILD_MAVEN
- Improve the assembly plugin we use for building. Optional: generate zip files for the different editions.
- The mvn site command should end with successful generation of the reports.
- Go through the base pom.xml file, correct the mistakes and refresh it with the new information(add the developer names for example).
Task result
- Updated PLATFORM_DEPLOYMENT_BUILD_MAVEN
- Correctly edited base pom.xml.
- New sophie2-platform distribution.
Implementation idea
- Add information about the new developers to the trunk/sophie2-platform/pom.xml
- Describe the new profiles(hudson and jspcompile) in the PLATFORM_DEPLOYMENT_BUILD_MAVEN. Mention the reports section where the report plugins should go.
- Add argLine configuration for the reports where needed so the mvn site can work correctly.
Related
PLATFORM_DEPLOYMENT_BUILD_ECLIPSE_R1
PLATFORM_DEPLOYMENT_BUILD_MAVEN_R0
BUILD_SERVER_REPORTS_R0
How to demo
- Demonstrate the assembly goal and what it generates.
- Show updated PLATFORM_DEPLOYMENT_BUILD_MAVEN.
- Show the edited pom.xml.
Design
- Not in the requirements but important: research how to make local maven repository is made. Nexus is one good repository manager and it uses jetty server for running. More info at http://books.sonatype.com/maven-book/reference/repository-manager-sect-running-nexus.html. We can set up Nexus on our sophie2.org server and use it as our internal maven repository.
- Nexus should be installed and set up following the instructions in the designated tutorial.
- Configuration in the base pom.xml should be added so the first package repository will be our internal repository.
- mvn site works only if the MAVEN_OPTS variable described in the maven doc is set correctly. Also we should add sourcepath, javadocVersion and failOnError configurations for the javadoc plugin. Their values are as follows ${basedir}/src/main/java, 1.5 and false. The forkMode and argLine are not needed as long as the MAVEN_OPTS is set up correctly.
- Information about profiles, reports and eclipse 'Maven build...' option is added in PLATFORM_DEPLOYMENT_BUILD_MAVEN.
- There should be added configuration files in src/assembly different for server and author editions. They should be added as descriptors in base pom.xml - maven-assembly-plugin configuration.
Implementation
- Nexus is set up on: sophie2.org:8081/nexus
- mvn site is working now when you set up your MAVEN_OPTS as it is described in PLATFORM_DEPLOYMENT_BUILD_MAVEN
- assembly plugin generates three directories with the author edition, the server edition and the sophie2-platform. The changeset is 1431.
There is problem with the dependencies for zip generation - they are repeated many times in the arhive. For now there will be only folders with the editions.
- The command is 'mvn assembly:directory'
Testing
Comments
(Write comments for this or later revisions here.)