# Copyright (c) 2016 Manumitting Technologies Inc and others.
# This program and the accompanying materials are made
# available under the terms of the Eclipse Public License 2.0
# which is available at https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
# Contributors:
#    Manumitting Technologies Inc - initial API and implementation

featureName = Eclipse User Storage
featureText = Eclipse User Storage\n\
\n\
Version: {featureVersion} (build {0})\n\
Commit: {2} (branch {1})\n\
\n\
Copyright (c) 2016 Manumitting Technologies Inc and others. All rights reserved.\n\
Visit http://www.eclipse.org/userstorage for more information.
