#################################################################################
 # Copyright (c) 2008,2009 School of Computer Science,
 # National University of Defense Technology,P.R.China.
 # 
 # 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:
 # 	 Jie Jiang, National University of Defense Technology
#################################################################################


# "featureName" property - name of the feature
featureName=PTP Target System Configuration for SLURM

# "providerName" property - name of the company that provides the feature
providerName=Eclipse PTP

# "description" property - description of the feature
description=Adds a resource manager and support for the SLURM job scheduler

# copyright
copyright=\
   Copyright (c) 2008,2009 School of Computer Science,National University \n\
  of Defense Technology,P.R.China. All rights reserved. This program\n\
  and the accompanying materials are made available under the terms of \n\
  the Eclipse Public License v1.0 which accompanies this distribution,\n\
  and is available at http://www.eclipse.org/legal/epl-v10.html\n\
  Contributors:\n\
 	 Jie Jiang, National University of Defense Technology
