Ticket #813 (closed enhancement: fixed)

Opened 7 years ago

Last modified 7 years ago

Provide a way for Fiji's Build System to handle our pom.xml files without starting Maven

Reported by: dscho Owned by: dscho
Priority: minor Milestone: imagej2-b2-bugfixes
Component: Other Version:
Severity: minor Keywords:
Cc: Blocked By:


The Fiji Build system (which is also used in the Script Editor for multi-file Java projects) is meant to be quite light-weight, yet we want it to handle IJ2, too (and eventually Mavenize the whole of Fiji).

Provide a simple class that can parse our pom.xml files (which are not really all that complicated) and perform two tasks: build the corresponding .jar files and run IJ2.

Change History

comment:1 Changed 7 years ago by dscho

Progress. The Fiji Build system has now gained a MiniMaven class which parses the pom.xml file hierarchy and can process the projects. The Fiji Build system automatically uses MiniMaven to build .jar files when it finds a pom.xml (but no Fakefile) in a submodule.

The MiniMaven class can actually do more, so the Fiji launcher also got the option --mini-maven. It can download the dependencies of, build, and run ImageJ (except for some VerifyError on _some_ setups, probably due to Javassist having problems with my ij.jar).

comment:2 Changed 7 years ago by curtis

With the changes to system classpath vs. runtime classpath, the VerifyErrors are fixed now, aren't they?

Also, for the MiniMaven flag you could use just "--maven" instead since it is shorter to type.

comment:3 Changed 7 years ago by dscho

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

The VerifyErrors are indeed fixed now, and I can use Fiji Build to compile ImageJA (thanks to its new and shiny pom.xml), Image 5D, and the --mini-maven flag to compile IJ2.

There is still some work to do to build and install all IJ2 .jar files in one go, but that is more a Fiji ticket than anything else.

As to the name --maven, usually I would agree, but in this case, I would like to keep the "mini" as both a reminder to myself that I will not repeat the mistake of writing my own Make replacement again, and a reminder that Fiji Build needs to learn how to compile and install a bunch of .jar files from a catch-all pom.xml (such as IJ2's top-level one).

comment:4 Changed 7 years ago by bdezonia

  • Milestone changed from imagej-2.0.0-beta4 to imagej-2.0.0-beta2
Note: See TracTickets for help on using tickets.