diff --git a/CONTRIBUTORS b/CONTRIBUTORS
index 21e84fb9d..4cc8f3306 100644
--- a/CONTRIBUTORS
+++ b/CONTRIBUTORS
@@ -389,6 +389,7 @@ Valentino Miazzo
Victor Toni
Vimil Saju
Vincent Legoll
+Vitold S
Volker Leidl
Waldek Herka
Wang Weijun
diff --git a/WHATSNEW b/WHATSNEW
index 8f8d635e7..4cc9c83a9 100644
--- a/WHATSNEW
+++ b/WHATSNEW
@@ -45,6 +45,10 @@ Fixed bugs:
archives that are different at the byte level each time an
archive was built.
+ * runant.py should now work as well when the path of the Java executable
+ contains spaces.
+ github pull request #1
+
Other changes:
--------------
diff --git a/contributors.xml b/contributors.xml
index 4e6e88dad..f8d6105a9 100644
--- a/contributors.xml
+++ b/contributors.xml
@@ -1564,6 +1564,10 @@
Vimil
Saju
+
+ Vitold
+ S
+
Volker
Leidl
diff --git a/src/script/runant.py b/src/script/runant.py
index 7111766a8..a0b27645d 100644
--- a/src/script/runant.py
+++ b/src/script/runant.py
@@ -51,7 +51,10 @@ if not os.environ.has_key('JAVACMD'):
if not os.path.exists(os.environ['JAVA_HOME']):
print "Warning: JAVA_HOME is not defined correctly."
else:
- JAVACMD = os.path.join(os.environ['JAVA_HOME'], 'bin', 'java')
+ JAVA_HOME = os.environ['JAVA_HOME']
+ while JAVA_HOME[0] == JAVA_HOME[-1] == "\"":
+ JAVA_HOME = JAVA_HOME[1:-1]
+ JAVACMD = os.path.join(JAVA_HOME, 'bin', 'java')
else:
print "Warning: JAVA_HOME not set."
else:
@@ -85,8 +88,11 @@ CLASSPATH = ""
if os.environ.has_key('CLASSPATH'):
CLASSPATH = "-lib " + os.environ['CLASSPATH']
+while JAVACMD[0] == JAVACMD[-1] == "\"":
+ JAVACMD = JAVACMD[1:-1]
+
# Builds the commandline
-cmdline = ('%s %s -classpath %s -Dant.home=%s %s ' + \
+cmdline = ('"%s" %s -classpath %s -Dant.home=%s %s ' + \
'org.apache.tools.ant.launch.Launcher %s %s %s') \
% (JAVACMD, ANT_OPTS, LOCALCLASSPATH, ANT_HOME, OPTS, ANT_ARGS, \
CLASSPATH, string.join(sys.argv[1:], ' '))