Ticket #813 (closed enhancement: fixed)
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: | ||
Blocking: |
Description
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:2 Changed 8 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 8 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).
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).