...
They need to be surgically pushed down to their appropriate subproject pom.xml
- An initial push down is complete though
Their dependency declarations need to point to the proper version on maven-central, not the locally created artifact
- All of the artifacts that can be resolved to maven-central without selected new versions is complete
- Additional validation is needed especially to ensure that conflicts do not cause problems
Libraries which cannot be resolved to maven-central need to added to the Duraspace Mave repository (under thirdparty)
Libraries which are supplied by Duraspace projects need to be added to the Duraspace Maven repository (under releases)
The Duraspace Maven repository public groups need to be revised to NOT mirror maven-central or other public repositories
- The continued need for each junit suite aggregator class needs to be re-evaluated
- Unit test naming conventions need to be standardized (since maven invokes them based on a regex at different build phases)
- unit-test: '**/*Test.class'
- integration-test: '**/Test*.class'
Unit/system/integration tests used to fall under 'fedora.test'
- now that they have been split across subprojects ('server', 'client', 'integrationtest'), they are not aggregated with a single call (i.e. fedora.test.AllUnitTests)
- a fix to this issue would only be needed as long as we continue to use ANT, Maven2 has its own test aggregation
Build number & timestamp needed for artifact names and manifest files
client.jar
- needs 'fedora.version' in filename and manifest
- needs 'build.tstamp' in manifest
- The following is a plugin that should do the trick
- It should be configured in the top-level /pom.xml and /client/pom.xml
- http://mojo.codehaus.org/buildnumber-maven-plugin/index.html
- The build number plug-in fails if the SCM is unavailable or is not installed on the host platform. A <revisionOnScmFailure> parameter has been added to set a default build number. A warning is still shown during build but the build runs properly to completion. The default build number has been set to the "version" of the fedora-repository pom assuming that pom's version will eventually match a current or planned release.
- Refactor fedora.test.FedoraTestCase.java into two classes (one dependent on '/server' and one on '/client') so tests the inherit from it can be pushed back down from '/integrationtest' to their respective projects.
- fedora.test.integration.cma.SimpleDeploymentTests has a bug. See source file for details.
- In creating fedorahome.zip, deploy and undeploy *.wsdd files are token-swapped (e.g. 'Fedora-API-M-Port-SOAPHTTP' to 'management').
- This mangles token instances such as 'Fedora-API-M-Port-SOAPHTTP S'. This is a pre-existing bug.
Script needs to be written to support Maven Bamboo CI build
The file
server/src/main/resources/properties/lib.properties
may be a candidate for removal as it was tied to the Ant build- Libraries listed in
server/src/resource/properties/install.properties
do not automatically update with library updates and duplicate information in the pom which does not benefit from pom dependency checkingUpdated to be consistent with Maven dependencies but still requires manual editing
- Split client into four modules in a branch (See Item 3 Above). Keep them under a client subdirectory.
- Swing Client
- FedoraClient Jar
- Messaging Client
- WebAdmin Client
- Experiment with saxon, fop and imagemanip stored under a localservices directory but being dependencies of fedora-repository. This may help Eclipse since each local service is a standalone, deployable war.
...