Announcing ImageJ 1.x on Maven Central

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Announcing ImageJ 1.x on Maven Central

dscho
Hi all,

this announcement is of primary interest to plugin developers. As many of
you know, the ImageJ2 and Fiji projects use a system called "Maven" to
manage builds and third-party libraries, primarily because it is *the*
standard to define Java projects' metadata.

Maven comes with quite a few benefits: by having a standardized way to
define your project's properties (in a file called pom.xml), independent
tools can parse those properties. Integrated Development Environments such
as Eclipse and Netbeans can interpret the project metadata, too, allowing
you to choose whichever development tools you like no matter what your
colleagues use to develop the same software.

There is further benefit for the developers in using Maven: it offers you
to *declare* rather than *define*.

For example, instead of specifying the command and the URL to download a
specific software library and another command to compile the software and
yet another command to package it, you declare that your project has a
dependency thusly:

        <dependency>
                <groupId>net.imagej</groupId>
                <artifactId>ij</artifactId>
                <version>1.48r</version>
        </dependency>

It is then the development environment's job to figure out how to build or
download the dependency.

As of yesterday, the example above is sufficient: there is a default
location where Maven looks for so-called artifacts (identified by their
groupId/artifactId/version triplet) named "Maven Central". Version 1.48r
is available from there, and future versions will be available from there,
too, built & uploaded by our trusty Jenkins server.

Another benefit for the users: Not only is ij.jar uploaded, but also the
sources and the Javadoc:

        https://oss.sonatype.org/index.html#nexus-search;gav~~ij

This means that your tools can easily access the Javadoc and sources when
-- and if! -- needed (and they will match the exact version of the library
you are using, too). In Eclipse, for example, you simply right-click on
the respective entry in the "Maven Dependencies" and choose to download
the sources and/or Javadocs. This comes in *real* handy when developing
and particularly when debugging.

Ciao,
Johannes

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html