# Copyright (c) 2015, 2016 Obeo.
# 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.htm

featureName=EEF SDK Feature
featureProvider=Eclipse Modeling Project

descriptionUrl=http://www.eclipse.org/eef
description=Eclipse EEF is used to build Properties view easily thanks to a declarative approach
copyrightUrl=http://www.eclipse.org/eef
copyright=\
Copyright (c) 2015, 2016 Obeo and others.\n\
All rights reserved. This program and the accompanying materials\n\
are made available under the terms of the Eclipse Public License v1.0\n\
which accompanies this distribution, and is available at\n\
http://www.eclipse.org/legal/epl-v10.html\n\
\n\
Contributors:\n\
    Obeo - initial API and implementation\n

licenseUrl=https://www.eclipse.org/legal/epl-v10.html
license=\
Eclipse Public License v1.0\
\n\
THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.\n