发布调试并发布到 artifactory
Publish debug & release to artifactory
我正在使用 Android Studio 并拼命想让 gradle 将我的调试和发布 aar 发布到带有单独 repoKeys 的人工制品。最好作为两个单独的任务。我已阅读此 excellent guide,但我不想每次都更改我的 gradle 文件以进行部署。
我可以轻松地创建两个 pom 文件,但未能使 artifactory 插件足够动态以切换我的两个 rep 键。
我觉得这是我最接近的一次,但还差得远:
String art_repo = ''
artifactory {
contextUrl = 'https://www.myjfrogrepo.com'
publish {
repository {
// The Artifactory repository key to publish to
repoKey = "${art_repo}"
然后我创建了一个设置 art_repo 变量的自定义任务。
task debugPublishTojFrog {
group "Publishing"
art_repo = 'libs-snapshot-local'
art_publicationName = 'debugAar'
doLast {
println "Successfully published ${art_repo} to jFrog"
}
}
debugPublishTojFrog.finalizedBy artifactoryPublish
这会返回错误
Target repository cannot be empty
这让我认为 repoKey 是在构建时设置的,而不是在 运行 时设置的,因为我的自定义任务的更改似乎被忽略了。
如有任何建议,我们将不胜感激。
在 gradle 中执行此操作的标准方法是测试您将要发布的版本。
这正是指导您 link 提倡的内容:
repoKey = libraryVersion.endsWith('SNAPSHOT') ? 'libs-snapshot-local' : 'libs-release-local'
这个解决方案有什么问题?
编辑:如果问题在于必须更改 gradle 或 gradle.properties 文件,为什么不使用命令行中的属性。
repoKey = project.hasProperty('releaseVersion') ? 'libs-release-local' : 'libs-snapshot-local'
并使用
构建您的快照
gradle build
并使用
构建您的版本
gradle build -PreleaseVersion=1.0.0-GA
您还可以在其他几个位置使用此 releaseVersion 属性,例如您的软件元数据、您的发布信息...
我正在使用 Android Studio 并拼命想让 gradle 将我的调试和发布 aar 发布到带有单独 repoKeys 的人工制品。最好作为两个单独的任务。我已阅读此 excellent guide,但我不想每次都更改我的 gradle 文件以进行部署。
我可以轻松地创建两个 pom 文件,但未能使 artifactory 插件足够动态以切换我的两个 rep 键。
我觉得这是我最接近的一次,但还差得远:
String art_repo = ''
artifactory {
contextUrl = 'https://www.myjfrogrepo.com'
publish {
repository {
// The Artifactory repository key to publish to
repoKey = "${art_repo}"
然后我创建了一个设置 art_repo 变量的自定义任务。
task debugPublishTojFrog {
group "Publishing"
art_repo = 'libs-snapshot-local'
art_publicationName = 'debugAar'
doLast {
println "Successfully published ${art_repo} to jFrog"
}
}
debugPublishTojFrog.finalizedBy artifactoryPublish
这会返回错误
Target repository cannot be empty
这让我认为 repoKey 是在构建时设置的,而不是在 运行 时设置的,因为我的自定义任务的更改似乎被忽略了。
如有任何建议,我们将不胜感激。
在 gradle 中执行此操作的标准方法是测试您将要发布的版本。
这正是指导您 link 提倡的内容:
repoKey = libraryVersion.endsWith('SNAPSHOT') ? 'libs-snapshot-local' : 'libs-release-local'
这个解决方案有什么问题?
编辑:如果问题在于必须更改 gradle 或 gradle.properties 文件,为什么不使用命令行中的属性。
repoKey = project.hasProperty('releaseVersion') ? 'libs-release-local' : 'libs-snapshot-local'
并使用
构建您的快照gradle build
并使用
构建您的版本gradle build -PreleaseVersion=1.0.0-GA
您还可以在其他几个位置使用此 releaseVersion 属性,例如您的软件元数据、您的发布信息...