From f2e3b109e62693c4b7ede08bcde6bc87596fc341 Mon Sep 17 00:00:00 2001 From: Alan Woodward Date: Mon, 26 Mar 2018 12:00:12 +0100 Subject: [PATCH] LUCENE-8224: Allow releases to be built with ant 1.10 Also adds a check to common-build.xml to fail early with ant 1.10.2, which has a bug that prevents lucene from building. --- dev-tools/scripts/buildAndPushRelease.py | 12 ++++++++++-- dev-tools/scripts/smokeTestRelease.py | 4 ++-- lucene/common-build.xml | 6 ++++++ 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/dev-tools/scripts/buildAndPushRelease.py b/dev-tools/scripts/buildAndPushRelease.py index af3053b5215..417bd3dae4f 100644 --- a/dev-tools/scripts/buildAndPushRelease.py +++ b/dev-tools/scripts/buildAndPushRelease.py @@ -286,9 +286,17 @@ def parse_config(): def check_cmdline_tools(): # Fail fast if there are cmdline tool problems if os.system('git --version >/dev/null 2>/dev/null'): raise RuntimeError('"git --version" returned a non-zero exit code.') + check_ant() + +def check_ant(): antVersion = os.popen('ant -version').read().strip() - if not antVersion.startswith('Apache Ant(TM) version 1.8') and not antVersion.startswith('Apache Ant(TM) version 1.9'): - raise RuntimeError('ant version is not 1.8.X: "%s"' % antVersion) + if (antVersion.startswith('Apache Ant(TM) version 1.8')): + return + if (antVersion.startswith('Apache Ant(TM) version 1.9')): + return + if (antVersion.startswith('Apache Ant(TM) version 1.10')): + return + raise RuntimeError('Unsupported ant version (must be 1.8 - 1.10): "%s"' % antVersion) def main(): check_cmdline_tools() diff --git a/dev-tools/scripts/smokeTestRelease.py b/dev-tools/scripts/smokeTestRelease.py index 2e6f1e68ac4..33df9f4bc5f 100644 --- a/dev-tools/scripts/smokeTestRelease.py +++ b/dev-tools/scripts/smokeTestRelease.py @@ -190,8 +190,8 @@ def checkJARMetaData(desc, jarFile, gitRevision, version): 'Implementation-Vendor: The Apache Software Foundation', # Make sure 1.8 compiler was used to build release bits: 'X-Compile-Source-JDK: 8', - # Make sure 1.8 or 1.9 ant was used to build release bits: (this will match 1.8.x, 1.9.x) - ('Ant-Version: Apache Ant 1.8', 'Ant-Version: Apache Ant 1.9'), + # Make sure 1.8, 1.9 or 1.10 ant was used to build release bits: (this will match 1.8.x, 1.9.x, 1.10.x) + ('Ant-Version: Apache Ant 1.8', 'Ant-Version: Apache Ant 1.9', 'Ant-Version: Apache Ant 1.10'), # Make sure .class files are 1.8 format: 'X-Compile-Target-JDK: 8', 'Specification-Version: %s' % version, diff --git a/lucene/common-build.xml b/lucene/common-build.xml index 1061a54028a..05af24ed43f 100644 --- a/lucene/common-build.xml +++ b/lucene/common-build.xml @@ -283,6 +283,12 @@ + + + + + +