Skip to content

Host Geonetwork artifacts on repo.osgeo.org (Nexus Artifactory Repo)

Jody Garnett edited this page May 20, 2020 · 19 revisions
Date 2020-04-20 Contacts Marco Lechner, German Federal Office for Radiation Protection, Germany
Jody Garnett, GeoCat
Status Approved Release All active
Ticket # 4618
Funding GeoCat / OSGeo SAC

Overview

The Buildstack of GeoNetwork Releases should be extended to publish Geonetwork Artifacts in a maven Repo hosted by OSGeo (https://repo.osgeo.org/).

Hosting the GeoNetwork artifacts on a publicly available Server makes it possible to build the jar-Files of own Metadata-Schemas (like those on Metadata101 - https://github.com/metadata101) without having to build whole Geonetwork locally. This may increase acceptance of custom inherited Schemas and make Geonetwork more flexible.

Repositories

Add deployment of artifacts on Release builds to publish them on repo.osgeo.org:

Making these changes will result in a significant reduction in geonetwork build time and allow downstream application, distributions, and docker images to be composed using maven dependencies.

Handling of Third-party dependencies

The repository geonetwork/core-maven-repo dependencies need to be migrated to geonetwork-releases.

Many of the above "one off" dependencies are used to get a single dependency:

  • marc4j/marc4j:2.3.1 is obtained from k-int repository. The project is now on central as org.marc4j/marc4j 2.7.1onward (see github)

  • net.arnx.jsonic/jsonic:1.2.0 is obtained from seasar repository. The project is now on central as of net.arnx.jsonic/jsonic:1.2.7 onward.

  • Third-party dependencies to manage by hand:

    • org.mapfish.print/print-lib:2.1.6 only available from mapfish repo
    • net.sf.saxon:saxon:jar:9.1.0.8b-patch available on core-maven-repo, open source "home edition" available on central (see search results ).
  • Blocker: Third-party dependencies from geonetwork/core-maven-repo that refuse to upload:

    • globus:cog-jglobus:jar:1.2-060802
    • xml-resolver:xml-resolver-patched:jar:1.2.1
    • Update: Because of the above blocker I have setup geonetwork-cache as a temporary measure.

pom.xml

Repositories change to:

<repositories>
  <!-- maven central assumed -->
  <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>

Distribution management section added:

  <distributionManagement>
    <repository>
      <id>osgeo</id>
      <name>OSGeo GeoNetwork Release Repository</name>
      <url>https://repo.osgeo.org/repository/geonetwork-releases/</url>
    </repository>
    <snapshotRepository>
      <id> osgeo </id>
      <name>OSGeo GeoNetwork Snapshot Repository</name>
      <url>https://repo.osgeo.org/repository/geonetwork-snapshots/</url>
     </snapshotRepository>
  </distributionManagement>

References:

Proposal Type: build

  • Type: Idea
  • Module: modules and schemas

Voting History

  • Vote Proposed: 2020-04-20

Participants

  • Francois +1
  • Jose +1
  • Jo +1

Passed: 2020-04-27

Clone this wiki locally