# Copyright (c) CEA LIST.
#
# 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
#

pluginName=Common utility functions for code generation (independent of ROS 2) (Incubation)
providerName=Eclipse Modeling Project
