正如标题所说,有没有办法确定在gradle的发布任务中发布工件的位置?原因是我希望获得这些信息,因此我可以发送一封包含URL的电子邮件进行下载。发布不是问题 - 我已经通过maven-publish
工作了。但是,似乎还没有一种方法可以在屏幕上打印出仍然在构建内部的信息。
编辑:
例如,在发布时我得到了
的读数 Upload http://xxxxxxxxxx:9000/archiva/repository/snapshots/com/xxxxxxxxxx/mobile/xxxxxxxxxx/0.0.1-SNAPSHOT/xxxxxxxxxx-debug-unaligned-0.0.1-SNAPSHOT.apk
程序显然知道工件的确切位置。有没有办法将这些信息提取出去并在另一项任务中使用它?
答案 0 :(得分:3)
您可以从任务本身获取此信息。 maven-publish
插件为每个存储库的每个工件创建一个发布任务。
project.tasks.withType(PublishToMavenRepository).all { task ->
task.doLast {
def baseUrl = "${task.repository.url}/${task.publication.groupId.replace('.', '/')}/${task.publication.artifactId}/${task.publication.version}/${task.publication.artifactId}"
task.publication.artifacts.each { artifact ->
println "${baseUrl}${artifact.classifier ? '-' + artifact.classifier : ''}.${artifact.extension}"
}
}
}