# Copyright (c) 2020 Eclipse contributors and others.
# 
# 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
#

providerName = Eclipse JustJ
featureName = JustJ Tools
description = Contains the plug-ins for the JustJ Tools
copyright = Copyright (c) 2020 Eclipse contributors and others.\n\
\n\
This program and the accompanying materials\n\
are made available under the terms of the Eclipse Public License 2.0\n\
which accompanies this distribution, and is available at\n\
https://www.eclipse.org/legal/epl-2.0/\n\
\n\
SPDX-License-Identifier: EPL-2.0\n
