...
- 1a - Source conformant to m2 standards (files and packages) + tweak build.xml
- This was checked-into svn:fedora/trunk.rev.8076
- The basic structure of maven has been created (src/main/java, src/test/java, etc)
- The renaming of packages based on Maven-central's requirements will happen at the very end of this whole effort
- 1b - Get poms for all dependencies
- Based on the jars in the /lib dir, a simple install script pushes them into the local repository
- Need to create proper *.pom and <dependency> for each artifact
- 2a - Ant-maven integration (eight subprojects) generating source and building
- This initial integration requires a minimum break-out of the following subprojects
- This is just building, unit tests turned off
- This was checked-into svn:fedora/trunk.rev.8083
- generate
- This is a small project that creates the executable stubwrapper generator
- common
- This contains 'fedora.common' package
- includes wsdl2java generation and stubwrappers
- has dependencies on '/generate'
- server
- This is the 'fedora.server' package
- has dependencies on '/common'
- client
- This is the 'fedora.client' package
- has dependencies on both '/common' and '/server'
- integrationtest
- This is the 'fedora.test' package
- has dependencies on both '/client' and '/server'
- localservices
- This contains three sub-projects
- fop
- imagemanip
- saxon
- War files are created for all contained sub-projects when running
mvn clean install
- This contains three sub-projects
- democontent
- This creates a war file (fedora-demo.war) containing only demo content (no application code)
- installer
- This project has no source java files of its own
- It uses the 'assembly' plugin to aggregate other artifacts into
fedora-installer.jar
- To create
fedora-installer.jar
, run:mvn clean install -P fedora-installer
- generate
- 2b - All maven unit tests (test inventory)
- This was checked-into svn:fedora/trunk.rev.8086
- generate
- common
- server
- client
- integrationtest
- No unit tests here by definition
- This was checked-into svn:fedora/trunk.rev.8086
- 2c - All maven integration tests (test inventory)
- Like the system tests previously provided in the ANT tests (ConfigA/B/Q), for now, the Maven2 integration tests will require a pre-started application server.
- Because integration tests are run during the default build lifecycle of Maven2, you must pass the following flag at build-time to disable the running of integration tests ('integration.test.skip')
mvn clean install -Dintegration.test.skip=true
...
The following are some useful commands in working with the Fedora Maven2 builds
- No longer needed Until dependencies are found in a public repository, the following script needs to be run
./resources/scripts/installLibs.sh
mvn clean install
- builds all source code
- runs all unit & integration tests
mvn install -Dintegration.test.skip=true
- runs all unit tests
- skips all integration tests
mvn install -Dmaven.test.skip=true
- skips all unit tests
Wiki Markup {{mvn integration-test \-P config\[A\|B\|Q\]}}
- runs system tests per given configuration
mvn install -P fedora-installer
- generates fedora-installer.jar
- found in /installer/target
...