Skip to content

Change from webdav to nexus repository

Jody Garnett edited this page Apr 9, 2020 · 12 revisions

Description

Retiring our webdav maven repository to make use of repo.osgeo.org. This also removes repo.boundlessgeo.com as our snapshot build server.

Downstream applications can now use:

<repositories>
  <repository>
    <id>osgeo</id>
    <name>OSGeo Release Repository</name>
    <url>https://repo.osgeo.org/repository/release/</url>
    <snapshots><enabled>false</enabled></snapshots>
    <releases><enabled>true</enabled></releases>
  </repository>
  <repository>
    <id>osgeo-snapshot</id>
    <name>OSGeo Snapshot Repository</name>
    <url>https://repo.osgeo.org/repository/snapshot/</url>
    <snapshots><enabled>true</enabled></snapshots>
    <releases><enabled>false</enabled></releases>
  </repository>
</repositories>

To allow old builds to work unmodified, use settings.xml to define a mirror:

<mirrors>
  <mirror>
    <id>osgeo-release</id>
    <name>OSGeo Repository</name>
    <url>https://repo.osgeo.org/repository/geotools-releases/</url>
    <mirrorOf>osgeo</mirrorOf>     <!-- previously http://download.osgeo.org/webdav/geotools/ -->
  </mirror>
  <mirror>
    <id>geoserver-releases</id>
    <name>Boundless Repository</name>
    <url>https://repo.osgeo.org/repository/Geoserver-releases/</url>
    <mirrorOf>boundless</mirrorOf> <!-- previously http://repo.boundlessgeo.com/main/ -->
  </mirror>
</mirrors>

The Nexus is setup for:

  • repo.osgeo.org/repository/release/ - release group containing

    • repo.osgeo.org/repository/geotools-releases
    • repo.osgeo.org/repository/Geoserver-releases
  • repo.osgeo.org/repository/snapshot/ - release group containing

    • repo.osgeo.org/repository/geotools-snapshots
    • repo.osgeo.org/repository/geoserver-snapshots
    • repo.osgeo.org/repository/geosolutions-cache
    • repo.osgeo.org/repository/ucar-cache
    • (the repo maven.restlet.org is no longer republished)

References:

Assigned to Release

This is an infrastructure change affected all branches.

We should be able to redirect to continue to allow downstream applications to build.

Status

Choose one of:

  • Under Discussion
  • In Progress
  • Completed
  • Rejected,
  • Deferred

Voting:

  • Andrea Aime
  • Ian Turton
  • Jody Garnett +1
  • Nuno Oliveira
  • Simone Giannecchini
  • Torben Barsballe +1

Tasks

  1. Coordination Nexus setup is on #2410 artifact manager to replace download.osgeo.org/webdav/geotools

  2. Update pom.xml configuration

  3. Documentation changes

API Change

This changes build infrastructure only (and does not result in an API change to the library.)

However downstream applications are asked to update their build as outlined below.

Repositories

The GeoTools release repository has changed as outlined below:

Before:

  <repositories>
    <repository>
      <id>central.maven.org</id>
      <name>Central Maven repository</name>
      <url>https://repo1.maven.org/maven2</url>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
    </repository>

    <!-- contained above -->
    <!--
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>geosolutions</id>
      <name>geosolutions repository</name>
      <url>http://maven.geo-solutions.it/</url>
    </repository>
    -->
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>osgeo</id>
      <name>Open Source Geospatial Foundation Repository</name>
      <url>http://download.osgeo.org/webdav/geotools/</url>
    </repository>

    <repository>
      <!-- Contains snapshot and release (including third-party-dependencies)              -->
      <!-- Restlet maven Repository (http://maven.restlet.org)                             -->
      <!-- ucar (https://artifacts.unidata.ucar.edu/content/repositories/unidata-releases) -->
      <!-- geosolutions (http://maven.geo-solutions.it/)                                   -->
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <releases>
        <enabled>true</enabled>
      </releases>
      <id>boundless</id>
      <name>Boundless Maven Repository</name>
      <url>https://repo.boundlessgeo.com/main/</url>
    </repository>
  </repositories>

After:

  <repositories>
    <repository>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <id>osgeo-release</id>
      <name>Open Source Geospatial Foundation Repository</name>
      <url>https://repo.osgeo.org/repository/release/</url>
    </repository>
    <repository>
      <!-- Contains snapshot and release (including third-party-dependencies)              -->
      <!-- Restlet maven Repository (http://maven.restlet.org)                             -->
      <!-- ucar (https://artifacts.unidata.ucar.edu/content/repositories/unidata-releases) -->
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
      <id>osgeo-snapshot</id>
      <name>Open Source Geospatial Foundation Build Repository</name>
      <url>https://repo.osgeo.org/repository/snapshot/</url>
    </repository>
  </repositories>

Distribution Management

Distribution management outlines different repositories for releases and snapshots (use of id nexus is used to provide build server a single target to manage settings.xml credentials).

Before:

  <distributionManagement>
    <repository>
      <uniqueVersion>false</uniqueVersion>
      <id>osgeo</id>
      <name>Open Source Geospatial Foundation - WebDAV upload</name>
      <url>dav:http://download.osgeo.org/upload/geotools/</url>
    </repository>
    <snapshotRepository>
        <id>boundless</id>
        <uniqueVersion>false</uniqueVersion>
        <name>Boundless Snapshot Repository</name>
        <url>https://repo.boundlessgeo.com/snapshot/</url>
    </snapshotRepository>
  </distributionManagement>

After:

  <distributionManagement>
    <repository>
      <uniqueVersion>false</uniqueVersion>
      <id>nexus</id>
      <name>Open Source Geospatial Foundation - GeoTools</name>
      <url>https://repo.osgeo.org/repository/geotools-releases/</url>
    </repository>
    <snapshotRepository>
        <id>nexus</id>
        <uniqueVersion>false</uniqueVersion>
        <name>Open Source Geospatial Foundation - GeoTools Build</name>
        <url>https://repo.osgeo.org/repository/geotools-snapshots/</url>
    </snapshotRepository>
  </distributionManagement>
Clone this wiki locally