如何在基于构建变体的gradle publish任务中选择Maven网址?

时间:2018-10-16 14:14:38

标签: maven android-gradle publish

我正在开发一个Android应用程序,其中各种模块需要存在于不同的git repos中。每个git仓库都会将其AAR文件发布到Maven仓库。然后另一个git仓库将从maven仓库中提取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?

1 个答案:

答案 0 :(得分:0)

好的,我知道了。我在发布任务中做了./gradlew -PbuildVariant=variant1 publish,然后做了buildVariant = property.findProperty("buildVariant") ?: "variant1",然后使用该值来选择URL。