diff --git a/ci/fireci/fireciplugins/binary_size.py b/ci/fireci/fireciplugins/binary_size.py index 6f966a3bfd7..ddb97c3f939 100644 --- a/ci/fireci/fireciplugins/binary_size.py +++ b/ci/fireci/fireciplugins/binary_size.py @@ -55,6 +55,13 @@ def binary_size(pull_request, log, metrics_service_url, access_token): affected_artifacts, all_artifacts = _parse_artifacts() artifacts = affected_artifacts if pull_request else all_artifacts sdks = ','.join(artifacts) + if not sdks: + _logger.info( + "No sdks found whose binary size to measure (" + "pull_request=%s affected_artifacts=%s all_artifacts=%s)", + pull_request, affected_artifacts, all_artifacts + ) + return workdir = 'health-metrics/apk-size' process = gradle.run('assemble', '--continue', gradle.P('sdks', sdks), workdir=workdir, check=False) diff --git a/health-metrics/apk-size/app/configure.gradle b/health-metrics/apk-size/app/configure.gradle index 1efea2b8180..1e559241a77 100644 --- a/health-metrics/apk-size/app/configure.gradle +++ b/health-metrics/apk-size/app/configure.gradle @@ -24,7 +24,14 @@ repositories { if (project.hasProperty('sdks')) { project.android { sdks.split(',').each { sdk -> - def (groupId, artifactId, version) = sdk.split(':') + def sdkParts = sdk.split(':') + if (sdkParts.size() != 3) { + throw new GradleException( + "Invalid SDK format: '${sdk}'. " + + "Expected format: 'groupId:artifactId:version' (sdks: '${sdks}')" + ) + } + def (groupId, artifactId, version) = sdkParts productFlavors.create(artifactId) { dimension 'firebase' }