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?
Haben Sie schon Großmut gesehen? sieht aus wie es tut alles, was Sie brauchen und mehr – spy