###############################################################################
# Copyright (c) 2004, 2009 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
# http://www.eclipse.org/legal/epl-v10.html
#
# Contributors:
#     IBM Corporation - initial API and implementation
###############################################################################

AntDebugTarget_0=Ant Build

AntLineBreakpoint_0=Ant breakpoint [line: {0}]
AntThread_0=User Properties
AntThread_1=System Properties
AntThread_2=Runtime Properties
AntThread_3=Request to retrieve Ant stack frames failed
AntThread_4=Request to retrieve Ant properties failed

AntProperties_1=Request to Ant properties value failed
