Доступ к вариантам приложения в buildSrc - PullRequest
0 голосов
/ 10 января 2020

В моем приложении я управляю всеми Gradle вещами в buildSrc. Одним из них является buildTypes. Я могу получить доступ ко всем свойствам, которые buildTypes предоставляют. Однако я не могу получить доступ к applicationVariants в buildSrc. Есть ли способ сделать это?

Пример блока кода в buildSrc / BuildTypes.kt

internal object Debug : BuildTypeCreator {
    override val name = InternalBuildType.DEBUG

    override fun create(
        namedDomainObjectContainer: NamedDomainObjectContainer<BuildType>,
        project: Project,
        isLibrary: Boolean,
        closure: BuildType.() -> Unit
    ): BuildType {
        return namedDomainObjectContainer.maybeCreate(name).apply {
            if (isLibrary) {
                versionNameSuffix = "-dev-${project.gitSha}"
            } else {
                applicationIdSuffix = ".dev"
            }
            isTestCoverageEnabled = true
            isMinifyEnabled = false
            isDebuggable = true
            closure.invoke(this)
        }
    }
}

Пример блока кода в app.gradle.kts (чего я хочу добиться в buildSr c)

applicationVariants.all { -> **This is not accessible in buildSrc**
                if (buildType.name == getByName("release").name) {
                    outputs.all { output: BaseVariantOutput ->
                        val outputImpl = output as BaseVariantOutputImpl
                        outputImpl.outputFileName = "calendar-view.apk"
                        true
                    }
                }
            }

Заранее спасибо.

1 Ответ

0 голосов
/ 10 января 2020

ОК, я решил, передав аргумент domainObjectSet: DomainObjectSet<ApplicationVariant>

...