У меня есть блок конфигурации публикации, который выглядит так в моем файле build.gradle.
publishing {
publications {
maven(MavenPublication) {
groupId "groupId"
artifactId 'artifactId'
version "4.0"
artifact "$buildDir/outputs/aar/artifact-release.aar"
artifact releaseJavadocsJar
// Generate pom file so that the artifact dependencies can be fetched automatically.
pom.withXml {
def dependenciesNode = asNode().appendNode('dependencies')
configurations.compile.allDependencies.each { dependency ->
def dependencyNode = dependenciesNode.appendNode('dependency')
dependencyNode.appendNode('groupId', dependency.group)
dependencyNode.appendNode('artifactId', dependency.name)
dependencyNode.appendNode('version', dependency.version)
}
}
}
}
}
обратите внимание на releaseJavadocsJar
, это задача gradle, определенная следующим образом:
android.libraryVariants.all { variant ->
if (variant.name == 'release') {
def taskJavadoc = task("releaseJavadocs", type: Javadoc) {
source = variant.javaCompile.source
classpath = files(((Object) android.bootClasspath.join(File.pathSeparator)))
classpath += files(variant.javaCompile.classpath.files)
}
task("releaseJavadocsJar", type: Jar) {
classifier = 'javadoc'
from taskJavadoc.destinationDir
}
}
}
Когда я синхронизирую эту строку
artifact releaseJavadocsJar
из публикации жалуется, что
Error:(62, 0) Could not get unknown property 'releaseJavadocsJar' for object of type org.gradle.api.publish.maven.internal.publication.DefaultMavenPublication.
это означает, что моя динамически созданная задача еще не существует, когда происходит синхронизация градиента.
Есть ли способ обойти это?
releaseJavadocsJar
перед блокомpublishing
. - person Opal   schedule 24.09.2017publishing
в замыканиеproject.afterEvaluate
. В этом блоке оценивается весь проект и добавляются все задачи. Не могли бы вы попробовать это? - person Opal   schedule 25.09.2017libraryVariants.all
, похоже, сам оценивается поздно. Я добавил пару операторов журнала, чтобы подтвердить это, и увидел, что хотя доступ к блокуandroid
осуществляется до блока публикации, блокlibraryVariants.all
нет. - person sakis kaliakoudas   schedule 26.09.2017project.afterEvaluate
, которые я могу попробовать? - person sakis kaliakoudas   schedule 26.09.2017artifact "releaseJavadocsJar"
? - person Opal   schedule 26.09.2017