maven build for netcdf-java

John Caron caron at unidata.ucar.edu
Wed Aug 16 12:17:46 MDT 2006


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
==============================================================================



More information about the Netcdf-java mailing list