blob: 13ce97646d2c4f70339783a6b985024519fb25f9 [file] [log] [blame]
/*****************************************************************************
* Copyright (c) 2012 CEA LIST.
*
* 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:
* Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr
* - Initial API and implementation
*****************************************************************************/
module org.eclipse.efm.formalml.xtext.GenerateFormalML
import org.eclipse.xtext.resource.XtextResourceSet
import org.eclipse.xtext.xtext.generator.*
import org.eclipse.xtext.xtext.generator.model.project.*
import org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorComparisonFragment
var rootPath = ".."
var baseName = "org.eclipse.efm.formalml.xtext"
var runtimeProjectName = "org.eclipse.efm.formalml.xtext"
var projectPath = "${rootPath}/${runtimeProjectName}"
var file.extensions = "fml,xfml,xlia,xfsp"
var lineDelimiter = "\n"
var fileHeader =
"/*****************************************************************************
* Copyright (c) 2018 CEA LIST.
*
* 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:
* Arnault Lapitre (CEA LIST) arnault.lapitre@cea.fr
* - Initial API and implementation
*****************************************************************************/"
Workflow {
component = XtextGenerator auto-inject {
configuration = {
project = StandardProjectConfig {
baseName = baseName
rootPath = rootPath
// runtime = {
// name = runtimeProjectName
// }
runtimeTest = {
enabled = true
}
eclipsePlugin = {
enabled = true
}
eclipsePluginTest = {
enabled = true
}
createEclipseMetaData = true
}
code = {
encoding = "UTF-8"
lineDelimiter = lineDelimiter
fileHeader = fileHeader
}
}
language = StandardLanguage {
name = "org.eclipse.efm.formalml.xtext.FormalML"
fileExtensions = file.extensions
resourceSet = XtextResourceSet : resourceSet {}
referencedResource = "platform:/resource/org.eclipse.efm.formalml.ecore/resources/ecore/formalml.genmodel"
fragment = ecore2xtext.Ecore2XtextValueConverterServiceFragment2 auto-inject {}
parserGenerator = {
options = auto-inject {
classSplitting = true
backtrack = true
}
}
fragment = exporting.SimpleNamesFragment2 auto-inject {}
fragment = org.eclipse.xtext.generator.adapter.FragmentAdapter {
fragment = org.eclipse.xtext.generator.ecore2xtext.FormatterFragment {}
}
serializer = {
generateStub = false
}
validator = {
// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
}
}
}
}