From 9ce83cf92cade6f881030ab817574cc30e0b9dee Mon Sep 17 00:00:00 2001 From: Gabriel Luong Date: Tue, 25 Jul 2023 13:34:10 -0400 Subject: [PATCH] Bug 1845354 - Refactor ApkSizeTask into a plugin using composite build --- mobile/android/fenix/app/build.gradle | 1 - mobile/android/fenix/buildSrc/build.gradle | 4 ---- mobile/android/fenix/{buildSrc => plugins/apksize}/build.gradle | 7 +++++++ mobile/android/fenix/plugins/apksize/settings.gradle | 5 +++++ .../apksize/src/main/java/ApkSizePlugin.kt} | 8 ++++++-- mobile/android/fenix/settings.gradle | 2 ++ 6 files changed, 20 insertions(+), 7 deletions(-) copy mobile/android/fenix/{buildSrc => plugins/apksize}/build.gradle (81%) create mode 100644 mobile/android/fenix/plugins/apksize/settings.gradle rename mobile/android/fenix/{buildSrc/src/main/java/org/mozilla/fenix/gradle/tasks/ApkSizeTask.kt => plugins/apksize/src/main/java/ApkSizePlugin.kt} (96%) diff --git a/mobile/android/fenix/app/build.gradle b/mobile/android/fenix/app/build.gradle index 8c2568e57043..fa0dadbc7acb 100644 --- a/mobile/android/fenix/app/build.gradle +++ b/mobile/android/fenix/app/build.gradle @@ -1,5 +1,4 @@ import org.apache.tools.ant.util.StringUtils -import org.mozilla.fenix.gradle.tasks.ApkSizeTask plugins { id "com.jetbrains.python.envs" version "$python_envs_plugin" diff --git a/mobile/android/fenix/buildSrc/build.gradle b/mobile/android/fenix/buildSrc/build.gradle index fca9a527296b..93580dab0f9e 100644 --- a/mobile/android/fenix/buildSrc/build.gradle +++ b/mobile/android/fenix/buildSrc/build.gradle @@ -17,7 +17,3 @@ repositories { mavenCentral() } } - -dependencies { - implementation "org.json:json:20210307" -} diff --git a/mobile/android/fenix/buildSrc/build.gradle b/mobile/android/fenix/plugins/apksize/build.gradle similarity index 81% copy from mobile/android/fenix/buildSrc/build.gradle copy to mobile/android/fenix/plugins/apksize/build.gradle index fca9a527296b..ebc7ab538273 100644 --- a/mobile/android/fenix/buildSrc/build.gradle +++ b/mobile/android/fenix/plugins/apksize/build.gradle @@ -21,3 +21,10 @@ repositories { dependencies { implementation "org.json:json:20210307" } + +gradlePlugin { + plugins.register("ApkSizePlugin") { + id = "ApkSizePlugin" + implementationClass = "ApkSizePlugin" + } +} diff --git a/mobile/android/fenix/plugins/apksize/settings.gradle b/mobile/android/fenix/plugins/apksize/settings.gradle new file mode 100644 index 000000000000..8e4fe24484fa --- /dev/null +++ b/mobile/android/fenix/plugins/apksize/settings.gradle @@ -0,0 +1,5 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +// Prevents gradle builds from looking for a root settings.gradle diff --git a/mobile/android/fenix/buildSrc/src/main/java/org/mozilla/fenix/gradle/tasks/ApkSizeTask.kt b/mobile/android/fenix/plugins/apksize/src/main/java/ApkSizePlugin.kt similarity index 96% rename from mobile/android/fenix/buildSrc/src/main/java/org/mozilla/fenix/gradle/tasks/ApkSizeTask.kt rename to mobile/android/fenix/plugins/apksize/src/main/java/ApkSizePlugin.kt index 377d7a689ae6..dd42b265097c 100644 --- a/mobile/android/fenix/buildSrc/src/main/java/org/mozilla/fenix/gradle/tasks/ApkSizeTask.kt +++ b/mobile/android/fenix/plugins/apksize/src/main/java/ApkSizePlugin.kt @@ -2,9 +2,9 @@ * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ -package org.mozilla.fenix.gradle.tasks - import org.gradle.api.DefaultTask +import org.gradle.api.Plugin +import org.gradle.api.initialization.Settings import org.gradle.api.tasks.Input import org.gradle.api.tasks.TaskAction import org.json.JSONArray @@ -14,6 +14,10 @@ import java.io.File import java.nio.file.Files import java.nio.file.Paths +class ApkSizePlugin : Plugin { + override fun apply(settings: Settings) = Unit +} + /** * Gradle task for determining the size of APKs and logging them in a perfherder compatible format. */ diff --git a/mobile/android/fenix/settings.gradle b/mobile/android/fenix/settings.gradle index 6f38b5ed9971..a29537659f62 100644 --- a/mobile/android/fenix/settings.gradle +++ b/mobile/android/fenix/settings.gradle @@ -6,10 +6,12 @@ pluginManagement { includeBuild("../android-components/plugins/publicsuffixlist") includeBuild("../android-components/plugins/dependencies") includeBuild("../android-components/plugins/config") + includeBuild("./plugins/apksize") includeBuild("./plugins/fenixdependencies") } plugins { + id 'ApkSizePlugin' id 'FenixDependenciesPlugin' id "mozac.ConfigPlugin" id 'mozac.DependenciesPlugin' -- 2.11.4.GIT