Bug 1924520 - Configuration cache part 2. r=geckoview-reviewers,android-reviewers,nalexander,owlish,ohall

Differential Revision: https://phabricator.services.mozilla.com/D236898
This commit is contained in:
Aaditya Dhingra
2025-03-04 22:00:42 +00:00
parent 4425245f16
commit 956ef89fa9
7 changed files with 43 additions and 50 deletions

View File

@@ -134,7 +134,7 @@ ifeq ($(MOZ_BUILD_APP),mobile/android)
recurse_android-stage-package: stage-package
recurse_android-archive-geckoview:
GRADLE_INVOKED_WITHIN_MACH_BUILD=1 $(topsrcdir)/mach --log-no-times android archive-geckoview
GRADLE_INVOKED_WITHIN_MACH_BUILD=1 $(topsrcdir)/mach --log-no-times android archive-geckoview $(if $(MOZ_AUTOMATION),--no-configuration-cache)
endif
ifdef MOZ_WIDGET_TOOLKIT

View File

@@ -117,38 +117,36 @@ subprojects {
testLogging.events = []
def out = services.get(StyledTextOutputFactory).create("an-ouput")
beforeSuite { descriptor ->
if (descriptor.getClassName() != null) {
out.style(Style.Header).println("\nSUITE: " + descriptor.getClassName())
println("\nSUITE: " + descriptor.getClassName())
}
}
beforeTest { descriptor ->
out.style(Style.Description).println(" TEST: " + descriptor.getName())
println(" TEST: " + descriptor.getName())
}
onOutput { descriptor, event ->
logger.lifecycle(" " + event.message.trim())
it.logger.lifecycle(" " + event.message.trim())
}
afterTest { descriptor, result ->
switch (result.getResultType()) {
case ResultType.SUCCESS:
out.style(Style.Success).println(" SUCCESS")
println(" SUCCESS")
break
case ResultType.FAILURE:
def testId = descriptor.getClassName() + "." + descriptor.getName()
out.style(Style.Failure).println(" TEST-UNEXPECTED-FAIL | " + testId + " | " + result.getException())
println(" TEST-UNEXPECTED-FAIL | " + testId + " | " + result.getException())
break
case ResultType.SKIPPED:
out.style(Style.Info).println(" SKIPPED")
println(" SKIPPED")
break
}
logger.lifecycle("")
it.logger.lifecycle("")
}
}

View File

