From dd0a79da3a00d27bd905606fb6ce9814a9369450 Mon Sep 17 00:00:00 2001 From: akliuxingyuan Date: Wed, 10 May 2023 21:53:36 +0800 Subject: [PATCH] fenix 113.0 --- android-components | 2 +- .../mozilla/fenix/settings/SupportUtils.kt | 8 +- app/src/main/res/values-rm/strings.xml | 41 ------ buildSrc/src/main/java/FenixDependencies.kt | 2 - settings.gradle | 2 +- shared-settings.gradle | 130 ++++++++++++++++++ version.txt | 2 +- 7 files changed, 134 insertions(+), 53 deletions(-) create mode 100644 shared-settings.gradle diff --git a/android-components b/android-components index 974435f28e..ed1e667c51 160000 --- a/android-components +++ b/android-components @@ -1 +1 @@ -Subproject commit 974435f28e26cc4d6ed340e2ab8f1ecaf343b0cf +Subproject commit ed1e667c517af6ad7f41d9a58d33fd3bf36fb9a5 diff --git a/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt b/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt index 407dd221f7..59c9703ef9 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt @@ -38,7 +38,7 @@ object SupportUtils { const val MEITUAN_URL = "https://tb.j5k6.com/6ZSOp" const val GOOGLE_US_URL = "https://www.google.com/webhp?client=firefox-b-1-m&channel=ts" const val GOOGLE_XX_URL = "https://www.google.com/webhp?client=firefox-b-m&channel=ts" - const val WHATS_NEW_URL = "https://www.mozilla.org/firefox/android/notes" + const val WHATS_NEW_URL = "https://github.com/fork-maintainers/iceraven-browser/releases" enum class SumoTopic(internal val topicStr: String) { HELP("faq-android"), @@ -100,12 +100,6 @@ object SupportUtils { return "https://www.mozilla.org/$langTag/$path" } - fun getWhatsNewUrl(context: Context) = if (Config.channel.isFork) { - "https://github.com/fork-maintainers/iceraven-browser/releases" - } else { - getSumoURLForTopic(context, SumoTopic.WHATS_NEW) - } - fun createCustomTabIntent(context: Context, url: String): Intent = CustomTabsIntent.Builder() .setInstantAppsEnabled(false) .setDefaultColorSchemeParams( diff --git a/app/src/main/res/values-rm/strings.xml b/app/src/main/res/values-rm/strings.xml index 43cf882cda..e4ce7042c1 100644 --- a/app/src/main/res/values-rm/strings.xml +++ b/app/src/main/res/values-rm/strings.xml @@ -453,47 +453,6 @@ Permetter - - Activar la reducziun da bandieras da cookies per %1$s? - - Deactivar la reducziun da bandieras da cookies per %1$s? - - %1$s vegn a stizzar ils cookies da questa website ed actualisar la pagina. Cun stizzar tut ils cookies vegns ti eventualmain deconnectà da websites ed i po dar che chanasters da cumpras vegnan svidads. - - %1$s po empruvar da refusar automaticamain dumondas da deponer cookies. - - %1$s emprova da refusar automaticamain tut las dumondas da deponer cookies da paginas sustegnidas. - - Permetter a Firefox da refusar bandieras da cookies? - - Permetter a %1$s da refusar bandieras da cookies? - - Refusar automaticamain dumondas da deponer cookies, sche pussaivel. - - Permetter a %1$s da refusar automaticamain dumondas da cookies sche pussaivel? - - %1$s po refusar automaticamain bleras dumondas da bandieras da cookies. - - Betg ussa - - Serrar las bandieras - - Ti vegns a vesair damain dumondas da cookies - - Vesair damain pop-ups da cookies - - Respunder automaticamain a pop-ups da cookies per che ti possias navigar senza distracziun. %1$s vegn a refusar sche pussaivel tut las dumondas. - - Bandischar ils pop-ups - - Reducziun da bandieras da cookies - - Permetter a %1$s da refusar sche pussaivel las dumondas dad acceptar cookies dad ina website? - - Permetter - - Permetter - Empruvar da connectar automaticamain cun websites cun agid dal protocol da criptadi HTTPS per dapli segirezza. diff --git a/buildSrc/src/main/java/FenixDependencies.kt b/buildSrc/src/main/java/FenixDependencies.kt index 7bf9c8da18..0d3c1aaf51 100644 --- a/buildSrc/src/main/java/FenixDependencies.kt +++ b/buildSrc/src/main/java/FenixDependencies.kt @@ -117,8 +117,6 @@ object FenixDependencies { const val protobuf_javalite = "com.google.protobuf:protobuf-javalite:${FenixVersions.protobuf}" const val protobuf_compiler = "com.google.protobuf:protoc:${FenixVersions.protobuf}" - const val jna = "net.java.dev.jna:jna:${FenixVersions.jna}@jar" - const val junit = "junit:junit:${FenixVersions.junit}" const val mockk = "io.mockk:mockk:${FenixVersions.mockk}" const val mockk_android = "io.mockk:mockk-android:${FenixVersions.mockk}" diff --git a/settings.gradle b/settings.gradle index 15309e68ec..24ba320a0a 100644 --- a/settings.gradle +++ b/settings.gradle @@ -11,7 +11,7 @@ plugins { id 'mozac.DependenciesPlugin' } -apply from: file('../shared-settings.gradle') +apply from: file('./shared-settings.gradle') include ':app' include ':mozilla-detekt-rules' diff --git a/shared-settings.gradle b/shared-settings.gradle new file mode 100644 index 0000000000..cc04d06997 --- /dev/null +++ b/shared-settings.gradle @@ -0,0 +1,130 @@ +/* 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/. */ + +import org.yaml.snakeyaml.Yaml + +buildscript { + repositories { + mavenCentral() + } + + dependencies { + classpath 'org.yaml:snakeyaml:1.33' + } +} + +// Synchronized library configuration for all modules +// This "componentsVersion" number is defined in "version.txt" and should follow +// semantic versioning (MAJOR.MINOR.PATCH). See https://semver.org/ +class Config { + + public final String componentsVersion + public final String componentsGroupId + public final Integer compileSdkVersion + public final Integer minSdkVersion + public final Integer targetSdkVersion + + Config( + String componentsVersion, + String componentsGroupId, + Integer compileSdkVersion, + Integer minSdkVersion, + Integer targetSdkVersion + ) { + this.componentsVersion = componentsVersion + this.componentsGroupId = componentsGroupId + this.compileSdkVersion = compileSdkVersion + this.minSdkVersion = minSdkVersion + this.targetSdkVersion = targetSdkVersion + } +} + +def setupProject(name, path, description) { + settings.include(":$name") + + project(":$name").projectDir = new File(rootDir, "android-components/${path}") + + // project(...) gives us a skeleton project that we can't set ext.* on + gradle.beforeProject { project -> + // However, the "afterProject" listener iterates over every project and gives us the actual project + // So, once we filter for the project we care about, we can set whatever we want + if (project.name == name) { + project.ext.description = description + } + } +} + +// Return a manifest version string that respects the Firefox version format, +// see: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/manifest.json/version#version_format +def getManifestVersionString(componentsVersion) { + // We assume that the `version.txt` file will always contain a version + // string with at least two parts separated with a dot. Below, we extract + // each part, and we make sure that there is no letter, e.g. `"0a2"` would + // become `"0"`. + String[] parts = componentsVersion.split("\\.").collect { + part -> part.split("a|b")[0] + }; + // Note the single `H` to avoid leading zeros, which are not allowed. + String dateAndTime = new Date().format("YYYYMMdd.Hmmss"); + + return "${parts[0]}.${parts[1]}.${dateAndTime}"; +} + +def yaml = new Yaml() +def buildconfig = yaml.load(new File(rootDir, 'android-components/.buildconfig.yml').newInputStream()) + +buildconfig.projects.each { project -> + // If we're building A-C, set up all projects, otherwise exclude samples e.g., if we're building Fenix or Focus. + // The samples are not relevant for the Fenix and Focus builds. + if (rootDir.toString().contains("android-components") || !project.key.startsWith("samples")) { + setupProject(project.key, project.value.path, project.value.description) + } +} + +gradle.projectsLoaded { -> + def componentsVersion = new File(rootDir, 'version.txt').text.stripTrailing() + def configData = yaml.load(new File(rootDir, 'android-components/.config.yml').newInputStream()) + String version = componentsVersion + + if (gradle.rootProject.hasProperty("nightlyVersion")) { + version = gradle.rootProject.nightlyVersion + } else if (gradle.rootProject.hasProperty("local")) { + // To support local auto-publication workflow, we use a version prefix we wouldn't normally encounter. + version = "0.0.1" + } else if (gradle.hasProperty("localProperties.branchBuild.android-components.version")) { + version = gradle.getProperty("localProperties.branchBuild.android-components.version") + } + + // Wait until root project is "loaded" before we set "config" + // Note that since this is set on "rootProject.ext", it will be "in scope" during the evaluation of all projects' + // gradle files. This means that they can just access "config.", and it'll function properly + gradle.rootProject.ext.config = new Config( + version, + configData.componentsGroupId, + configData.compileSdkVersion, + configData.minSdkVersion, + configData.targetSdkVersion + ) + + gradle.rootProject.ext.buildConfig = buildconfig + + // Define a reusable task for updating the version in manifest.json for modules that package + // a web extension. We automate this to make sure we never forget to update the version, either + // in local development or for releases. In both cases, we want to make sure the latest version + // of all extensions (including their latest changes) are installed on first start-up. + gradle.rootProject.allprojects { + ext.updateExtensionVersion = { task, extDir -> + configure(task) { + from extDir + include 'manifest.template.json' + rename { 'manifest.json' } + into extDir + + def values = ['version': getManifestVersionString(rootProject.ext.config.componentsVersion)] + inputs.properties(values) + expand(values) + } + } + } +} diff --git a/version.txt b/version.txt index 2a438252cd..3213fbf72f 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -112.2.0 +113.0