2016-11-21 1 views
0

Ich habe ein Android-Projekt, das verschiedene Bibliotheksmodule enthält. Ich habe eine Aufgabe definiert, die Artefakte in ein Maven-Repository lädt. Es funktioniert, wenn ich es direkt in build.gradle der Module definiere. Was ich tun möchte ist, die Aufgabe einmal in den Eltern build.gradle zu definieren und sie in jedem Modul wiederzuverwenden.Wie definiert man die Aufgabe für mehrere untergeordnete Module?

folgte ich dem Führer here auf folgende Build-Konfiguration zu schreiben:

Mein Projekt-Setup ist wie folgt:

parent_project 
|- module1 
|- module2 
|- module3 

Eltern/build.gradle, default

subprojects {  
    task installToLocalMaven(type: Upload) { 
     description "Installs artifacts to local Maven repository" 
     configuration = configurations['archives'] 
     repositories { 
      mavenDeployer { 
       pom.groupId = commonGroupId 
       pom.artifactId = artifactId 
       pom.version = gitBranch() + '-' + android.defaultConfig.versionName 
       if (android.defaultConfig.versionName.endsWith("-SNAPSHOT")) { 
        snapshotRepository(url: repositories.mavenLocal().url) 
       } else { 
        repository(url: repositories.mavenLocal().url) 
       } 
      } 
     } 
    } 
} 

project(':module1') { 
    ext.artifactId = "module1" 
} 
... 

Ausführen gradlew :module1:installToLocalMaven führt zu diesem Fehler Configuration with name 'archives' not found.

Ich gehe davon aus, dass das Konfigurationsobjekt aus dem übergeordneten Projekt verwendet wird.

Wie kann ich sicherstellen, dass das Konfigurationsobjekt des untergeordneten Moduls innerhalb der Eltern build.gradle verwendet wird?

+0

Haben Sie schon Großmut gesehen? sieht aus wie es tut alles, was Sie brauchen und mehr – spy

Antwort

0

Sie können die Eigenschaft project der Aufgabe verwenden. Fügen Sie einfach task.project. vor dem Unterprojektobjekt, auf das Sie zugreifen möchten, wie folgt ein:

+0

Ich versuchte dies, aber es ergibt sich eine unbekannte Eigenschaft Fehler für die Aufgabe – Sven

Verwandte Themen