######################################################################
# Copyright (c) 2000, 2002 IBM Corp. and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Common Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/cpl-v10.html
#
# Contributors:
#    IBM Corporation - Initial implementation
######################################################################

AntCorePreferences.Malformed_URL._1=Malformed URL.
AntCorePreferences.Library_not_specified_for__{0}_4=Library not specified for: {0}

AntRunner.Could_not_find_one_or_more_classes._Please_check_the_Ant_classpath._1=Could not find one or more classes. Please check the Ant classpath.
AntRunner.Could_not_find_one_or_more_classes._Please_check_the_Ant_classpath._2=Could not find one or more classes: \"{0}\". Please check the Ant classpath.
AntRunner.Build_Failed._3=BUILD FAILED
AntRunner.Buildfile_run_took___9=Buildfile run took: 
AntRunner._milliseconds._10=\ milliseconds.
