NOTICE! This is a static HTML version of a legacy ImageJ Trac ticket.

The ImageJ project now uses GitHub Issues for issue tracking.

Please file all new issues there.

Ticket #96 (closed task: fixed)

Opened 2010-06-21T14:40:40-05:00

Last modified 2010-09-10T17:04:08-05:00

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 2010-06-21T14:50:35-05:00 by curtis

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

comment:2 Changed 2010-06-28T16:15:02-05:00 by curtis

  • Status changed from assigned to accepted

comment:3 Changed 2010-06-29T12:35:32-05:00 by curtis

  • Priority changed from critical to major

comment:4 Changed 2010-07-09T10:15:40-05:00 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 2010-07-26T10:31:00-05:00 by curtis

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

comment:6 Changed 2010-07-29T16:05:43-05:00 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 2010-08-06T18:01:03-05:00 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 2010-08-20T14:23:06-05:00 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 2010-08-23T12:02:42-05:00 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 2010-08-23T12:03:29-05:00 by curtis

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

comment:11 Changed 2010-08-31T11:51:51-05:00 by curtis

  • Component changed from other to build

comment:12 Changed 2010-09-03T17:36:16-05:00 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 2010-09-06T22:19:23-05:00 by curtis

More Maven conversions:

comment:14 Changed 2010-09-06T22:23:37-05:00 by curtis

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

comment:15 Changed 2010-09-06T23:52:51-05:00 by curtis

More Maven conversions:

[NB: This Maven work never migrated to GitHub. See openmicroscopy/bioformats@58b2f9f5d9 for later Mavenization.]


comment:16 Changed 2010-09-09T16:55:34-05:00 by curtis

More Maven conversions:

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

[NB: The test-suite Maven work never migrated to GitHub. See openmicroscopy/bioformats@58b2f9f5d9 for later Mavenization.]

Remaining projects:

  • autogen
  • bf-ice

comment:17 Changed 2010-09-10T17:04:08-05:00 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).

[NB: The test-suite Maven work never migrated to GitHub. See openmicroscopy/bioformats@58b2f9f5d9 for later Mavenization.]

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.