###############################################################################
# Copyright (c) 2007, 2008 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
###############################################################################
pluginName = API Tools
providerName = Eclipse.org
apitoolBuilderName=API Analysis Builder
nature_name=API Analysis Nature
markerApiUsage.name = API Usage Problem
markerVersionNumbering.name = Version Numbering Problem
markerCompatibility.name = Compatibility Problem
markerApiProfile.name = API Baseline Problem
markerSinceTags.name = @since tag problem
markerUnsupportedTags.name = Unsupported Tag Problem