###############################################################################
# Copyright (c) 2009, 2013 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
###############################################################################

pluginName=Ant Launching Support
providerName=Eclipse.org

AntBuild = Ant Build
AntLaunchDelegate.name=Eclipse Ant Launcher
AntLaunchDelegate.description=The Eclipse Ant Launcher supports running and debugging Ant build files.

AntBuilder.name=Ant Builder
AntBuilderLaunchDelegate.name= Eclipse Ant Builder Launcher
AntBuilderLaunchDelegate.description=The Eclipse Ant Builder Launcher supports running Ant build files.

antBreakpointGroupName= Ant Breakpoints
AntLineBreakpoint.name = Ant Line Breakpoint
antSourceLookupDirector.name=Ant Source Lookup Director