blob: 73260ba9b17713ad1eec761a8daa3c4e75be0f35 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2013 Willink Transformations and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v2.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
* Contributors:
* E.D.Willink - initial API and implementation
*******************************************************************************/
module SubGenerateCSModel
import org.eclipse.ocl.examples.build.utilities.*
import org.eclipse.ocl.examples.build.xtend.GenerateCSVisitors
import org.eclipse.ocl.examples.build.xtend.GenerateCS2ASVisitors
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.xtext.essentialocl"
*/
var projectName
/**
* The project-relative genmodel file; e.g. "model/MyModel.genmodel".
*/
var genModelFile
/**
* (Optional) The name of the inherited project hosting the generated models; e.g. "org.eclipse.ocl.xtext.basecs", "" for a base visitor.
*/
var superProjectName = ""
/**
* (Optional) The project-relative genmodel file of the inherited project; e.g. "model/MyModel.genmodel"; default: "".
*/
var superGenModelFile = ""
/**
* (Optional) The name of the base project hosting the generated models; e.g. "org.eclipse.ocl.xtext.basecs", "" for a base visitor.
*/
var baseProjectName = ""
/**
* (Optional) The project-relative genmodel file of the base project; e.g. "model/MyModel.genmodel"; default: "".
*/
var baseGenModelFile = ""
/**
* (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 = GenerateModel { resourceSet = resourceSet skipOnErrors = true
genModel = genModel clearResourceSet = false
}
/* component = GenerateCSVisitors { resourceSet = resourceSet skipOnErrors = true
projectName = projectName
genModelFile = genModelFile
javaFolder = javaFolder
modelPackageName = modelPackageName
visitorPackageName = visitorPackageName
visitorClassName = visitorClassName
superVisitorPackageName = superVisitorPackageName
superVisitorClassName = superVisitorClassName
visitablePackageName = visitablePackageName
visitableClassName = visitableClassName
} */
component = GenerateCS2ASVisitors { resourceSet = resourceSet skipOnErrors = true
projectName = projectName
genModelFile = genModelFile
superProjectName = superProjectName
superGenModelFile = superGenModelFile
baseProjectName = baseProjectName
baseGenModelFile = baseGenModelFile
}
component = ConvertToUnixLineEndings {
directory = "${projectName}/emf-gen"
}
}