2012-12-31 24 views
6

Suppongo che sia necessario un passaggio per inviare un artefatto al repository Maven Central.Qual è la procedura e quali sono i requisiti per inviare gli artefatti al repository centrale di Maven?

Mi piacerebbe sapere, in dettaglio, quali sono i requisiti, qual è la procedura da seguire e se c'è un tutorial o una guida per aiutare in questo processo.

Ho sentito che devi anche firmare digitalmente (gpg) gli artefatti, alcuni dettagli relativi a questo sarebbero anche i benvenuti.

risposta

4

Se il codice è OSS, c'è un processo di "fast track" per la pubblicazione via Sonatype.

Risposta breve:

Vedi Long risposta Sonatype OSS Maven Repository Usage Guide

:

In sostanza, ecco cosa ho fatto per beanstalk-maven-plugin qualche tempo fa:

  1. ho generato e ho registrato una nuova chiave GPG per la mia email nei Keyserver HKP (un gioco da ragazzi). Assicurati di avere i backup delle tue chiavi (in realtà, ti suggerisco di creare la tua chiave in una macchina completamente separata, quindi potresti sapere che le tue procedure di backup/esportazione funzionano)

  2. Ha aperto un problema in Sonatype OSS Project Jira Tracker che punta il groupId, l'URL di origine SCM e altri dettagli. Ci vogliono circa 48 ore per l'approvazione.

  3. Configurato il mio pom.xml per utilizzare pom padre figlio-genitore come genitore. Questo aggiunge molte informazioni extra e convalida.

  4. Impostare SCM per tagging/rilascio.

  5. Impostare jenkins in modo che le mie versioni -SNAPSHOT vengano anche pubblicate in oss.sonatype.org.

Ora, la procedura di rilascio per sé tramite Sonatype è abbastanza semplice:

  • chiamata release:prepare e release:perform nella stadiazione OSS. La tua nuova versione andrà in Sonatype Staging
  • Accedi alla gestione temporanea OSS, quindi "Chiudi" il repository di staging: se ci sono errori di convalida (es. Artefatti senza fonti), avviserà, ed è probabile che tu emetta un " Far cadere".
  • Se tutto è andato bene, puoi invece chiamare "Rilascio" e si sincronizzerà in centrale in un paio d'ore.

Sotto il cofano

Se stai usando Maven, la maggior parte dei cambiamenti richiedono solo decorare la vostra POM con dettaglio rilevante (gruppo, mailing list, home page, e soprattutto il <scm/>). Il sonatype-oss-parent (see its source) pom fa tutto il lavoro rimanente, che comprende:

  • I <distributionManagement/> tag
  • la configurazione maven-enforcer-plugin (in particolare, per evitare alcune firme cattivi dalla maven-gpg-plugin)
  • Impostazioni per maven-release-plugin per un profilo di build speciale da chiamare quando viene rilasciato su OSS, che include invocazioni per:
    • source:jar
    • javadoc:jar
    • gpg:sign

Naturalmente, si può fare tutto a mano - Basta copiare il contenuto di Sonatype-oss-genitore nel proprio. Tuttavia, penso che sia un po 'evitabile. :)

Spero che aiuti.

+0

potete per favore aiutarmi in questa domanda per favore -> http://stackoverflow.com/questions/32118889/publishing-licensed-artifact-to-maven-central-repository – Cyborgz

0

Bene, puoi leggere la guida dettagliata dettagliata su come caricare i pacchetti su Maven Central Repo (s) here.

Inoltre, è possibile leggere su repository here