(java_home, is_base_version=False)
| 984 | |
| 985 | def make_java_config(parser): |
| 986 | java_home = os.environ.get('JAVA_HOME') |
| 987 | if java_home is None: |
| 988 | parser.error('JAVA_HOME must be set') |
| 989 | if cygwin: |
| 990 | java_home = subprocess.check_output('cygpath -u "%s"' % java_home, shell=True).decode('utf-8').strip() |
| 991 | cmd_prefix = 'export JAVA_HOME="%s" PATH="%s/bin:$PATH" JAVACMD="%s/bin/java" GRADLE_OPTS="-Dorg.gradle.daemon=false"' % \ |
| 992 | (java_home, java_home, java_home) |
| 993 | s = subprocess.check_output('%s; java -version' % cmd_prefix, |
| 994 | shell=True, stderr=subprocess.STDOUT).decode('utf-8') |
| 995 | actual_version = re.search(r'version "([1-9][0-9]*)', s).group(1) |
| 996 | print('Java %s JAVA_HOME=%s' % (actual_version, java_home)) |
| 997 | |
| 998 | if int(actual_version) < int(BASE_JAVA_VERSION): |
| 999 | parser.error('got wrong version for java %s, must be at least base version %s:\n%s' % (actual_version, BASE_JAVA_VERSION, s)) |
| 1000 | |
| 1001 | def run_java(cmd, logfile): |
| 1002 | run('%s; %s' % (cmd_prefix, cmd), logfile) |
| 1003 | |
| 1004 | jc = namedtuple('JavaConfig', 'run_java java_home version') |
| 1005 | return jc(run_java, java_home, actual_version) |
| 1006 | |
| 1007 | |
| 1008 | version_re = re.compile(r'(\d+\.\d+\.\d+(-ALPHA|-BETA)?)') |
no test coverage detected
searching dependent graphs…