in gradle-plugin/src/main/groovy/mozilla/telemetry/glean-gradle-plugin/GleanGradlePlugin.groovy [548:587]
void apply(Project project) {
isOffline = project.gradle.startParameter.offline
project.ext.glean_version = "64.2.0"
def parserVersion = gleanParserVersion(project)
// Print the required glean_parser version to the console. This is
// offline builds, and is mentioned in the documentation for offline
// builds.
println("Requires glean_parser ${parserVersion}")
File envDir
if (project.ext.has("gleanPythonEnvDir")) {
envDir = new File(project.ext.gleanPythonEnvDir)
isOffline = true
} else {
envDir = setupPythonEnvironmentTasks(project, parserVersion)
project.ext.set("gleanPythonEnvDir", envDir)
}
// Also store in gleanCondaDir for backward compatibility reasons
project.ext.set("gleanCondaDir", project.ext.gleanPythonEnvDir)
setupExtractMetricsFromAARTasks(project)
project.configurations.all {
resolutionStrategy.capabilitiesResolution.withCapability("org.mozilla.telemetry:glean-native") {
def toBeSelected = candidates.find { it.id instanceof ModuleComponentIdentifier && it.id.module.contains('geckoview') }
if (toBeSelected != null) {
select(toBeSelected)
}
because 'use GeckoView Glean instead of standalone Glean'
}
}
if (project.android.hasProperty('applicationVariants')) {
project.android.applicationVariants.all(setupTasks(project, envDir, true, parserVersion))
} else {
project.android.libraryVariants.all(setupTasks(project, envDir, false, parserVersion))
}
}