###############################################################################
# Copyright (c) 2000, 2003 IBM Corporation 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 API and implementation
###############################################################################

AntInputHandler.Ant_Input_Request_1=Ant Input Request
AntInputHandler.Invalid_input_2=Invalid input
AntInputHandler.Unable_to_respond_to_<input>_request_4=Unable to respond to <input> request
AntInputHandler.5=Unable to respond to input request as a result of the user specified -noinput command

AntProcessBuildLogger.BUILD_FAILED__{0}_1=BUILD FAILED: {0}
AntProcessBuildLogger.Total_time=Total time: 
AntProcessBuildLogger._minutes_2=\ minutes
AntProcessBuildLogger._minute_3=\ minute
AntProcessBuildLogger._seconds_4=\ seconds
AntProcessBuildLogger._second_5=\ second
AntProcessBuildLogger._milliseconds_6=\ milliseconds
