add support for gradle kotlin scripts
https://guides.gradle.org/migrating-build-logic-from-groovy-to-kotlin/ Closes fdroid/fdroidserver#613 cherry-picked from Bubu/fdroidserver@7d2e9f9c
This commit is contained in:
parent
3de2d0f56f
commit
9ae41cc1ff
|
@ -468,7 +468,7 @@ def build_local(app, build, vcs, build_dir, output_dir, log_dir, srclib_dir, ext
|
|||
if f in files:
|
||||
os.remove(os.path.join(root, f))
|
||||
|
||||
if any(f in files for f in ['build.gradle', 'settings.gradle']):
|
||||
if any(f in files for f in ['build.gradle', 'build.gradle.kts', 'settings.gradle', 'settings.gradle.kts']):
|
||||
# Even when running clean, gradle stores task/artifact caches in
|
||||
# .gradle/ as binary files. To avoid overcomplicating the scanner,
|
||||
# manually delete them, just like `gradle clean` should have removed
|
||||
|
|
|
@ -334,7 +334,7 @@ def try_init_submodules(app, last_build, vcs):
|
|||
def dirs_with_manifest(startdir):
|
||||
for root, dirs, files in os.walk(startdir):
|
||||
if any(m in files for m in [
|
||||
'AndroidManifest.xml', 'pom.xml', 'build.gradle']):
|
||||
'AndroidManifest.xml', 'pom.xml', 'build.gradle', 'build.gradle.kts']):
|
||||
yield root
|
||||
|
||||
|
||||
|
|
|
@ -1301,7 +1301,8 @@ def manifest_paths(app_dir, flavours):
|
|||
[os.path.join(app_dir, 'AndroidManifest.xml'),
|
||||
os.path.join(app_dir, 'src', 'main', 'AndroidManifest.xml'),
|
||||
os.path.join(app_dir, 'src', 'AndroidManifest.xml'),
|
||||
os.path.join(app_dir, 'build.gradle')]
|
||||
os.path.join(app_dir, 'build.gradle'),
|
||||
os.path.join(app_dir, 'build.gradle.kts')]
|
||||
|
||||
for flavour in flavours:
|
||||
if flavour == 'yes':
|
||||
|
@ -1788,9 +1789,15 @@ def prepare_source(vcs, app, build, build_dir, srclib_dir, extlib_dir, onserver=
|
|||
|
||||
if build.target:
|
||||
n = build.target.split('-')[1]
|
||||
build_gradle = os.path.join(root_dir, "build.gradle")
|
||||
build_gradle_kts = build_gradle + ".kts"
|
||||
if os.path.exists(build_gradle):
|
||||
gradlefile = build_gradle
|
||||
elif os.path.exist(build_gradle_kts):
|
||||
gradlefile = build_gradle_kts
|
||||
regsub_file(r'compileSdkVersion[ =]+[0-9]+',
|
||||
r'compileSdkVersion %s' % n,
|
||||
os.path.join(root_dir, 'build.gradle'))
|
||||
gradlefile)
|
||||
|
||||
# Remove forced debuggable flags
|
||||
remove_debuggable_flags(root_dir)
|
||||
|
@ -2381,9 +2388,13 @@ gradle_line_matches = [
|
|||
|
||||
def remove_signing_keys(build_dir):
|
||||
for root, dirs, files in os.walk(build_dir):
|
||||
gradlefile = None
|
||||
if 'build.gradle' in files:
|
||||
path = os.path.join(root, 'build.gradle')
|
||||
|
||||
gradlefile = "build.gradle"
|
||||
elif 'build.gradle.kts' in files:
|
||||
gradlefile = "build.gradle.kts"
|
||||
if gradlefile:
|
||||
path = os.path.join(root, gradlefile)
|
||||
with open(path, "r") as o:
|
||||
lines = o.readlines()
|
||||
|
||||
|
@ -2421,7 +2432,7 @@ def remove_signing_keys(build_dir):
|
|||
o.write(line)
|
||||
|
||||
if changed:
|
||||
logging.info("Cleaned build.gradle of keysigning configs at %s" % path)
|
||||
logging.info("Cleaned %s of keysigning configs at %s" % (gradlefile, path))
|
||||
|
||||
for propfile in [
|
||||
'project.properties',
|
||||
|
|
|
@ -299,7 +299,8 @@ def main():
|
|||
app.Categories = options.categories.split(',')
|
||||
if os.path.exists(os.path.join(subdir, 'jni')):
|
||||
build.buildjni = ['yes']
|
||||
if os.path.exists(os.path.join(subdir, 'build.gradle')):
|
||||
if os.path.exists(os.path.join(subdir, 'build.gradle')) \
|
||||
or os.path.exists(os.path.join(subdir, 'build.gradle')):
|
||||
build.gradle = ['yes']
|
||||
|
||||
package_json = os.path.join(build_dir, 'package.json') # react-native
|
||||
|
|
|
@ -174,7 +174,7 @@ if [[ -n $wrapper_ver ]]; then
|
|||
fi
|
||||
|
||||
# Earliest takes priority
|
||||
for f in {.,..}/build.gradle; do
|
||||
for f in {.,..}/build.gradle{,.kts}; do
|
||||
[[ -f $f ]] || continue
|
||||
while IFS='' read -r line || [ -n "$line" ]; do
|
||||
if [[ -z "$plugin_pver" && $line == *'com.android.tools.build:gradle:'* ]]; then
|
||||
|
|
Loading…
Reference in New Issue