netcdf-java for maven?

Kris Nuttycombe Kris.Nuttycombe at noaa.gov
Thu Aug 17 08:21:26 MDT 2006


Just a minor modification: in M2 you can also include the optional 
dependencies in the <dependencies> section, but each of them must 
contain the tag <optional>true</optional>.

For example:

    <dependency>
      <groupId>visad</groupId>
      <artifactId>visadNoDods</artifactId>
      <version>1.2.3</version>
      <optional>true</optional>
    </dependency>

Kris

Graham Leggett wrote:
> On Wed, August 16, 2006 8:07 pm, John Caron wrote:
>
>   
>> Is it easy to host our own jar files, or do you need to use
>> www.ibiblio.org?
>>     
>
> The current maven design uses ibiblio.org as a starting point, so while
> it's technically possible to host elsewhere, the nett effect of doing this
> means people will assume the jar is not available.
>
>   
>> 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.
>>     
>
> Each published jar defines both the name and version of each of it's
> dependencies in a "project object model" file. Should an end user indicate
> to maven that they want to use v2.2.17 instead of v2.2.16, maven downloads
> the new pom file, sees new dependencies are being used, and downloads
> those new dependencies automatically.
>
>   
>> 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:
>>
>> jar
>>
>>  library		depends on
>>   ncCore-2.2.16.jar        none
>>   netcdf-2.2.16.jar        bufr, commons-httpclient, gnu-regexp, grib.jar,
>> jdom.jar, visadNoDods.jar, xercesImpl.jar (jdk1.4 only)
>>   netcdfUI-2.2.16.jar      same as netcdf-2.2.16.jar, plus prefsAll.jar,
>> resourcesOptional.jar
>>   toolsUI-2.2.16.jar       none, its all in one big jar
>>   nc2.2.jar                none other than whats already in the IDV
>>
>>   grib.jar		   jpeg2000.jar
>>   xercesImpl.jar	   xml-apis.jar
>>   commons-httpclient 	   commons-logging, commons-codec
>>     
>
> The project I am working on uses the netcdf v2.1 jar file - do you have
> the dependancy tree of the files in the v2.1 tree?
>
> The full recipe for publishing to www.ibiblio.org is here:
> http://maven.apache.org/guides/mini/guide-ibiblio-upload.html
>
> Essentially, you submit your released packaged jar along with a pom.xml
> file, which for ncCore-2.2.16 might look like this:
>
> <project>
>   <modelVersion>4.0.0</modelVersion>
>   <groupId>edu.ucar</groupId>
>   <artifactId>ncCore</artifactId>
>   <version>2.2.16</version>
>   <packaging>jar</packaging>
>   <name>Core netcdf-java classes</name>
>   <url>http://www.unidata.ucar.edu/software/netcdf-java/</url>
>   <description>Just the core netcdf-java classes.</description>
>   <licenses>
>     <license>
>       <name>GNU Lesser General Public License (LGPL)</name>
>       <url>http://www.gnu.org/copyleft/lesser.html</url>
>       <distribution>repo</distribution>
>     </license>
>   </licenses>
> </project>
>
> And for netcdf-2.2.16 might look like this:
>
> <project>
>   <modelVersion>4.0.0</modelVersion>
>   <groupId>edu.ucar</groupId>
>   <artifactId>netcdf</artifactId>
>   <version>2.2.16</version>
>   <packaging>jar</packaging>
>   <name>Complete netcdf-java, except for UI and optional</name>
>   <url>http://www.unidata.ucar.edu/software/netcdf-java/</url>
>   <description>Complete netcdf-java, except for the user interface
>                and the optional libraries.</description>
>   <licenses>
>     <license>
>       <name>GNU Lesser General Public License (LGPL)</name>
>       <url>http://www.gnu.org/copyleft/lesser.html</url>
>       <distribution>repo</distribution>
>     </license>
>   </licenses>
>   <dependencies>
>     <dependency>
>       <groupId>edu.ucar</groupId>
>       <artifactId>bufr</artifactId>
>       <version>2.2.16</version>
>     </dependency>
>     <dependency>
>       <groupId>commons-httpclient</groupId>
>       <artifactId>commons-httpclient</artifactId>
>       <version>3.0.1</version>
>     </dependency>
>     <dependency>
>       <groupId>gnu-regexp</groupId>
>       <artifactId>gnu-regexp</artifactId>
>       <version>1.1.4</version>
>     </dependency>
>     <dependency>
>       <groupId>edu.ucar</groupId>
>       <artifactId>grib</artifactId>
>       <version>2.2.16</version>
>     </dependency>
>     <dependency>
>       <groupId>jdom</groupId>
>       <artifactId>jdom</artifactId>
>       <version>1.0</version>
>     </dependency>
>     <dependency>
>       <groupId>xerces</groupId>
>       <artifactId>xercesImpl</artifactId>
>       <version>1.8.0</version>
>     </dependency>
>     <!-- this project optionally depends on visadNoDods.jar, and
> jpeg2000.jar -->
>   </dependencies>
> </project>
>
> Is the visad project also a ucar.edu project?
>
> Regards,
> Graham
> --
>
>
> ==============================================================================
> To unsubscribe netcdf-java, visit:
> http://www.unidata.ucar.edu/mailing-list-delete-form.html
> ==============================================================================
>
>   

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



More information about the Netcdf-java mailing list