#
# Copyright (c) 2007, 2008 Sonatype, Inc.
# All rights reserved. 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#

m2.popup.pomFile.label=Maven build
m2.popup.pomFileWithDialog.label=Maven build...

m2.popup.lifecycle.package=Maven package
m2.popup.lifecycle.install=Maven install
m2.popup.lifecycle.source=Maven source:jar
m2.popup.lifecycle.clean=Maven clean
m2.popup.lifecycle.test=Maven test
m2.popup.lifecycle.generate-sources=Maven generate-sources
m2.popup.lifecycle.assembly=Maven assembly:assembly

m2.shortcut.description.run=Run Maven Build
m2.shortcut.description.install=Run Maven Install
m2.shortcut.description.clean=Run Maven Clean
m2.shortcut.description.test=Run Maven Test
m2.shortcut.description.generate-sources=Run Maven Generate Sources

m2.launch.type.name=Maven Build
m2.launch.type.builder.name=Maven Build


Bundle-Vendor = Eclipse.org - m2e
Bundle-Name = Maven Integration for Eclipse Launching
sourceLocator.name = Maven source locator