diff --git a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/OptionTests.java b/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/OptionTests.java
index aaf43e3..e18cbaf 100644
--- a/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/OptionTests.java
+++ b/ant/org.eclipse.ant.tests.core/tests/org/eclipse/ant/tests/core/tests/OptionTests.java
@@ -37,8 +37,8 @@
 
 	protected static final String UNKNOWN_ARG = "Unknown argument: "; //$NON-NLS-1$
 	protected static final String START_OF_HELP = "ant [options] [target [target2 [target3] ...]]"; //$NON-NLS-1$
-	protected static final String VERSION = "Apache Ant(TM) version 1.10.8"; //$NON-NLS-1$
-	protected static final String PLUGIN_VERSION = "org.apache.ant_1.10.8"; //$NON-NLS-1$
+	protected static final String VERSION = "Apache Ant(TM) version 1.10.9"; //$NON-NLS-1$
+	protected static final String PLUGIN_VERSION = "org.apache.ant_1.10.9"; //$NON-NLS-1$
 
 	/**
 	 * Tests the "-help" option
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/PropertyTests.java b/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/PropertyTests.java
index 3eeb2a7..d70f593 100644
--- a/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/PropertyTests.java
+++ b/ant/org.eclipse.ant.tests.ui/Ant Debug Tests/org/eclipse/ant/tests/ui/debug/PropertyTests.java
@@ -27,7 +27,7 @@
 
 public class PropertyTests extends AbstractAntDebugTest {
 
-	private static final String ANT_VERSION = "Apache Ant(TM) version 1.10.8"; //$NON-NLS-1$
+	private static final String ANT_VERSION = "Apache Ant(TM) version 1.10.9"; //$NON-NLS-1$
 
 	public PropertyTests(String name) {
 		super(name);
diff --git a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/separateVM/SeparateVMTests.java b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/separateVM/SeparateVMTests.java
index b7bdb3b..8a3194a 100644
--- a/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/separateVM/SeparateVMTests.java
+++ b/ant/org.eclipse.ant.tests.ui/Ant Tests/org/eclipse/ant/tests/ui/separateVM/SeparateVMTests.java
@@ -7,7 +7,7 @@
  *  https://www.eclipse.org/legal/epl-2.0/
  *
  *  SPDX-License-Identifier: EPL-2.0
- * 
+ *
  *  Contributors:
  *     IBM Corporation - initial API and implementation
  *******************************************************************************/
@@ -40,7 +40,7 @@
 
 public class SeparateVMTests extends AbstractAntUIBuildTest {
 
-	protected static final String PLUGIN_VERSION = "org.apache.ant_1.10.8"; //$NON-NLS-1$
+	protected static final String PLUGIN_VERSION = "org.apache.ant_1.10.9"; //$NON-NLS-1$
 
 	public SeparateVMTests(String name) {
 		super(name);
@@ -49,7 +49,7 @@
 	/**
 	 * Checks that the expected line count has been reached and if not dump out what
 	 * was tracked to System.err
-	 * 
+	 *
 	 * @param expectedLines
 	 * @since 3.8.200
 	 */
@@ -113,11 +113,11 @@
 		assertTrue("Incorrect message. Should start with [null] Testing Ant in Eclipse with a custom task2. Message: " //$NON-NLS-1$
 				+ ConsoleLineTracker.getMessage(2),
 				ConsoleLineTracker.getMessage(2).trim()
-						.startsWith("[null] Testing Ant in Eclipse with a custom task2")); //$NON-NLS-1$
+				.startsWith("[null] Testing Ant in Eclipse with a custom task2")); //$NON-NLS-1$
 		assertTrue("Incorrect message. Should start with [null] Testing Ant in Eclipse with a custom task2. Message: " //$NON-NLS-1$
 				+ ConsoleLineTracker.getMessage(3),
 				ConsoleLineTracker.getMessage(3).trim()
-						.startsWith("[null] Testing Ant in Eclipse with a custom task2")); //$NON-NLS-1$
+				.startsWith("[null] Testing Ant in Eclipse with a custom task2")); //$NON-NLS-1$
 	}
 
 	/**
@@ -130,7 +130,7 @@
 		assertTrue("Incorrect message. Should start with [echo] Ensure that an extension point defined type. Message: " //$NON-NLS-1$
 				+ ConsoleLineTracker.getMessage(2),
 				ConsoleLineTracker.getMessage(2).trim()
-						.startsWith("[echo] Ensure that an extension point defined type")); //$NON-NLS-1$
+				.startsWith("[echo] Ensure that an extension point defined type")); //$NON-NLS-1$
 	}
 
 	/**
@@ -224,7 +224,7 @@
 
 	/**
 	 * Tests specifying the XmlLogger as a listener (bug 80435)
-	 * 
+	 *
 	 * @throws FileNotFoundException
 	 */
 	public void testXmlLoggerListener() throws CoreException, FileNotFoundException {
