Repo created
This commit is contained in:
parent
75dc487a7a
commit
39c29d175b
6317 changed files with 388324 additions and 2 deletions
82
scripts/ci/merges/merge_gradle.py
Normal file
82
scripts/ci/merges/merge_gradle.py
Normal file
|
|
@ -0,0 +1,82 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import re
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
ours = sys.argv[1]
|
||||
theirs = sys.argv[2]
|
||||
|
||||
|
||||
def get_current_branch():
|
||||
result = subprocess.run(
|
||||
["git", "rev-parse", "--abbrev-ref", "HEAD"],
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
text=True,
|
||||
)
|
||||
if result.returncode:
|
||||
raise SystemExit(f"Git error: {result.stderr.strip()}")
|
||||
return result.stdout.strip()
|
||||
|
||||
|
||||
def find_matching_line(file_path, search_term):
|
||||
"""Finds and returns the first line containing search term in file."""
|
||||
with open(file_path, "r") as file:
|
||||
for line in file:
|
||||
if re.search(search_term, line):
|
||||
return line
|
||||
return None
|
||||
|
||||
|
||||
def replace_matching_line(file_path, search_term, new_line):
|
||||
"""Finds matching line in file and replaces it with new_line."""
|
||||
with open(file_path, "r") as file:
|
||||
lines = file.readlines()
|
||||
|
||||
with open(file_path, "w") as file:
|
||||
for line in lines:
|
||||
if re.search(search_term, line):
|
||||
file.write(new_line)
|
||||
else:
|
||||
file.write(line)
|
||||
|
||||
|
||||
branch = get_current_branch()
|
||||
|
||||
search_term = "com.fsck.k9"
|
||||
is_k9 = find_matching_line(ours, search_term)
|
||||
|
||||
search_term = "net.thunderbird.android"
|
||||
is_thunderbird = find_matching_line(ours, search_term)
|
||||
|
||||
search_term = r"versionCode = "
|
||||
found_line = find_matching_line(ours, search_term)
|
||||
|
||||
shutil.copyfile(theirs, ours)
|
||||
|
||||
if found_line:
|
||||
replace_matching_line(ours, search_term, found_line)
|
||||
else:
|
||||
raise SystemExit(f"Search term '{search_term}' not found in ours file.")
|
||||
|
||||
if branch == "beta":
|
||||
if is_k9:
|
||||
search_term = r"versionNameSuffix = \"a1\""
|
||||
else:
|
||||
search_term = r"versionNameSuffix = \"b[1-9]\""
|
||||
found_line = find_matching_line(theirs, search_term)
|
||||
if found_line:
|
||||
if "b1" not in found_line:
|
||||
new_line = "{}{}\n".format(found_line.split("=")[0], '= "b1"')
|
||||
replace_matching_line(ours, search_term, new_line)
|
||||
else:
|
||||
raise SystemExit(f"Search term '{search_term}' not found in theirs file.")
|
||||
elif branch == "release":
|
||||
search_term = r"versionNameSuffix = \"b[1-9]\""
|
||||
found_line = find_matching_line(theirs, search_term)
|
||||
if found_line:
|
||||
replace_matching_line(ours, search_term, "")
|
||||
else:
|
||||
raise SystemExit(f"Search term '{search_term}' not found in theirs file.")
|
||||
Loading…
Add table
Add a link
Reference in a new issue