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