###############################################################################
#   Copyright (c) 2010 Eteration A.S. 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:
#      Naci Dai and Murat Yener, Eteration A.S. - Initial API and implementation
###############################################################################
pluginName=OW2 JonAS Support
providerName=Eteration A.S.

# --------------- Runtime Types ---------------
libra=Eclipse Libra
runtimeTypeJonasLabel=OW2 Micro JOnAS OSGi Service Platform
runtimeTypeJonasDescription=OW2 micro JOnAS OSGi Service Platform supports OSGi R4.

# --------------- Runtime Instance ---------------
runtimeInstanceTypeJonasLabel=OW2 Micro JOnAS Framework Instance
runtimeInstanceTypeJonasDescription=Publishes and runs osgi bundle projects on local Jonas platform.

jonasLaunchConfigurationType=OW2 JOnAS

