2013-11-21 17 views
9

Ho configurato Gradle di pubblicare progetto manufatto utilizzando new Maven Publisher Plugin, purtroppo questo plugin ha problema con la dipendenza nel generati pom.xml - dipendenze ha portata runtime invece di compile.editoria artefatto dal progetto Gradle a bintray (repository Maven)

La mia configurazione è simile a questo:

apply plugin: 'maven-publish' 

publishing { 
    publications { 
     mavenCustom(MavenPublication) { 
      from components.java 
     } 
    } 
    repositories { 
     maven { 
      url "https://api.bintray.com/maven/codearte/public/fairyland" 
      credentials { 
       username = bintrayUser 
       password = bintrayKey 
      } 
     } 
    } 
} 

Publishing era semplice, con un solo comando:

gradle publish 

come raggiungere questo obiettivo in modo vecchio (di lavoro)? È possibile automatizzare il taging del progetto quando viene rilasciato il progetto?

risposta

6

Ok, ho capito:

apply plugin: 'maven' 

uploadArchives { 
    repositories { 
     mavenDeployer { 
      name = 'Codearte Public Repository' 
      repository(id: 'codearte-repository', url: 'https://api.bintray.com/maven/codearte/public/fairyland'){ 
       authentication(userName: bintrayUser, password: bintrayKey) 
     } 
    } 
} 

Caricamento con il comando:

gradle uploadArchives 
+4

Vorrei anche suggerire di dare un'occhiata al [plug Gradle bintray] (https: //bintray.com/jfrog/jfrog-jars/grad le-bintray-plugin). Rende molto più facile la pubblicazione su Bintray. – JBaruch

3

Il fatto che tutte le dipendenze POM abbiano lo scope runtime è una limitazione nota del nuovo plug-in di incubazione maven-publish. Fino a quando questo viene risolto, è possibile risolvere il problema da soli utilizzando il gancio publication.pom.withXml, o ripiegare al plugin maven. Entrambi i plug-in sono documentati nello Gradle User Guide.

Tagging è una questione completamente diversa. È possibile utilizzare una delle terze parti Gradle SCM plugin o chiamare a uno strumento a riga di comando (per esempio con un compito Exec).

+2

Potrebbe mostrare un esempio di l'pom.withXml? – BrunoJCM

+2

A mio parere, il nuovo gradle 'maven-plugin' non è più nuovo, ma il problema esiste ancora. – MariuszS

+4

Questo plug-in "nuovo incubatore" sarà finito? –

Problemi correlati