###############################################################################
# Copyright (c) 2000, 2017 IBM Corporation and others.
#
# This program and the accompanying materials
# are made available under the terms of the Eclipse Public License 2.0
# which accompanies this distribution, and is available at
# https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#     IBM Corporation - initial API and implementation
#     dakshinamurthy.karra@gmail.com - bug 165371
###############################################################################

AntLaunchDelegate_Launching__0__1=Launching {0}
AntLaunchDelegate_Launching__0__2=JRE version less than 1.8 is not supported. 
AntLaunchDelegate_Running__0__2=Running {0}
AntLaunchDelegate_Build_In_Progress=Ant build {0} already in progress. Concurrent Ant builds are possible if you specify to build in a separate JRE.
AntLaunchDelegate_Failure=Failure of Background Ant Build
AntLaunchDelegate_23=Ant Build Failed
AntLaunchDelegate_28=Waiting for virtual machine to exit...

AntHomeClasspathEntry_8=Ant Home (Default)
AntHomeClasspathEntry_9=Ant Home ({0})
AntHomeClasspathEntry_10=Ant Home {0} does not exist
AntHomeClasspathEntry_11=Ant Home {0} does not contain a "lib" directory

ContributedClasspathEntriesEntry_1=Additional Tasks & Support