Files
IronFox/scripts/deglean.py
celenity d6c4c71cb1 IronFox v143.0
ironfox-oss/IronFox!80
____

## Changes

- [Fixed an issue that caused the browser to always attempt to install uBlock Origin, even if deselected on the onboarding](https://gitlab.com/ironfox-oss/IronFox/-/issues/180).
- [Fixed and added back the `Debug Drawer` secret setting](c6e1c4cd68).
- [Glean](https://github.com/mozilla/glean) is now built with [Tor Browser's no-op UniFFI binding generator](766e179979).
- Prevented the browser from initializing the [Nimbus *(Experimentation)* library](https://experimenter.info/getting-started/engineers/getting-started-for-android-engineers/).
- Rebased onto Application Services [`v143.0`](https://github.com/mozilla/application-services/releases/tag/v143.0).
- Rebased onto Firefox [`143.0`](https://firefox.com/firefox/android/143.0/releasenotes/).
- Rebased onto Glean [`v64.5.5`](https://github.com/mozilla/glean/releases/tag/v64.5.5).
- Removed additional unwanted/unnecessary components used for data collection and marketing.
- Removed [Glean](https://github.com/mozilla/glean) from Mozilla's [Android Components](https://searchfox.org/firefox-main/source/mobile/android/android-components/README.md).
- Removed [Glean](https://github.com/mozilla/glean) from [Application Services](https://github.com/mozilla/application-services).
- Removed the `Enable disk cache for secure webpages` UI setting toggle. Note that the `Enable disk cache` toggle is a master-switch, it disables disk cache for *both* insecure *and* secure websites, and it remains off by default.
- Removed the `Hard-fail OCSP revocation checks` UI setting toggle, as we no longer enable or use OCSP by default, in favor of CRLite *([See details](e599bd459e))*.
- Removed [Nimbus](https://experimenter.info/getting-started/engineers/getting-started-for-android-engineers/) from the [`engine-gecko` Android component](https://searchfox.org/firefox-main/source/mobile/android/android-components/components/browser/engine-gecko/README.md).
- [Stubbed `PlayStoreReviewPromptController`, and removed the now-unnecessary microG `Tasks` library](52791d3500).
- Updated the default Rust version [for **Gecko** and **Glean**](ec6ee31f83) to [`1.89.0`](https://doc.rust-lang.org/stable/releases.html#version-1890-2025-08-07).
- Updated Phoenix to [`2025.09.07.1`](https://codeberg.org/celenity/Phoenix/releases/tag/2025.09.07.1).
- [Other tweaks, refinements, and minor enhancements](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/80/diffs).

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Weblate <hosted@weblate.org>
Co-authored-by: LucasMZ <git@lucasmz.dev>
Co-authored-by: Akash Yadav <itsaky01@gmail.com>
Approved-by: Akash Yadav <itsaky01@gmail.com>
Merged-by: celenity <celenity@celenity.dev>
2025-09-17 13:46:08 +00:00

69 lines
2.1 KiB
Python

#!/usr/bin/env python3
import re
import argparse
def deglean(file_path):
"""
Wraps the 'ext { ... }' block in multi-line comments in a Gradle build file
only if it contains lines that start with 'glean'.
"""
with open(file_path, "r") as f:
lines = f.readlines()
processed_lines = []
in_ext_block = False
ext_block_content = []
brace_depth = 0
contains_glean = False
for line in lines:
# Check for the start of the ext block
if not in_ext_block and re.match(r'^\s*ext\s*\{', line):
in_ext_block = True
brace_depth = 1
ext_block_content.append(line)
continue
if in_ext_block:
ext_block_content.append(line)
# Check if the line starts with "glean" (case insensitive)
if line.strip().lower().startswith("glean"):
contains_glean = True
brace_depth += line.count("{") - line.count("}")
# Check for the end of the ext block
if brace_depth == 0:
# Wrap the ext block content in multi-line comments only if it contains "Glean"
if contains_glean:
processed_lines.append("/*\n")
processed_lines.extend(ext_block_content)
processed_lines.append("*/\n")
else:
processed_lines.extend(ext_block_content)
# Reset state
in_ext_block = False
ext_block_content = []
contains_glean = False
continue
# If not in an ext block, just append the line
else:
processed_lines.append(line)
with open(file_path, "w") as f:
f.writelines(processed_lines)
def main():
parser = argparse.ArgumentParser(
description="Wrap 'ext { ... }' blocks in multi-line comments in Gradle build files."
)
parser.add_argument("file", help="Path to the Gradle build file")
args = parser.parse_args()
deglean(args.file)
if __name__ == "__main__":
main()