source: java/Framclipse/com.framsticks.framclipse/src/com/framsticks/framclipse/GenerateFramScript.mwe2 @ 438

Last change on this file since 438 was 438, checked in by Mateusz Poszwa, 9 years ago

Ported Framclipse to Xtext 2.8.4

  • Property svn:eol-style set to native
File size: 4.7 KB
Line 
1module com.framsticks.framclipse.FramScript
2
3import org.eclipse.emf.mwe.utils.*
4import org.eclipse.xtext.generator.*
5import org.eclipse.xtext.ui.generator.*
6
7var grammarURI = "classpath:/com/framsticks/framclipse/FramScript.xtext"
8var fileExtensions = "neuro, expdef, style, show, script, inc"
9var projectName = "com.framsticks.framclipse"
10var runtimeProject = "../${projectName}"
11//var generateXtendStub = true
12var encoding = "UTF-8"
13
14Workflow {
15    bean = StandaloneSetup {
16                scanClassPath = true
17                platformUri = "${runtimeProject}/.."
18                // The following two lines can be removed, if Xbase is not used.
19//              registerGeneratedEPackage = "org.eclipse.xtext.xbase.XbasePackage"
20//              registerGenModelFile = "platform:/resource/org.eclipse.xtext.xbase/model/Xbase.genmodel"
21        }
22       
23        component = DirectoryCleaner {
24                directory = "${runtimeProject}/src-gen"
25        }
26       
27        component = DirectoryCleaner {
28                directory = "${runtimeProject}/model/generated"
29        }
30       
31        component = DirectoryCleaner {
32                directory = "${runtimeProject}.ui/src-gen"
33        }
34/*
35        component = DirectoryCleaner {
36                directory = "${runtimeProject}.tests/src-gen"
37        }
38*/
39        component = Generator {
40                pathRtProject = runtimeProject
41                pathUiProject = "${runtimeProject}.ui"
42//              pathTestProject = "${runtimeProject}.tests"
43                projectNameRt = projectName
44                projectNameUi = "${projectName}.ui"
45                encoding = encoding
46                language = auto-inject {
47                        uri = grammarURI
48                       
49                        // Java API to access grammar elements (required by several other fragments)
50                        fragment = grammarAccess.GrammarAccessFragment auto-inject {}
51                       
52                        // generates Java API for the generated EPackages
53                        fragment = ecore.EMFGeneratorFragment auto-inject {}
54/*                      fragment = ecore.EcoreGeneratorFragment {
55                        // referencedGenModels = "uri to genmodel, uri to next genmodel"
56                        }
57*/
58                       
59                        // the old serialization component
60                        // fragment = parseTreeConstructor.ParseTreeConstructorFragment auto-inject {}
61                       
62                        // serializer 2.0
63                        fragment = serializer.SerializerFragment auto-inject {
64                                generateStub = false
65                        }
66
67                        // a custom ResourceFactory for use with EMF
68                        fragment = resourceFactory.ResourceFactoryFragment auto-inject {}
69                               
70                        // The antlr parser generator fragment.
71                        fragment = parser.antlr.XtextAntlrGeneratorFragment auto-inject {
72                        //  options = {
73                        //        backtrack = true
74                        //  }
75                        }
76/*
77                        // Xtend-based API for validation
78                        fragment = validation.ValidatorFragment auto-inject {
79*/
80                        // Java-based API for validation
81                        fragment = validation.JavaValidatorFragment auto-inject {
82                        //      composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
83                        //      composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
84                        }
85
86                        // old scoping and exporting API
87                        fragment = scoping.ImportURIScopingFragment auto-inject {}
88                        fragment = exporting.SimpleNamesFragment auto-inject {}
89
90                        // scoping and exporting API
91//                      fragment = scoping.ImportNamespacesScopingFragment auto-inject {}
92//                      fragment = exporting.QualifiedNamesFragment auto-inject {}
93//                      fragment = builder.BuilderIntegrationFragment auto-inject {}
94
95                        // generator API
96//                      fragment = generator.GeneratorFragment auto-inject {}
97                       
98                        // formatter API
99                        fragment = formatting.FormatterFragment auto-inject {}
100
101                        // labeling API
102                        fragment = labeling.LabelProviderFragment auto-inject {}
103
104                        // outline API
105//                      fragment = outline.TransformerFragment {}
106//                      fragment = outline.OutlineNodeAdapterFactoryFragment {}
107                        fragment = outline.OutlineTreeProviderFragment auto-inject {}
108                        fragment = outline.QuickOutlineFragment auto-inject {}
109
110                        // java-based API for content assistance
111                        fragment = contentAssist.JavaBasedContentAssistFragment {}
112/*
113                        // content assist API
114                        fragment = contentAssist.ContentAssistFragment auto-inject {}
115*/
116                        // generates a more lightweight Antlr parser and lexer tailored for content assist
117                        fragment = parser.antlr.XtextAntlrUiGeneratorFragment auto-inject {}
118/*
119                        // generates junit test support classes into Generator#pathTestProject
120                        fragment = junit.Junit4Fragment auto-inject {}
121
122                        // rename refactoring
123                        fragment = refactoring.RefactorElementNameFragment auto-inject {}
124
125                        // provides the necessary bindings for java types integration
126                        fragment = types.TypesGeneratorFragment auto-inject {}
127
128                        // generates the required bindings only if the grammar inherits from Xbase
129                        fragment = xbase.XbaseGeneratorFragment auto-inject {}
130                       
131                        // generates the required bindings only if the grammar inherits from Xtype
132                        fragment = xbase.XtypeGeneratorFragment auto-inject {}
133
134                        // provides a preference page for template proposals
135                        fragment = templates.CodetemplatesGeneratorFragment auto-inject {}
136
137                        // provides a compare view
138                        fragment = compare.CompareFragment auto-inject {}
139*/
140                        // quickfix API
141                        fragment = quickfix.QuickfixProviderFragment auto-inject {}
142                }
143        }
144}
Note: See TracBrowser for help on using the repository browser.