[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

maven build for netcdf-java



Sorry, please discard last email, i sent it before it was complete.

Graham Leggett wrote:

On Tue, August 15, 2006 10:32 pm, John Caron wrote:

No, we looked at moving our builds to maven, and decided for now not to.
We did layout our directories in maven compatible way (I hope). Im
assuming isn not too hard, but dont have time now. Any maven gurus who'd
like to create a maven build file for us?


Hosted in a maven repository != build with maven. :)
Ahh! very good!

All that is involved, is that the published jars of the netcdf-java
project be uploaded to the right place in the
http://www.ibiblio.org/maven2 website, and the dependencies for
netcdf-java are declared correctly in a descriptor file.
Is it easy to host our own jar files, or do you need to use www.ibiblio.org?

This allows third party projects that are dependent on netcdf-java, to
simply add notice of this dependency to their pom.xml files, after which
maven automatically downloads netcdf-java and all it's dependencies
automatically for the developer. This would be a huge potential timesaver
for users of netcdf-java who build their projects with maven.
That sounds great. One question, how does versioning work around dependencies? For example, version 2.2.17 has somewhat different dependencies than 2.2.16.

I can give it a try to get the files uploaded, I just need to know the
dependency tree of the jars published by netcdf-java - ie which jars
depend specically on which other jars, both internal to netcdf, and
external (like commons-logging, etc).

Does anyone know where I might get this information for the following files:

bufr.jar
grib.jar
jdom.jar
jpeg2000.jar
netcdfUI-2.2.16.jar
prefsAll.jar
resourcesOptional.jar

I assume these are the external dependencies, is this correct?

commons-codec-1.3.jar
commons-httpclient-3.0.jar
commons-logging-1.0.4.jar
gnu-regexp-1.1.4.jar
slf4j-jdk14.jar
visadNoDods.jar
xercesImpl.jar
xml-apis.jar
nlog4j-1.2.21.jar
ok, heres the scoop for version 2.2.16:

We create the following jar files:

ncCore-2.2.16.jar        just the core netcdf-java classes
netcdf-2.2.16.jar complete netcdf-java, except for the UI and optional libraries netcdfUI-2.2.16.jar complete netcdf-java including the UI, without optional libraries toolsUI-2.2.16.jar complete netcdf-java including the UI and optional libraries
nc2.2.jar                library that can be used in the IDV

The optional libraries:

bufr.jar                    required to read Bufr datasets
commons-httpclient          required to read files remotely over HTTP
commons-logging, codec      required by commons-httpclient
gnu-regexp required by dods; dods library itself is now directly contained in netcdf
grib.jar                    required to read Grib-1 or Grib-2 datasets
jdom.jar required to read thredds catalogs, and read NcML jpeg2000.jar required to read Grib-2 JPEG2000 compressed files nlog4j.jar log4j logging. Alternately, you can use any slf4j implementation. visadNoDods.jar required to read ADDE datasets; this version has the dods libraries removed xercesImpl.jar required to validate thredds catalogs (jdk 1.4 only)
xml-apis.jar                required by xerces library

prefsAll.jar required for UI state persistence, related widgets
resourcesOptional.jar       optional detailed maps and tables

The dependencies are somewhat complicated by that fast that you can leave out the optional libraries if you dont need the feature. In what follows I will assume you want all the optional features. So a dependency graph would be:

library depends on ncCore-2.2.16.jar none
toolsUI-2.2.16.jar       none, its all in one big jar
nc2.2.jar                none other than whats already in the IDV

netcdf-2.2.16.jar bufr, commons-httpclient-3.0, gnu-regexp-1.1.4, grib.jar, jdom.jar, visadNoDods.jar, slf4j-jdk14.jar xercesImpl.jar (jdk1.4 only) netcdfUI-2.2.16.jar same as netcdf-2.2.16.jar, plus prefsAll.jar, resourcesOptional.jar, nlog4j-1.2.21

grib.jar jpeg2000.jar xercesImpl.jar xml-apis.jar
commons-httpclient       commons-logging-1.0.4, commons-codec-1.3


Feel free to do whatever subset seems right. Possibly for maven development its sufficient to do just netcdf-2.2.16.jar and netcdfUI-2.2.16.jar?

In any case, thanks!

John

===============================================================================
To unsubscribe netcdf-java, visit:
http://www.unidata.ucar.edu/mailing-list-delete-form.html
===============================================================================