@@ -36,8 +36,6 @@ apply plugin: 'com.google.android.gms.oss-licenses-plugin'
apply plugin: 'kotlinx-serialization'
import groovy.json.JsonOutput
import org.gradle.internal.logging.text.StyledTextOutput.Style
import org.gradle.internal.logging.text.StyledTextOutputFactory
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import static org.gradle.api.tasks.testing.TestResult.ResultType
@@ -828,17 +826,18 @@ if (project.hasProperty("coverage")) {
// Usage: "./gradlew printVariants
// -------------------------------------------------------------------------------------------------
tasks.register('printVariants') {
doLast {
def variants = android.applicationVariants.collect { variant -> [
def variants = project.provider {
android.applicationVariants.collect { variant -> [
apks: variant.outputs.collect { output -> [
abi: output.getFilter(FilterConfiguration.FilterType.ABI.name()),
fileName: output.outputFile.name
abi: output.getFilter(FilterConfiguration.FilterType.ABI.name()),
fileName: output.outputFile.name
]},
build_type: variant.buildType.name,
name: variant.name,
]}
]}}
doLast {
// AndroidTest is a special case not included above
variants.add([
variants.get().add([
apks: [[
abi: 'noarch',
fileName: 'app-debug-androidTest.apk',
@@ -846,7 +845,7 @@ tasks.register('printVariants') {
build_type: 'androidTest',
name: 'androidTest',
])
println 'variants: ' + JsonOutput.toJson(variants)
println 'variants: ' + JsonOutput.toJson(variants.get())
}
}
@@ -859,38 +858,36 @@ afterEvaluate {
testLogging.events = []
def out = services.get(StyledTextOutputFactory).create("tests")
beforeSuite { descriptor ->
if (descriptor.getClassName() != null) {
out.style(Style.Header).println("\nSUITE: " + descriptor.getClassName())
println("\nSUITE: " + descriptor.getClassName())
}
}
beforeTest { descriptor ->
out.style(Style.Description).println(" TEST: " + descriptor.getName())
println(" TEST: " + descriptor.getName())
}
onOutput { descriptor, event ->
logger.lifecycle(" " + event.message.trim())
it.logger.lifecycle(" " + event.message.trim())
}
afterTest { descriptor, result ->
switch (result.getResultType()) {
case ResultType.SUCCESS:
out.style(Style.Success).println(" SUCCESS")
println(" SUCCESS")
break
case ResultType.FAILURE:
def testId = descriptor.getClassName() + "." + descriptor.getName()
out.style(Style.Failure).println(" TEST-UNEXPECTED-FAIL | " + testId + " | " + result.getException())
println(" TEST-UNEXPECTED-FAIL | " + testId + " | " + result.getException())
break
case ResultType.SKIPPED:
out.style(Style.Info).println(" SKIPPED")
println(" SKIPPED")
break
}
logger.lifecycle("")
it.logger.lifecycle("")
}
}
}

View File

@@ -20,8 +20,6 @@ apply from: versionCodeGradle
import com.android.build.api.variant.FilterConfiguration
import groovy.json.JsonOutput
import org.gradle.internal.logging.text.StyledTextOutput.Style
import org.gradle.internal.logging.text.StyledTextOutputFactory
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
import static org.gradle.api.tasks.testing.TestResult.ResultType
@@ -640,17 +638,17 @@ if (project.hasProperty("coverage")) {
// Taskgraph Usage: "./gradlew printVariants
// -------------------------------------------------------------------------------------------------
tasks.register('printVariants') {
doLast {
def variants = android.applicationVariants.collect { variant -> [
def variants = project.provider { android.applicationVariants.collect { variant -> [
apks: variant.outputs.collect { output -> [
abi: output.getFilter(FilterConfiguration.FilterType.ABI.name()),
fileName: output.outputFile.name
abi: output.getFilter(FilterConfiguration.FilterType.ABI.name()),
fileName: output.outputFile.name
]},
build_type: variant.buildType.name,
name: variant.name,
]}
]}}
doLast {
// AndroidTest is a special case not included above
variants.add([
variants.get().add([
apks: [[
abi: 'noarch',
fileName: 'app-debug-androidTest.apk',
@@ -658,7 +656,7 @@ tasks.register('printVariants') {
build_type: 'androidTest',
name: 'androidTest',
])
println 'variants: ' + JsonOutput.toJson(variants)
println 'variants: ' + JsonOutput.toJson(variants.get())
}
}
@@ -671,38 +669,36 @@ afterEvaluate {
testLogging.events = []
def out = services.get(StyledTextOutputFactory).create("tests")
beforeSuite { descriptor ->
if (descriptor.getClassName() != null) {
out.style(Style.Header).println("\nSUITE: " + descriptor.getClassName())
println("\nSUITE: " + descriptor.getClassName())
}
}
beforeTest { descriptor ->
out.style(Style.Description).println(" TEST: " + descriptor.getName())
println(" TEST: " + descriptor.getName())
}
onOutput { descriptor, event ->
logger.lifecycle(" " + event.message.trim())
it.logger.lifecycle(" " + event.message.trim())
}
afterTest { descriptor, result ->
switch (result.getResultType()) {
case ResultType.SUCCESS:
out.style(Style.Success).println(" SUCCESS")
println(" SUCCESS")
break
case ResultType.FAILURE:
def testId = descriptor.getClassName() + "." + descriptor.getName()
out.style(Style.Failure).println(" TEST-UNEXPECTED-FAIL | " + testId + " | " + result.getException())
println(" TEST-UNEXPECTED-FAIL | " + testId + " | " + result.getException())
break
case ResultType.SKIPPED:
out.style(Style.Info).println(" SKIPPED")
println(" SKIPPED")
break
}
logger.lifecycle("")
it.logger.lifecycle("")
}
}
}

View File

@@ -252,10 +252,12 @@ set_config("GRADLE_ANDROID_LINT_TASKS", gradle_android_lint_tasks)
@depends(gradle_android_build_config)
def gradle_android_api_lint_tasks(build_config):
"""Gradle tasks run by |mach android api-lint|."""
# --no-configuration-cache will be removed in bug 1950099
return [
"geckoview:apiLint{geckoview.variant.name}".format(
geckoview=build_config.geckoview
),
"--no-configuration-cache",
]

View File

@@ -15,7 +15,7 @@ export PATH=$MOZ_FETCHES_DIR/jdk-8/bin:$PATH
export MOZCONFIG=mobile/android/config/mozconfigs/android-arm-gradle-dependencies/nightly-lite
./mach build
./mach gradle downloadDependencies
./mach android gradle-dependencies
./mach gradle downloadDependencies --no-configuration-cache
./mach android gradle-dependencies --no-configuration-cache
. taskcluster/scripts/misc/android-gradle-dependencies/after.sh

View File

@@ -15,8 +15,8 @@ export PATH=$MOZ_FETCHES_DIR/jdk-8/bin:$PATH
export MOZCONFIG=mobile/android/config/mozconfigs/android-arm-gradle-dependencies/nightly
./mach build
./mach gradle downloadDependencies
./mach android gradle-dependencies
./mach gradle downloadDependencies --no-configuration-cache
./mach android gradle-dependencies --no-configuration-cache
pushd mobile/android/fenix
./gradlew detekt lint assembleDebug mozilla-lint-rules:test :benchmark:assembleBenchmark
popd