Skip to main content

This CGIT instance is deprecated, and repositories have been moved to Gitlab or Github. See the repository descriptions for specific locations.

aboutsummaryrefslogtreecommitdiffstats
blob: 6b306bb871af695a9cb4b1a50c5d233b774fa714 (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
/**
 * Copyright (c) 2011-2020 Eclipse contributors 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
 */
module org.eclipse.emf.ecore.xcore.Xcore

import org.eclipse.emf.mwe.utils.*
import org.eclipse.xtext.xtext.generator.*
import org.eclipse.xtext.xtext.generator.model.project.*

var rootPath = ".."
var file.extensions = "xcore"
var projectName = "org.eclipse.emf.ecore.xcore"
var testProjectName = "org.eclipse.emf.test.ecore.xcore"
var runtimeProject = "../${projectName}"
var testProject = "../../tests/${testProjectName}"

Workflow {
	bean = StandaloneSetup {
		scanClassPath = true
		platformUri = "${runtimeProject}/.."
	}

	component = DirectoryCleaner {
		directory = "${runtimeProject}/src-gen"
	}

	component = DirectoryCleaner {
		directory = "${runtimeProject}.ui/src-gen"
	}

	component = DirectoryCleaner {
		directory = "${testProject}/src-gen"
	}

	component = XtextGenerator {
		configuration = {
			project = StandardProjectConfig {
				baseName = projectName
				rootPath = rootPath
				runtimeTest = {
					enabled = true
					root = testProject
				}
				genericIde = {
					enabled = true
					root = "${runtimeProject}.ui"
				}
				eclipsePlugin = {
					enabled = true
				}
				eclipsePluginTest = {
					enabled = true
					root = testProject
				}
				createEclipseMetaData = true
			}
			code = {
				encoding = "UTF-8"
				lineDelimiter = '\r\n'
				preferXtendStubs = false
			}
		}
		language = StandardLanguage {
			name = "org.eclipse.emf.ecore.xcore.Xcore"
			fileExtensions = file.extensions
			referencedResource = "platform:/resource/org.eclipse.emf.ecore.xcore/model/Xcore.genmodel"
			referencedResource = "platform:/resource/org.eclipse.emf.ecore/model/Ecore.ecore"

			junitSupport = {
				generateStub = false
			}
			labelProvider = {
				generateXtendStub = true
			}
			serializer = {
				generateStub = false
			}
			validator = {
			}
			xbaseSupport = {
				// supress generation of XcoreJvmModelInferrer stub
				generateXtendInferrer = false
				skipExportedPackage = true
			}
		}
	}
}

Back to the top