正如标题所说,有没有办法确定 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
该程序显然知道工件被发送到的确切位置。有没有办法提取该信息并将其用于其他任务?
您可以从任务本身获取此信息。该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}"
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1082 次 |
| 最近记录: |