###############################################################################
# Copyright (c) 2000, 2007 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
###############################################################################

Plugin.name = External Tools
Plugin.providerName = Eclipse.org

build_type.description= Returns the type of build being performed - "incremental", "full", "auto", or "none".
build_project.description= Returns the absolute file system path of the project currently being built, or the absolute file system path of the resource identified by an optional argument interpreted as a path relative to the project currently being built.
build_files.description= Returns the set of absolute file system paths whose modification caused the current build.  A list of the characters, 'a' (added), 'c' (changed), 'r' (removed), 'f' (files only), 'd' (directories only), can be supplied as an argument to limit the file list to just those types of deltas.  Defaults to all deltas. 
system_path.description= Returns the absolute file system path of the external tool. Resolved by finding the first occurrence of the named tool based on the system path specification. The tool name must be supplied as an argument.

ExtPoint.configurationDuplicationMaps = Launch Configuration Duplication Maps
ExternalToolsLaunchGroup.label = &External Tools
ExternalToolsLaunchGroup.title = Select or configure an external tool to run
Menu.run = &Run
ActionSet.externalTools = External Tools
Action.externalTools = &External Tools
Action.externalToolsTip = Run Last Tool
PropertyPage.externalToolsBuilders = Builders

Builder.externalTools = Integrated External Tool Builder
PreferencePage.externalToolsPreferences = External Tools

Program.externalTools = Program
programLaunchConfigurationTabGroup.description=Run a program
programBuilderLaunchConfigurationTabGroup.description=Create a configuration that will run a program during builds

ActionDefinition.externalToolMenuDelegateToolbar.name=Run Last Launched External Tool
ActionDefinition.externalToolMenuDelegateToolbar.description=Runs the last launched external Tool

ActionDefinition.openExternalToolsConfigurations.name=External Tools...
ActionDefinition.openExternalToolsConfigurations.description=Open external tools launch configuration dialog
