(parser, alt_java_homes)
| 983 | |
| 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)?)') |
| 1009 | revision_re = re.compile(r'rev-([a-f\d]+)') |
| 1010 | def parse_config(): |
| 1011 | epilogue = textwrap.dedent(''' |
| 1012 | Example usage: |
| 1013 | python3 -u dev-tools/scripts/smokeTestRelease.py https://dist.apache.org/repos/dist/dev/solr/solr-10.0.0-RC1-rev-c7510a0... |
| 1014 | ''') |
| 1015 | description = 'Utility to test a release.' |
| 1016 | parser = argparse.ArgumentParser(description=description, epilog=epilogue, |
| 1017 | formatter_class=argparse.RawDescriptionHelpFormatter) |
| 1018 | parser.add_argument('--tmp-dir', metavar='PATH', |
| 1019 | help='Temporary directory to test inside, defaults to /tmp/smoke_solr_$version_$revision') |
| 1020 | parser.add_argument('--reuse-tmp-dir', action='store_true', default=False, |
| 1021 | help='Allows --tmp-dir to already exist and reuses whatever it already downloaded, ' |
| 1022 | 'instead of re-downloading everything from scratch') |
| 1023 | parser.add_argument('--not-signed', dest='is_signed', action='store_false', default=True, |
no test coverage detected
searching dependent graphs…