2015-03-24 5 views
7

Ich verwende das Maven-Publish-Plugin, um eine AAR-Datei in einem Maven-Repository zu veröffentlichen. Allerdings habe ich bemerkt, dass Compiler-Abhängigkeiten nicht zur pom.xml hinzugefügt werden, selbst nachdem ich die transitive Eigenschaft hinzugefügt habe. Ich benutze com.android.tools.build:gradle:1.1.3Abhängigkeiten nicht zur POM-Datei hinzugefügt - Android Gradle Maven Publishing

Hinweise zur Lösung?

build.gradle

publishing { 
    publications { 
     sdkAar(MavenPublication) { 
      artifacts { 
       groupId 'com.test' 
       artifactId 'my_sdk' 
       version currentVersion 
       artifact 'build/outputs/aar/release.aar' 
       artifact androidJavadocsJar { 
        classifier "javadoc" 
       } 
      } 
     } 
     sdkJar(MavenPublication) { 
      groupId 'com.test' 
      artifactId 'my_sdk_jar' 
      version currentVersion 
      artifact 'build/libs/release.jar' 
      artifact androidJavadocsJar { 
       classifier "javadoc" 
      } 
     } 
    } 
    repositories { 
     maven { 
      credentials { 
       username archiva_username 
       password archiva_password 
      } 
     } 
    } 
} 

Vielen Dank im Voraus

+1

gleiche Ausgabe? http://stackoverflow.com/questions/24743562/gradle-not-including-dependencies-in-published-pom-xml –

+0

können Sie Sie Gradle-Datei posten? –

+1

Ich habe dieses Problem mit dem uploadArchives-Plugin behoben. Es wäre jedoch nützlich zu wissen, wie dieses Problem mit dem Publishing-Plugin gelöst werden kann. – Jani

Antwort

0

Wenn Sie die Abhängigkeiten automatisch in die POM hinzugefügt werden möchten, müssen Sie die Komponenten Funktion nutzen. Hier ist ein Beispiel aus der Bedienungsanleitung:

publishing { 
    publications { 
     mavenJava(MavenPublication) { 
      from components.java 
     } 
    } 
} 

Die from ... wichtig ist. Was ich nicht weiß ist, ob das Android-Plugin eigene Softwarekomponenten einrichtet. Ich kann keine Hinweise auf solche Dinge sehen.

Denken Sie daran, dass der neue Publishing-Mechanismus gerade in der Entwicklung steckt, und deshalb bietet das Android-Plugin im Moment vielleicht keine direkte Unterstützung dafür.

Wenn Sie das Veröffentlichungs-Plug-in wirklich verwenden möchten, können Sie die Laufzeitabhängigkeiten Ihrer Artefakte abrufen und sie manuell mit the syntax described in the user guide zum POM hinzufügen. Ich würde diesen Ansatz jedoch nicht empfehlen, da er chaotisch ist und fehleranfällig aussieht.

Verwandte Themen