| /******************************************************************************* |
| * 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 |
| } |
| } |