/**
 * <copyright>
 *
 *  Copyright (c) 2010 Thales Corporate Services S.A.S.
 *  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:
 *      Thales Corporate Services S.A.S - initial API and implementation
 * 
 * </copyright>
 */

package org.eclipse.egf.portfolio.genchain.tools;

/**
 * 
 * @author Thomas Guiu
 */
public interface FcoreBuilderConstants {
    static final String MODEL_NAME = "model name";
    static final String FCORE_OUTPUT_PATH = "fcoreOutputPath";
    static final String MODEL_PATH = "model.path";
    static final String NAME = "name";
    static final String PLUGIN_NAME = "pluginName";
    static final String MAIN_FCORE = "target.fcore";
    static final String CURRENT_FCORE = "current.fcore";
    static final String UNUSED_FCORE = "unused.fcore";
    static final String GENMODEL_URIS = "genmodel.uris";
    static final String RESOURCE_SET = "resource.set";

}
