Ticket #96 (closed task: fixed)

Opened 9 years ago

Last modified 9 years ago

Migrate LOCI repositories to Maven

Reported by: curtis Owned by: curtis
Priority: critical Milestone: biweekly-2010: Sep-07 to Sep-17
Component: Build System Version:
Severity: non-issue Keywords:
Cc: Blocked By:
Blocking:

Description

Currently we use custom Ant scripts for the LOCI Java Software repository. We also have several other repositories including the ImageJDev work, and miscellaneous LOCI tools. The goal is to unify the build process for all of these tools using Maven.

Change History

comment:1 Changed 9 years ago by curtis

  • Owner set to curtis
  • Status changed from new to assigned

comment:2 Changed 9 years ago by curtis

  • Status changed from assigned to accepted

comment:3 Changed 9 years ago by curtis

  • Priority changed from critical to major

comment:4 Changed 9 years ago by curtis

  • Priority changed from major to critical
  • Severity changed from serious to non-issue
  • Milestone changed from biweekly-2010: Jun-28 to Jul-09 to biweekly-2010: Jul-12 to Jul-23

comment:5 Changed 9 years ago by curtis

  • Milestone changed from biweekly-2010: Jul-12 to Jul-23 to biweekly-2010: Jul-26 to Aug-06

comment:6 Changed 9 years ago by curtis

Relevant Maven articles:

Miscellaneous:

  • Establish a LOCI Maven repository
  • Move mpicbg/imglib/test code into test subtree
  • What does Fiji's bin/maven.sh script do?

comment:7 Changed 9 years ago by curtis

  • Milestone changed from biweekly-2010: Jul-26 to Aug-06 to biweekly-2010: Aug-09 to Aug-20

I did a lot of work toward this ticket in the last few days, culminating in a Maven branch ( loci-java:r6776), but there is still more to be done. However, much of it is mechanical: relocating directory subtrees and defining pom.xml metadata for the remaining LOCI Java software projects. Then we can move on to the ImageJ repositories.

comment:8 Changed 9 years ago by curtis

Several more projects have been migrated to Maven:

  • flow-cytometry
  • ome-io
  • ome-plugins
  • slim-plotter
  • utils
  • visbio

In addition, a new jar2lib Maven project was created.

However, the following projects still need to be migrated:

  • autogen
  • bf-ice
  • checkstyle
  • test-suite
  • jvmlink (legacy)
  • multi-lut (legacy)
  • ome-editor (legacy)
  • ome-notes (legacy)
  • imagej (in git)
  • imglib (in git)

Also, the following tasks still remain:

  • Get TestNG-based unit tests working
  • Create assemblies for loci_tools.jar and ome_tools.jar
  • Migrate Bio-Formats command line tools to bio-formats/src/main/scripts
  • Resolve filtering issues (e.g., "@year@") with the source code (use  resource filtering?)
  • Eliminate scan-deps.pl (dependency:analyze target?)
  • Find a way to create distribution bundles (e.g., VisBio's "ant dist" target) for binary releases (appassembler plugin?)
  • Produce appropriate Eclipse settings (e.g., ignore warnings for forked projects) when using the  eclipse plugin
  • Research  using Maven with native libraries (e.g., to convert decon repository to Maven)
  • Write developer documentation explaining how to use Maven (e.g., how to use m2eclipse & extras to work with Maven projects in Eclipse)
  • Consider posting the output of Maven's site:site target to dev.loci.wisc.edu
  • Develop a better style checking procedure (look into the  checkstyle plugin's predefined rulesets or create our own, and develop a set of Eclipse auto-formatting rules to match)
  • Develop better code coverage analysis (e.g., Cobertura & Clirr; see  Better Builds with Maven, Chapter 6)

Once the projects listed above have been migrated, I will close this ticket, and create a separate ticket for each of the above tasks with appropriate prioritization.

comment:9 Changed 9 years ago by curtis

The tasks mentioned above have been filed as separate tickets:

  • #155: get TestNG-based unit tests working
  • #156: create assemblies for loci_tools.jar and ome_tools.jar
  • #157: migrate Bio-Formats command line tools
  • #158: resolve filtering issues
  • #159: eliminate scan-deps.pl script
  • #160: find a way to create distribution bundles
  • #161: better Eclipse project metadata
  • #162: research use of Maven with native libraries
  • #163: write developer documentation on Maven best practices
  • #164: post site:site output online
  • #165: better style checking procedure
  • #166: better code coverage analysis

comment:10 Changed 9 years ago by curtis

  • Milestone changed from biweekly-2010: Aug-09 to Aug-20 to biweekly-2010: Aug-23 to Sep-03

comment:11 Changed 9 years ago by curtis

  • Component changed from other to build

comment:12 Changed 9 years ago by curtis

The imagej project has been migrated from Git to SVN, and a Maven version exists on the ijx branch as of r1364.

comment:13 Changed 9 years ago by curtis

More Maven conversions:

comment:14 Changed 9 years ago by curtis

Migration of imglib to Maven is more involved and now has a separate ticket: #184.

comment:15 Changed 9 years ago by curtis

More Maven conversions:


comment:16 Changed 9 years ago by curtis

More Maven conversions:

  • imagej (trunk): 5edb0e269f08a596c926bc171d516f7b3f85631f
  • test-suite:  loci-java:r6908

Remaining projects:

  • autogen
  • bf-ice

comment:17 Changed 9 years ago by curtis

  • Status changed from accepted to closed
  • Resolution set to fixed

Maven version of autogen package added in  loci-java:r6914. However, the package is out of date and thus needs updating (see ticket #200). The bf-ice package has been removed for the time being, as it was extremely out of date anyway (see also  loci-java:#304).

Still lots of work to be done on the Maven front, but the projects are all migrated, so I'm closing the ticket. Next up is merging with trunk: #201.

Note: See TracTickets for help on using tickets.