maven - 如何根据构建变体在 gradle 发布任务中选择 maven url?
问题描述
我正在开发一个 Android 应用程序,其中各种模块需要存在于不同的 git 存储库中。每个 git repo 都会将其 AAR 文件发布到 maven repo。然后其他 git repos 将从 maven repo 中提取 AAR 文件。
但是,我需要根据构建变体修改设置。我需要根据构建变体选择 Maven URL。
所以,如果我跑:
./gradlew publishVariant1
那么我会得到https://my.maven-repo.website/type1
.
但是,如果我跑步./gradlew publishVariant2
,我会得到https://my.maven-repo.website/type2
如果我需要使用这样的命令行,./gradlew publish -PsomeBuildVariantProp=variant1
我很好。我只是不知道如何设置它。我尝试android.libraryVariants.all { variant -> ... repositories { maven { if (variantName.equals("variant1") { url "..." } else if (variantName.equals("variant2") { url "..." } } }
在我的发布块中使用来选择 URL。但是,当我在每种情况下打印 URL 时,我会看到打印的所有可能的 URL。
那么,如何设置我的发布任务以通过构建变体选择 Maven URL?
解决方案
好的,我想通了。我做了./gradlew -PbuildVariant=variant1 publish
,然后buildVariant = property.findProperty("buildVariant") ?: "variant1"
在我的发布任务中做了,并使用该值来选择一个 URL。
推荐阅读
- javascript - 使用车把时的空白问题标签
- algorithm - 具有简单算术运算符的模式
- html - 网格布局是否覆盖其项目的 display:none 属性?
- python - 在检查输入是否存在于实际上存在的数据库中时获取 False 值
- python - `tf.estimator.train_and_evaluate` 函数控制训练和评估期的机制是什么?
- c++ - QNX - 崩溃时未生成核心转储
- wordpress - 每种产品的运输方式不同 - Woocommerce
- java - 无法将 RxJava dep 添加到 gradle
- javascript - 如何使用 Node fs 模块合并电子 js 中的所有 PART 文件
- php - 执行八进制传递的函数