Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • (tick) 1a - Source conformant to m2 standards (files and packages) + tweak build.xml
    1. This was checked-into svn:fedora/trunk.rev.8076
    2. The basic structure of maven has been created (src/main/java, src/test/java, etc)
    3. The renaming of packages based on Maven-central's requirements will happen at the very end of this whole effort
  • (tick) 1b - Get poms for all dependencies
    1. Based on the jars in the /lib dir, a simple install script pushes them into the local repository
    2. Need to create proper *.pom and <dependency> for each artifact
  • (tick) 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
      1. (tick) generate
        • This is a small project that creates the executable stubwrapper generator
      2. (tick) common
        • This contains 'fedora.common' package
        • includes wsdl2java generation and stubwrappers
        • has dependencies on '/generate'
      3. (tick) server
        • This is the 'fedora.server' package
        • has dependencies on '/common'
      4. (tick) client
        • This is the 'fedora.client' package
        • has dependencies on both '/common' and '/server'
      5. (tick) integrationtest
        • This is the 'fedora.test' package
        • has dependencies on both '/client' and '/server'
      6. (tick) localservices
        • This contains three sub-projects
          • fop
          • imagemanip
          • saxon
        • War files are created for all contained sub-projects when running mvn clean install
      7. (tick) democontent
        • This creates a war file (fedora-demo.war) containing only demo content (no application code)
      8. (tick) 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
  • (tick) 2b - All maven unit tests (test inventory)
    • This was checked-into svn:fedora/trunk.rev.8086
      1. (tick) generate
      2. (tick) common
      3. (tick) server
      4. (tick) client
      5. (tick) integrationtest
      • No unit tests here by definition
  • (tick) 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

  1. (tick)No longer needed Until dependencies are found in a public repository, the following script needs to be run
    • ./resources/scripts/installLibs.sh
  2. mvn clean install
    • builds all source code
    • runs all unit & integration tests
  3. mvn install -Dintegration.test.skip=true
    • runs all unit tests
    • skips all integration tests
  4. mvn install -Dmaven.test.skip=true
    • skips all unit tests
  5. Wiki Markup
    {{mvn integration-test \-P config\[A\|B\|Q\]}}
    • runs system tests per given configuration
  6. mvn install -P fedora-installer
    • generates fedora-installer.jar
    • found in /installer/target

...