Skip to content

Instantly share code, notes, and snippets.

@ganadist

ganadist/g Secret

Last active March 21, 2023 01:33
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save ganadist/a8ec8976ff36da987da14a1427810a76 to your computer and use it in GitHub Desktop.
Save ganadist/a8ec8976ff36da987da14a1427810a76 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python3
# vim: ts=4 sw=4 sts=4 et ai
from __future__ import division, print_function, unicode_literals
import os
import sys
GRADLEW = 'gradlew'
FLAVORS = {
'd': 'D',
'b': 'B',
'r': 'R',
'p': 'P',
'': '',
}
RELEASES = {
'r': 'R',
'd': 'D',
'rd': 'RD'
}
def find_root():
while True:
if os.access(GRADLEW, os.X_OK):
return
if os.getcwd() == os.path.sep:
print('cannot find gradlew script')
sys.exit(1)
os.chdir('..')
def parse_abbr_target(target):
install = False
test = False
DEFAULT_OPTS = ('--console', 'plain')
#DEFAULT_OPTS += ('-S', )
#DEFAULT_OPTS += ('--profile', '--no-daemon',
# '--no-build-cache', '--max-workers=1', '-Pkotlin.compiler.execution.strategy="in-process"')
if target.endswith('i'):
abbr_target = target[:-1]
install = True
elif target.endswith('t'):
abbr_target = target[:-1]
test = True
else:
abbr_target = target
if abbr_target in RELEASES:
flavor = ''
release = abbr_target
else:
flavor, release = abbr_target[0], abbr_target[1:]
if not flavor in FLAVORS or not release in RELEASES:
return (target, ) + DEFAULT_OPTS
flavor = FLAVORS[flavor]
release = RELEASES[release]
phase = flavor + release
if install:
cmd = (':app:install' + phase, )
elif test:
cmd = (':app:test' + phase + 'UnitTest', )
else:
#cmd = (':app:assemble' + phase,
cmd = (':app:p' + phase + 'UA', ':app:bundle' + phase )
return cmd + DEFAULT_OPTS
JVM_HOME_GRAALVM_11 = '/Library/Java/JavaVirtualMachines/graalvm-ce-java11-22.3.0/Contents/Home'
JVM_HOME_GRAALVM_17 = '/Library/Java/JavaVirtualMachines/graalvm-ce-java17-22.3.0/Contents/Home'
JVM_HOME_OPENJDK11 = "/Users/ganadist/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-2/213.7172.25.2113.9123335/Android Studio.app/Contents/jre/Contents/Home"
JVM_HOME_OPENJDK17 = '/opt/homebrew/Cellar/openjdk/17.0.5'
def main(*args):
env = os.environ
#env['JAVA_HOME'] = JVM_HOME_OPENJDK11
#env['JAVA_HOME'] = JVM_HOME_OPENJDK11
env['JAVA_HOME'] = JVM_HOME_GRAALVM_11
#env['JAVA_HOME'] = JVM_HOME_GRAALVM_17
#env['JENKINS_URL'] = 'http://localhost'
if 0:
env['JENKINS_URL'] = 'https://localhost'
env['BUILD_URL'] = 'https://github.com/line/blahbllah'
find_root()
if len(args) >= 1:
target = args[0]
if target:
args = parse_abbr_target(target) + args[1:]
cmd = ('./' + GRADLEW, ) + args
print(cmd)
os.execle(cmd[0], *cmd, env)
if __name__ == '__main__':
main(*sys.argv[1:])
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment