blob: 4aef48d1767c69fb21c7a2d05234d9f34998412f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
|
module org.eclipse.papyrus.constraintwithvsl.editor.xtext.ConstraintWithVSLl
import org.eclipse.emf.mwe.utils.*
import org.eclipse.xtext.generator.*
import org.eclipse.xtext.ui.generator.*
var grammarURI = "classpath:/org/eclipse/papyrus/constraintwithvsl/editor/xtext/ConstraintWithVSLl.xtext"
var file.extensions = "constraintwithvsl"
var projectName = "org.eclipse.papyrus.constraintwithvsl.editor.xtext"
var runtimeProject = "../${projectName}"
Workflow {
/*bean = StandaloneSetup {
platformUri = "${runtimeProject}/.."
}*/
bean = StandaloneSetup {
platformUri = "${runtimeProject}/.."
registerGeneratedEPackage = "org.eclipse.uml2.uml.UMLPackage"
registerGeneratedEPackage = "org.eclipse.uml2.codegen.ecore.genmodel.GenModelPackage"
uriMap = {from="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.ecore"
to="platform:/resource/org.eclipse.papyrus.constraintwithvsl.editor.xtext/model/Ecore.ecore"}
uriMap = {from="platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel"
to="platform:/resource/org.eclipse.papyrus.constraintwithvsl.editor.xtext/model/Ecore.genmodel"}
}
component = DirectoryCleaner {
directory = "${runtimeProject}/src-gen"
}
component = DirectoryCleaner {
directory = "${runtimeProject}.ui/src-gen"
}
component = Generator {
pathRtProject = runtimeProject
pathUiProject = "${runtimeProject}.ui"
projectNameRt = projectName
projectNameUi = "${projectName}.ui"
language = {
uri = grammarURI
fileExtensions = file.extensions
// Java API to access grammar elements (required by several other fragments)
fragment = grammarAccess.GrammarAccessFragment {}
// generates Java API for the generated EPackages
fragment = ecore.EcoreGeneratorFragment {
referencedGenModels =
"platform:/resource/org.eclipse.papyrus.constraintwithvsl.editor.xtext/model/UML.genmodel"
referencedGenModels =
"platform:/resource/org.eclipse.papyrus.marte.vsl/src-gen/org/eclipse/papyrus/marte/vsl/VSL.genmodel"
}
// the serialization component
fragment = parseTreeConstructor.ParseTreeConstructorFragment {}
// a custom ResourceFactory for use with EMF
fragment = resourceFactory.ResourceFactoryFragment {
fileExtensions = file.extensions
}
// The antlr parser generator fragment.
fragment = parser.antlr.XtextAntlrGeneratorFragment {
// options = {
// backtrack = true
// }
}
// java-based API for validation
fragment = validation.JavaValidatorFragment {
composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
// registerForImportedPackages = true
}
// scoping and exporting API
fragment = scoping.ImportURIScopingFragment {}
fragment = exporting.SimpleNamesFragment {}
// scoping and exporting API
/*fragment = scoping.ImportNamespacesScopingFragment {}
fragment = exporting.QualifiedNamesFragment {}
fragment = builder.BuilderIntegrationFragment {}
*/
// formatter API
fragment = formatting.FormatterFragment {}
// labeling API
fragment = labeling.LabelProviderFragment {}
// outline API
fragment = outline.TransformerFragment {}
fragment = outline.OutlineNodeAdapterFactoryFragment {}
fragment = outline.QuickOutlineFragment {}
// quickfix API
fragment = quickfix.QuickfixProviderFragment {}
// content assist API
fragment = contentAssist.JavaBasedContentAssistFragment {}
// the following fragment tries to use the Antlr based content assist
// fragment which can be downloaded from http://www.itemis.com
// and will be ignored if it's not available.
fragment = DelegatingGeneratorFragment {
delegate = "de.itemis.xtext.antlr.XtextAntlrUiGeneratorFragment"
message="You are generating without ANTLR. It is highly recommended to download and use the plugin \'de.itemis.xtext.antlr\' \n\t using the update site http://download.itemis.com/updates/."
}
fragment = builder.BuilderIntegrationFragment {}
// project wizard (optional)
/*
fragment = projectWizard.SimpleProjectWizardFragment {
generatorProjectName = "${projectName}.generator"
modelFileExtension = file.extensions
}
*/
// quickfix API
fragment = quickfix.QuickfixProviderFragment {}
}
}
}
|