You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 12 Next »

Table of Contents

One of the things we have been meaning to do is convert our build framework over from ANT to Maven2.
The time has come, and the work is in-progress (jira:fcrepo-394).

The basic strategy was laid out in our last face-to-face committers' meeting in Ithaca.
As you can see, there are a few things that need to be done. If you are interested in helping, I would be very happy to coordinate efforts. Send me an email, Andrew Woods.

Approach

Since moving to Maven2 requires significant restructuring of the baseline directories, we want to make small, incremental changes back to svn/trunk so that the on-going fedora development does become too far seperated. This means that the ANT builds must continue to work as the baseline becomes incrementally transformed.

Progress/Status

(warning) Not yet
(info) Partial
(tick) Complete

  • (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
  • (info) 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
  • (warning) 2 - Ant-maven integration (two subprojects) with main goal of installer.jar
    • This initial integration requires
  • (warning) 3 - m2-only (initial split-out)
    • (info) repository
      1. This currently is the bulk of the source-code
    • (info) soap
      1. This is the code generation project, all within the context of web-services/soap
      2. wsdl2java generation and stubwrappers
    • Admin Client
    • Java Client API
    • Server Webapp
    • Installer
    • (Old GUI)
    • New GUI
  • (warning) 4 - Split out server modules as projects
  • (warning) 5 - Rename packages based on Maven-central's requirements

To Revisit

  1. Currently, all of the maven dependencies are in the top-level pom.xml
    1. They need to be surgically pushed down to their approapriate subproject pom.xml
    2. Their dependency declaration needs to point to the proper version on maven-central, not the locally created artifact
  2. The continued need for each junit suite aggregator class needs to be re-evaluated
  3. Unit test naming conventions need to be
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))
  • No labels