blob: 464bab8bd184c94d20db4cf10b57f7ccaf016539 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2013 E.D.Willink and others.
* 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:
* E.D.Willink - initial API and implementation
*******************************************************************************/
module SubGenerateAutoCSModel
import org.eclipse.ocl.examples.build.utilities.GenerateModel
import org.eclipse.ocl.examples.build.xtend.GenerateCSVisitors
import org.eclipse.ocl.examples.build.xtend.GenerateAutoCS2ASVisitors
import org.eclipse.emf.ecore.resource.ResourceSet
/**
* A ResourceSet that may be shared by workflow components.
*/
var ResourceSet resourceSet
/**
* The name of the project hosting the generated models; e.g. "org.eclipse.ocl.examples.xtext.essentialocl"
*/
var projectName
/**
* The name of the generated model (the package name in the Ecore model); e.g. "essentialoclcs"
*/
var modelName
/**
* The prefix of generated model classes; e.g. "EssentialOCL"
*/
var projectPrefix
/**
* The name of the inherited project hosting the generated models; e.g. "org.eclipse.ocl.examples.xtext.essentialocl", "" for a base visitor.
*/
var superProjectName
/**
* The name of the inherited model (the package name in the Ecore model); e.g. "basecs"
*/
var superModelName
/**
* The prefix of the inherited project hosting the generated models; e.g. "EssentialOCL", "" for a base visitor.
*/
var superProjectPrefix = ""
/**
* (Optional) The package for generated model interfaces; default: "${projectName}.${modelName}".
*/
var modelPackageName = "${projectName}.${modelName}"
/**
* (Optional) The super package for generated model interfaces; default: "${superProjectName}.${superModelName}".
*/
var superModelPackageName = "${superProjectName}.${superModelName}"
/**
* (Optional) The project-relative genmodel file; default: "model/${projectPrefix}.genmodel".
*/
var genModelFile = "model/${projectPrefix}.genmodel"
/**
* (Optional) The Java source folder for generated packages; default: "emf-gen".
*/
var javaFolder = "emf-gen"
/**
* (Optional) The package of the visitor; default: "${projectName}.util".
*/
var visitorPackageName = "${modelPackageName}.util"
/**
* (Optional) The class of the visitor; default: "${projectPrefix}CSVisitor".
*/
var visitorClassName = "${projectPrefix}Visitor"
/**
* (Optional) The package of the inherited visitor; default: "${superProjectName}.util". "" for a base visitor.
*/
var superVisitorPackageName = "${superModelPackageName}.util"
/**
* (Optional) The class of the inherited visitor; default: "${superProjectPrefix}CSVisitor". "" for a base visitor.
*/
var superVisitorClassName = "${superProjectPrefix}Visitor"
/**
* (Optional) The package of the visitable interface class; default: "org.eclipse.ocl.examples.xtext.base.basecs.util"
*/
var visitablePackageName = "org.eclipse.ocl.examples.xtext.base.basecs.util"
/**
* (Optional) The name of the visitable interface class; default: "VisitableCS"
*/
var visitableClassName = "VisitableCS"
/**
* (Optional) The workspace-relative name of the gen model file; default: "/${projectName}/${genModelFile}"
*/
//var genModel = "/${projectName}/${genModelFile}"
/**
* Generate a Concrete Syntax Model and its visitors as used by the Xtext editors.
*/
Workflow {
component = GenerateAutoCS2ASVisitors { resourceSet = resourceSet skipOnErrors = true
projectName = projectName
projectPrefix = projectPrefix
superProjectName = superProjectName
superProjectPrefix = superProjectPrefix
genModelFile = genModelFile
javaFolder = javaFolder
modelPackageName = modelPackageName
visitorPackageName = visitorPackageName
visitorClassName = visitorClassName
superVisitorPackageName = superVisitorPackageName
superVisitorClassName = superVisitorClassName
visitablePackageName = visitablePackageName
visitableClassName= visitableClassName
}
}