mirror of
https://github.com/f-droid/fdroidserver.git
synced 2025-11-04 22:40:29 +03:00
gitlab-ci: gradle job generates required changes for new versions
This commit is contained in:
parent
b8cd4396f4
commit
eec0d3a336
3 changed files with 45 additions and 6 deletions
|
|
@ -31,8 +31,8 @@ for a in soup.find_all('a'):
|
|||
errors = 0
|
||||
makebuildserver = os.path.join(os.path.dirname(__file__), os.pardir, 'makebuildserver')
|
||||
with open(makebuildserver) as fp:
|
||||
contents = fp.read()
|
||||
to_compile = re.search(r'CACHE_FILES = [^\]]+\]', contents, flags=re.DOTALL | re.MULTILINE).group()
|
||||
makebuildserver_current = fp.read()
|
||||
to_compile = re.search(r'CACHE_FILES = [^\]]+\]', makebuildserver_current).group()
|
||||
code = compile(to_compile, makebuildserver, 'exec')
|
||||
config = {}
|
||||
exec(code, None, config) # nosec this is just a CI script
|
||||
|
|
@ -50,9 +50,36 @@ for url, checksum in config['CACHE_FILES']:
|
|||
for version in sorted(versions.keys()):
|
||||
if version not in makebuildserver_versions \
|
||||
and LooseVersion(version) > LooseVersion(sorted(makebuildserver_versions)[-1]):
|
||||
errors += 1
|
||||
print(" ('https://services.gradle.org/distributions/gradle-" + version + "-bin.zip',\n"
|
||||
" '" + versions[version] + "'),")
|
||||
add_before = """ ('https://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin',"""
|
||||
new = to_compile.replace(
|
||||
add_before,
|
||||
" ('https://services.gradle.org/distributions/gradle-" + version + "-bin.zip',\n"
|
||||
" '" + versions[version] + "'),\n" + add_before
|
||||
)
|
||||
makebuildserver_current = makebuildserver_current.replace(to_compile, new)
|
||||
|
||||
with open('makebuildserver', 'w') as fp:
|
||||
fp.write(makebuildserver_current)
|
||||
|
||||
# write out update to gradlew-fdroid
|
||||
with open('gradlew-fdroid') as fp:
|
||||
gradlew_fdroid = fp.read()
|
||||
current = ''
|
||||
get_sha_pat = re.compile(r""" +'([0-9][0-9.]+[0-9])'\)\s+echo '([0-9a-f]{64})' ;;\n""")
|
||||
for m in get_sha_pat.finditer(gradlew_fdroid):
|
||||
current += m.group()
|
||||
new = ''
|
||||
for version in sorted(versions.keys(), key=LooseVersion):
|
||||
sha256 = versions[version]
|
||||
spaces = ''
|
||||
for i in range(6 - len(version)):
|
||||
spaces += ' '
|
||||
new += """ '%s')%s echo '%s' ;;\n""" % (version, spaces, sha256)
|
||||
gradlew_fdroid = gradlew_fdroid.replace(current, new)
|
||||
plugin_v = ' '.join(sorted(versions.keys(), key=LooseVersion, reverse=True))
|
||||
plugin_v_pat = re.compile(r'\nplugin_v=\(([0-9. ]+)\)')
|
||||
with open('gradlew-fdroid', 'w') as fp:
|
||||
fp.write(plugin_v_pat.sub('\nplugin_v=(%s)' % plugin_v, gradlew_fdroid))
|
||||
|
||||
print('makebuildserver has gradle v' + sorted(makebuildserver_versions)[-1])
|
||||
sys.exit(errors)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue