[563046] Use Idioms-based DeclarativeSerializer again
diff --git a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTbaseEditor.mwe2 b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTbaseEditor.mwe2
index 5823fc8..3a88259 100644
--- a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTbaseEditor.mwe2
+++ b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTbaseEditor.mwe2
@@ -14,38 +14,57 @@
*******************************************************************************/
module GenerateQVTbaseEditor
-import org.eclipse.emf.mwe.utils.*
-import org.eclipse.ocl.examples.build.*
-import org.eclipse.ocl.examples.build.utilities.*
-import org.eclipse.ocl.examples.build.xtend.*
-import org.eclipse.xtext.generator.*
-import org.eclipse.xtext.ui.generator.*
+import org.eclipse.xtext.xtext.generator.*
+import org.eclipse.xtext.xtext.generator.model.project.*
+import org.eclipse.xtext.xtext.generator.ui.codemining.CodeMiningFragment
-var QVTbase.file.extensions = "qvtb"
var QVTbaseProjectName = "org.eclipse.qvtd.xtext.qvtbase"
var QVTbaseRuntimeProject = "../../plugins/${QVTbaseProjectName}"
+var rootPath = "../../plugins"
+
/**
* Generate the QVTbase Editor.
*/
Workflow {
- bean = StandaloneSetup {
- platformUri = "${QVTbaseRuntimeProject}/.."
- scanClassPath = true
+ bean = org.eclipse.emf.mwe.utils.StandaloneSetup {
+ scanClassPath = true
+ platformUri = ".."
+ registerGeneratedEPackage = "org.eclipse.ocl.xtext.essentialoclcs.EssentialOCLCSPackage"
registerGeneratedEPackage = "org.eclipse.qvtd.xtext.qvtbasecs.QVTbaseCSPackage"
+ registerGenModelFile = "platform:/resource/org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.genmodel"
registerGenModelFile = "platform:/resource/org.eclipse.qvtd.xtext.qvtbase/model/QVTbaseCS.genmodel"
}
- component = DirectoryCleaner {
- directory = "${QVTbaseRuntimeProject}/src-gen"
- }
-
- component = DirectoryCleaner {
- directory = "${QVTbaseRuntimeProject}.ui/src-gen"
- }
-
- component = Generator {
- fileHeader =
+ component = XtextGenerator {
+ standaloneSetup = XtextGeneratorStandaloneSetup {
+ scanClasspath = false
+ }
+ configuration = org.eclipse.ocl.examples.build.fragments.MyDefaultGeneratorModule {
+ project = org.eclipse.ocl.examples.build.fragments.MyStandardProjectConfig {
+ activatorName = "QVTbaseActivator"
+ baseName = "${QVTbaseProjectName}"
+ rootPath = rootPath
+ runtimeTest = {
+ enabled = false
+ }
+ eclipsePlugin = {
+ enabled = true
+ }
+ eclipsePluginTest = {
+ enabled = false
+ }
+ genericIde = {
+ enabled = true
+ name = "${QVTbaseProjectName}.ui"
+ }
+ createEclipseMetaData = true
+ }
+ code = {
+ preferXtendStubs = false
+ lineDelimiter = "\n"
+ encoding = "UTF-8"
+ fileHeader =
"/*******************************************************************************
* Copyright (c) 2011, \${year} Willink Transformations and others.
* All rights reserved. This program and the accompanying materials
@@ -53,119 +72,73 @@
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
+ * SPDX-License-Identifier: EPL-2.0
+ *
* Contributors:
* E.D.Willink - initial API and implementation
*******************************************************************************/"
- pathRtProject = QVTbaseRuntimeProject
- pathUiProject = "${QVTbaseRuntimeProject}.ui"
- projectNameRt = QVTbaseProjectName
- projectNameUi = "${QVTbaseProjectName}.ui"
- mergeManifest = false
-
- language = {
- uri = "classpath:/org/eclipse/qvtd/xtext/qvtbase/QVTbase.xtext"
- fileExtensions = QVTbase.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.emf.ecore/model/Ecore.genmodel"
-// referencedGenModels = "platform:/resource/org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCST.genmodel"
-// }
-
- // the serialization component
- fragment = serializer.SerializerFragment {}
-
- // a custom ResourceFactory for use with EMF
- fragment = resourceFactory.ResourceFactoryFragment {
- fileExtensions = QVTbase.file.extensions
}
-
- // the following fragment tries to use the Antlr Generator fragment which can be installed via update manager from http://download.itemis.com/updates/
-// fragment = de.itemis.xtext.antlr.XtextAntlrGeneratorFragment {
-// options = { backtrack = true classSplitting = true }
-// }
- fragment = parser.antlr.XtextAntlrGeneratorFragment {
- options = { backtrack = true classSplitting = true }
- antlrParam = "-Xconversiontimeout" antlrParam = "10000"
+ }
+ language = org.eclipse.ocl.examples.build.fragments.MyStandardLanguage {
+ name = "${QVTbaseProjectName}.QVTbase"
+ fileExtensions = "qvtbase"
+ grammarUri = "platform:/resource/${QVTbaseProjectName}/src/org/eclipse/qvtd/xtext/qvtbase/QVTbase.xtext"
+ generator = null
+ serializer = org.eclipse.ocl.examples.build.fragments.DeclarativeSerializerFragmentXtend {
+ generateStub = true
}
-
- // check-based API for validation
- /*
- fragment = validation.CheckFragment {}
- */
-
- // java-based API for validation
- fragment = validation.JavaValidatorFragment {
- composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
-// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
- }
-
- // scoping and exporting API
- /*
- fragment = scoping.ImportURIScopingFragment {}
- fragment = exporting.SimpleNamesFragment {}
- */
-
- // scoping and exporting API
- fragment = scoping.ImportNamespacesScopingFragment {}
- fragment = exporting.QualifiedNamesFragment {}
-
- // formatter API
- fragment = formatting.FormatterFragment {}
-
- // labeling API
- fragment = labeling.LabelProviderFragment {}
-
- // outline API
-// fragment = outline.TransformerFragment {}
-// fragment = outline.OutlineNodeAdapterFactoryFragment {}
- fragment = outline.OutlineTreeProviderFragment {}
- fragment = outline.QuickOutlineFragment {}
-
- // java-based API for content assistance
- fragment = contentAssist.JavaBasedContentAssistFragment {}
-
-// fragment = de.itemis.xtext.antlr.XtextAntlrGeneratorFragment {
-// options = { backtrack = true classSplitting = true}
-// }
- fragment = parser.antlr.XtextAntlrUiGeneratorFragment {
- options = { backtrack = true classSplitting = true}
- antlrParam = "-Xconversiontimeout" antlrParam = "10000"
+ validator = {
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+ generateDeprecationValidation = false
}
-
- fragment = builder.BuilderIntegrationFragment {}
-
- // project wizard (optional)
- /*
- fragment = projectWizard.SimpleProjectWizardFragment {
- generatorProjectName = "${projectName}.generator"
- modelFileExtension = file.extensions
+ /* fragment = CodeMiningFragment {
+ generateStub = true
+ generateXtendStub = false
+ } */
+ parserGenerator = parser.antlr.XtextAntlrGeneratorFragment2 {
+ options = parser.antlr.AntlrOptions {
+ backtrack = true
+ classSplitting = true
+ }
}
- */
-
- // quickfix API
- fragment = quickfix.QuickfixProviderFragment {}
-
+ formatter = org.eclipse.ocl.examples.build.fragments.DeclarativeFormatterFragmentXtend {
+ generateStub = true
+ }
// EssentialOCL bindings
- fragment = fragments.EssentialOCLFragment {}
- // Support Markup in Hover text
- fragment = fragments.MarkupHoverFragment {}
+ fragment = org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment {}
+ // Support Markup and Hover text
+ fragment = org.eclipse.ocl.examples.build.fragments.MarkupHoverFragment {}
// *.xtextbin support on Xtext 2.3
- fragment = fragments.CompatibilityFragment {}
+ fragment = org.eclipse.ocl.examples.build.fragments.CompatibilityFragment {}
}
}
- component = GenerateGrammarXtend {
+ component = org.eclipse.ocl.examples.build.xtend.GenerateGrammarXtend {
javaFolder = "${QVTbaseRuntimeProject}/src-gen"
javaPackageName = "${QVTbaseProjectName}"
grammarFileStem = "QVTbase"
}
- component = ConvertToUnixLineEndings {
+ component = org.eclipse.ocl.examples.build.utilities.InjectCompatibilityAbstractInternalAntlrParser {
+ fileName = "${QVTbaseRuntimeProject}/src-gen/org/eclipse/qvtd/xtext/qvtbase/parser/antlr/internal/InternalQVTbaseParser.java"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTbaseRuntimeProject}/META-INF"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTbaseRuntimeProject}/emf-gen"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTbaseRuntimeProject}/src"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
directory = "${QVTbaseRuntimeProject}/src-gen"
}
- component = ConvertToUnixLineEndings {
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTbaseRuntimeProject}.ui/META-INF"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTbaseRuntimeProject}.ui/src"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
directory = "${QVTbaseRuntimeProject}.ui/src-gen"
}
}
diff --git a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTcoreEditor.mwe2 b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTcoreEditor.mwe2
index 8a771ac..95cb398 100644
--- a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTcoreEditor.mwe2
+++ b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTcoreEditor.mwe2
@@ -14,45 +14,59 @@
*******************************************************************************/
module GenerateQVTcoreEditor
-import org.eclipse.emf.mwe.utils.*
-import org.eclipse.ocl.examples.build.*
-import org.eclipse.ocl.examples.build.utilities.*
-import org.eclipse.ocl.examples.build.xtend.*
-import org.eclipse.xtext.generator.*
-import org.eclipse.xtext.ui.generator.*
+import org.eclipse.xtext.xtext.generator.*
+import org.eclipse.xtext.xtext.generator.model.project.*
+import org.eclipse.xtext.xtext.generator.ui.codemining.CodeMiningFragment
-var QVTcore.file.extensions = "qvtc"
var QVTcoreProjectName = "org.eclipse.qvtd.xtext.qvtcore"
var QVTcoreRuntimeProject = "../../plugins/${QVTcoreProjectName}"
+var rootPath = "../../plugins"
+
/**
* Generate the QVTcore Editor.
*/
Workflow {
- bean = StandaloneSetup {
- platformUri = "${QVTcoreRuntimeProject}/.."
+ bean = org.eclipse.emf.mwe.utils.StandaloneSetup {
scanClassPath = true
-// registerEcoreFile = "platform:/resource/org.eclipse.ocl.pivot/model/Pivot.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.qvtd.pivot.qvtcore/model/QVTcore.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.ocl.xtext.base/model/BaseCS.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.qvtd.xtext.qvtcore/model/QVTcoreCS.ecore"
+ platformUri = ".."
+ registerGeneratedEPackage = "org.eclipse.ocl.xtext.essentialoclcs.EssentialOCLCSPackage"
+ registerGeneratedEPackage = "org.eclipse.qvtd.xtext.qvtbasecs.QVTbaseCSPackage"
registerGeneratedEPackage = "org.eclipse.qvtd.xtext.qvtcorecs.QVTcoreCSPackage"
+ registerGenModelFile = "platform:/resource/org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.genmodel"
+ registerGenModelFile = "platform:/resource/org.eclipse.qvtd.xtext.qvtbase/model/QVTbaseCS.genmodel"
registerGenModelFile = "platform:/resource/org.eclipse.qvtd.xtext.qvtcore/model/QVTcoreCS.genmodel"
}
- component = DirectoryCleaner {
- directory = "${QVTcoreRuntimeProject}/src-gen"
- }
-
- component = DirectoryCleaner {
- directory = "${QVTcoreRuntimeProject}.ui/src-gen"
- }
-
- component = Generator {
- fileHeader =
+ component = XtextGenerator {
+ standaloneSetup = XtextGeneratorStandaloneSetup {
+ scanClasspath = false
+ }
+ configuration = org.eclipse.ocl.examples.build.fragments.MyDefaultGeneratorModule {
+ project = org.eclipse.ocl.examples.build.fragments.MyStandardProjectConfig {
+ activatorName = "QVTcoreActivator"
+ baseName = "${QVTcoreProjectName}"
+ rootPath = rootPath
+ runtimeTest = {
+ enabled = false
+ }
+ eclipsePlugin = {
+ enabled = true
+ }
+ eclipsePluginTest = {
+ enabled = false
+ }
+ genericIde = {
+ enabled = true
+ name = "${QVTcoreProjectName}.ui"
+ }
+ createEclipseMetaData = true
+ }
+ code = {
+ preferXtendStubs = false
+ lineDelimiter = "\n"
+ encoding = "UTF-8"
+ fileHeader =
"/*******************************************************************************
* Copyright (c) 2011, \${year} Willink Transformations and others.
* All rights reserved. This program and the accompanying materials
@@ -60,122 +74,73 @@
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
+ * SPDX-License-Identifier: EPL-2.0
+ *
* Contributors:
* E.D.Willink - initial API and implementation
*******************************************************************************/"
- pathRtProject = QVTcoreRuntimeProject
- pathUiProject = "${QVTcoreRuntimeProject}.ui"
- projectNameRt = QVTcoreProjectName
- projectNameUi = "${QVTcoreProjectName}.ui"
- mergeManifest = false
-
- language = {
- uri = "classpath:/org/eclipse/qvtd/xtext/qvtcore/QVTcore.xtext"
- fileExtensions = QVTcore.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.emf.ecore/model/Ecore.genmodel"
-// referencedGenModels = "platform:/resource/org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCST.genmodel"
-// }
-
- // the serialization component
- fragment = serializer.SerializerFragment {}
-
- // a custom ResourceFactory for use with EMF
- fragment = resourceFactory.ResourceFactoryFragment {
- fileExtensions = QVTcore.file.extensions
}
-
- // the following fragment tries to use the Antlr Generator fragment which can be installed via update manager from http://download.itemis.com/updates/
-// fragment = de.itemis.xtext.antlr.XtextAntlrGeneratorFragment {
-// options = { backtrack = true classSplitting = true }
-// }
- fragment = parser.antlr.XtextAntlrGeneratorFragment {
- options = { backtrack = true classSplitting = true }
- antlrParam = "-Xconversiontimeout" antlrParam = "10000"
+ }
+ language = org.eclipse.ocl.examples.build.fragments.MyStandardLanguage {
+ name = "${QVTcoreProjectName}.QVTcore"
+ fileExtensions = "qvtc"
+ grammarUri = "platform:/resource/${QVTcoreProjectName}/src/org/eclipse/qvtd/xtext/qvtcore/QVTcore.xtext"
+ generator = null
+ serializer = org.eclipse.ocl.examples.build.fragments.DeclarativeSerializerFragmentXtend {
+ generateStub = true
}
-
- // check-based API for validation
- /*
- fragment = validation.CheckFragment {}
- */
-
- // java-based API for validation
- fragment = validation.JavaValidatorFragment {
- composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
-// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
- }
-
- // scoping and exporting API
- /*
- fragment = scoping.ImportURIScopingFragment {}
- fragment = exporting.SimpleNamesFragment {}
- */
-
- // scoping and exporting API
- fragment = scoping.ImportNamespacesScopingFragment {}
- fragment = exporting.QualifiedNamesFragment {}
-
- // formatter API
- fragment = formatting.FormatterFragment {}
-
- // labeling API
- fragment = labeling.LabelProviderFragment {}
-
- // outline API
-// fragment = outline.TransformerFragment {}
-// fragment = outline.OutlineNodeAdapterFactoryFragment {}
- fragment = outline.OutlineTreeProviderFragment {}
- fragment = outline.QuickOutlineFragment {}
-
- // java-based API for content assistance
- fragment = contentAssist.JavaBasedContentAssistFragment {}
-
-// fragment = de.itemis.xtext.antlr.XtextAntlrGeneratorFragment {
-// options = { backtrack = true classSplitting = true}
-// }
- fragment = parser.antlr.XtextAntlrUiGeneratorFragment {
- options = { backtrack = true classSplitting = true}
- antlrParam = "-Xconversiontimeout" antlrParam = "10000"
+ validator = {
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+ generateDeprecationValidation = false
}
-
- fragment = builder.BuilderIntegrationFragment {}
-
- // project wizard (optional)
- /*
- fragment = projectWizard.SimpleProjectWizardFragment {
- generatorProjectName = "${projectName}.generator"
- modelFileExtension = file.extensions
+ /* fragment = CodeMiningFragment {
+ generateStub = true
+ generateXtendStub = false
+ } */
+ parserGenerator = parser.antlr.XtextAntlrGeneratorFragment2 {
+ options = parser.antlr.AntlrOptions {
+ backtrack = true
+ classSplitting = true
+ }
}
- */
-
- // quickfix API
- fragment = quickfix.QuickfixProviderFragment {}
-
+ formatter = org.eclipse.ocl.examples.build.fragments.DeclarativeFormatterFragmentXtend {
+ generateStub = true
+ }
// EssentialOCL bindings
- fragment = fragments.EssentialOCLFragment {}
- // Support Markup in Hover text
- fragment = fragments.MarkupHoverFragment {}
+ fragment = org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment {}
+ // Support Markup and Hover text
+ fragment = org.eclipse.ocl.examples.build.fragments.MarkupHoverFragment {}
// *.xtextbin support on Xtext 2.3
- fragment = fragments.CompatibilityFragment {}
+ fragment = org.eclipse.ocl.examples.build.fragments.CompatibilityFragment {}
}
}
- component = GenerateGrammarXtend {
+ component = org.eclipse.ocl.examples.build.xtend.GenerateGrammarXtend {
javaFolder = "${QVTcoreRuntimeProject}/src-gen"
javaPackageName = "${QVTcoreProjectName}"
grammarFileStem = "QVTcore"
}
- component = InjectCompatibilityAbstractInternalAntlrParser {
+ component = org.eclipse.ocl.examples.build.utilities.InjectCompatibilityAbstractInternalAntlrParser {
fileName = "${QVTcoreRuntimeProject}/src-gen/org/eclipse/qvtd/xtext/qvtcore/parser/antlr/internal/InternalQVTcoreParser.java"
}
- component = ConvertToUnixLineEndings {
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTcoreRuntimeProject}/META-INF"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTcoreRuntimeProject}/emf-gen"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTcoreRuntimeProject}/src"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
directory = "${QVTcoreRuntimeProject}/src-gen"
}
- component = ConvertToUnixLineEndings {
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTcoreRuntimeProject}.ui/META-INF"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTcoreRuntimeProject}.ui/src"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
directory = "${QVTcoreRuntimeProject}.ui/src-gen"
}
}
diff --git a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTimperativeEditor.mwe2 b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTimperativeEditor.mwe2
index a9d81ef..ef7d73f 100644
--- a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTimperativeEditor.mwe2
+++ b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTimperativeEditor.mwe2
@@ -14,45 +14,59 @@
*******************************************************************************/
module GenerateQVTimperativeEditor
-import org.eclipse.emf.mwe.utils.*
-import org.eclipse.ocl.examples.build.*
-import org.eclipse.ocl.examples.build.utilities.*
-import org.eclipse.ocl.examples.build.xtend.*
-import org.eclipse.xtext.generator.*
-import org.eclipse.xtext.ui.generator.*
+import org.eclipse.xtext.xtext.generator.*
+import org.eclipse.xtext.xtext.generator.model.project.*
+import org.eclipse.xtext.xtext.generator.ui.codemining.CodeMiningFragment
-var QVTimperative.file.extensions = "qvti"
var QVTimperativeProjectName = "org.eclipse.qvtd.xtext.qvtimperative"
var QVTimperativeRuntimeProject = "../../plugins/${QVTimperativeProjectName}"
+var rootPath = "../../plugins"
+
/**
* Generate the QVTimperative Editor.
*/
Workflow {
- bean = StandaloneSetup {
- platformUri = "${QVTimperativeRuntimeProject}/.."
- scanClassPath = true
-// registerEcoreFile = "platform:/resource/org.eclipse.ocl.pivot/model/Pivot.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.qvtd.pivot.qvtcorebase/model/QVTcoreBase.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.qvtd.pivot.qvtimperative/model/QVTimperative.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.ocl.xtext.base/model/BaseCS.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.qvtd.xtext.qvtimperative/model/QVTimperativeCS.ecore"
+ bean = org.eclipse.emf.mwe.utils.StandaloneSetup {
+ scanClassPath = true
+ platformUri = ".."
+ registerGeneratedEPackage = "org.eclipse.ocl.xtext.essentialoclcs.EssentialOCLCSPackage"
+ registerGeneratedEPackage = "org.eclipse.qvtd.xtext.qvtbasecs.QVTbaseCSPackage"
registerGeneratedEPackage = "org.eclipse.qvtd.xtext.qvtimperativecs.QVTimperativeCSPackage"
+ registerGenModelFile = "platform:/resource/org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.genmodel"
+ registerGenModelFile = "platform:/resource/org.eclipse.qvtd.xtext.qvtbase/model/QVTbaseCS.genmodel"
registerGenModelFile = "platform:/resource/org.eclipse.qvtd.xtext.qvtimperative/model/QVTimperativeCS.genmodel"
}
- component = DirectoryCleaner {
- directory = "${QVTimperativeRuntimeProject}/src-gen"
- }
-
- component = DirectoryCleaner {
- directory = "${QVTimperativeRuntimeProject}.ui/src-gen"
- }
-
- component = Generator {
- fileHeader =
+ component = XtextGenerator {
+ standaloneSetup = XtextGeneratorStandaloneSetup {
+ scanClasspath = false
+ }
+ configuration = org.eclipse.ocl.examples.build.fragments.MyDefaultGeneratorModule {
+ project = org.eclipse.ocl.examples.build.fragments.MyStandardProjectConfig {
+ activatorName = "QVTimperativeActivator"
+ baseName = "${QVTimperativeProjectName}"
+ rootPath = rootPath
+ runtimeTest = {
+ enabled = false
+ }
+ eclipsePlugin = {
+ enabled = true
+ }
+ eclipsePluginTest = {
+ enabled = false
+ }
+ genericIde = {
+ enabled = true
+ name = "${QVTimperativeProjectName}.ui"
+ }
+ createEclipseMetaData = true
+ }
+ code = {
+ preferXtendStubs = false
+ lineDelimiter = "\n"
+ encoding = "UTF-8"
+ fileHeader =
"/*******************************************************************************
* Copyright (c) 2011, \${year} Willink Transformations and others.
* All rights reserved. This program and the accompanying materials
@@ -60,122 +74,73 @@
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
+ * SPDX-License-Identifier: EPL-2.0
+ *
* Contributors:
* E.D.Willink - initial API and implementation
*******************************************************************************/"
- pathRtProject = QVTimperativeRuntimeProject
- pathUiProject = "${QVTimperativeRuntimeProject}.ui"
- projectNameRt = QVTimperativeProjectName
- projectNameUi = "${QVTimperativeProjectName}.ui"
- mergeManifest = false
-
- language = {
- uri = "classpath:/org/eclipse/qvtd/xtext/qvtimperative/QVTimperative.xtext"
- fileExtensions = QVTimperative.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.emf.ecore/model/Ecore.genmodel"
-// referencedGenModels = "platform:/resource/org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCST.genmodel"
-// }
-
- // the serialization component
- fragment = serializer.SerializerFragment {}
-
- // a custom ResourceFactory for use with EMF
- fragment = resourceFactory.ResourceFactoryFragment {
- fileExtensions = QVTimperative.file.extensions
}
-
- // the following fragment tries to use the Antlr Generator fragment which can be installed via update manager from http://download.itemis.com/updates/
-// fragment = de.itemis.xtext.antlr.XtextAntlrGeneratorFragment {
-// options = { backtrack = true classSplitting = true }
-// }
- fragment = parser.antlr.XtextAntlrGeneratorFragment {
- options = { backtrack = true classSplitting = true }
- antlrParam = "-Xconversiontimeout" antlrParam = "10000"
+ }
+ language = org.eclipse.ocl.examples.build.fragments.MyStandardLanguage {
+ name = "${QVTimperativeProjectName}.QVTimperative"
+ fileExtensions = "qvti"
+ grammarUri = "platform:/resource/${QVTimperativeProjectName}/src/org/eclipse/qvtd/xtext/qvtimperative/QVTimperative.xtext"
+ generator = null
+ serializer = org.eclipse.ocl.examples.build.fragments.DeclarativeSerializerFragmentXtend {
+ generateStub = true
}
-
- // check-based API for validation
- /*
- fragment = validation.CheckFragment {}
- */
-
- // java-based API for validation
- fragment = validation.JavaValidatorFragment {
- composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
-// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
- }
-
- // scoping and exporting API
- /*
- fragment = scoping.ImportURIScopingFragment {}
- fragment = exporting.SimpleNamesFragment {}
- */
-
- // scoping and exporting API
- fragment = scoping.ImportNamespacesScopingFragment {}
- fragment = exporting.QualifiedNamesFragment {}
-
- // formatter API
- fragment = formatting.FormatterFragment {}
-
- // labeling API
- fragment = labeling.LabelProviderFragment {}
-
- // outline API
-// fragment = outline.TransformerFragment {}
-// fragment = outline.OutlineNodeAdapterFactoryFragment {}
- fragment = outline.OutlineTreeProviderFragment {}
- fragment = outline.QuickOutlineFragment {}
-
- // java-based API for content assistance
- fragment = contentAssist.JavaBasedContentAssistFragment {}
-
-// fragment = de.itemis.xtext.antlr.XtextAntlrGeneratorFragment {
-// options = { backtrack = true classSplitting = true}
-// }
- fragment = parser.antlr.XtextAntlrUiGeneratorFragment {
- options = { backtrack = true classSplitting = true}
- antlrParam = "-Xconversiontimeout" antlrParam = "10000"
+ validator = {
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+ generateDeprecationValidation = false
}
-
- fragment = builder.BuilderIntegrationFragment {}
-
- // project wizard (optional)
- /*
- fragment = projectWizard.SimpleProjectWizardFragment {
- generatorProjectName = "${projectName}.generator"
- modelFileExtension = file.extensions
+ /* fragment = CodeMiningFragment {
+ generateStub = true
+ generateXtendStub = false
+ } */
+ parserGenerator = parser.antlr.XtextAntlrGeneratorFragment2 {
+ options = parser.antlr.AntlrOptions {
+ backtrack = true
+ classSplitting = true
+ }
}
- */
-
- // quickfix API
- fragment = quickfix.QuickfixProviderFragment {}
-
+ formatter = org.eclipse.ocl.examples.build.fragments.DeclarativeFormatterFragmentXtend {
+ generateStub = true
+ }
// EssentialOCL bindings
- fragment = fragments.EssentialOCLFragment {}
- // Support Markup in Hover text
- fragment = fragments.MarkupHoverFragment {}
+ fragment = org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment {}
+ // Support Markup and Hover text
+ fragment = org.eclipse.ocl.examples.build.fragments.MarkupHoverFragment {}
// *.xtextbin support on Xtext 2.3
- fragment = fragments.CompatibilityFragment {}
+ fragment = org.eclipse.ocl.examples.build.fragments.CompatibilityFragment {}
}
}
- component = GenerateGrammarXtend {
+ component = org.eclipse.ocl.examples.build.xtend.GenerateGrammarXtend {
javaFolder = "${QVTimperativeRuntimeProject}/src-gen"
javaPackageName = "${QVTimperativeProjectName}"
grammarFileStem = "QVTimperative"
}
- component = InjectCompatibilityAbstractInternalAntlrParser {
+ component = org.eclipse.ocl.examples.build.utilities.InjectCompatibilityAbstractInternalAntlrParser {
fileName = "${QVTimperativeRuntimeProject}/src-gen/org/eclipse/qvtd/xtext/qvtimperative/parser/antlr/internal/InternalQVTimperativeParser.java"
}
- component = ConvertToUnixLineEndings {
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTimperativeRuntimeProject}/META-INF"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTimperativeRuntimeProject}/emf-gen"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTimperativeRuntimeProject}/src"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
directory = "${QVTimperativeRuntimeProject}/src-gen"
}
- component = ConvertToUnixLineEndings {
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTimperativeRuntimeProject}.ui/META-INF"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTimperativeRuntimeProject}.ui/src"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
directory = "${QVTimperativeRuntimeProject}.ui/src-gen"
}
}
diff --git a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTrelationEditor.mwe2 b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTrelationEditor.mwe2
index 5beb1de..19458b8 100644
--- a/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTrelationEditor.mwe2
+++ b/releng/org.eclipse.qvtd.build/src/org/eclipse/qvtd/build/mwe2/GenerateQVTrelationEditor.mwe2
@@ -14,45 +14,59 @@
*******************************************************************************/
module GenerateQVTrelationEditor
-import org.eclipse.emf.mwe.utils.*
-import org.eclipse.ocl.examples.build.*
-import org.eclipse.ocl.examples.build.utilities.*
-import org.eclipse.ocl.examples.build.xtend.*
-import org.eclipse.xtext.generator.*
-import org.eclipse.xtext.ui.generator.*
+import org.eclipse.xtext.xtext.generator.*
+import org.eclipse.xtext.xtext.generator.model.project.*
+import org.eclipse.xtext.xtext.generator.ui.codemining.CodeMiningFragment
-var QVTrelation.file.extensions = "qvtr"
var QVTrelationProjectName = "org.eclipse.qvtd.xtext.qvtrelation"
var QVTrelationRuntimeProject = "../../plugins/${QVTrelationProjectName}"
+var rootPath = "../../plugins"
+
/**
* Generate the QVTrelation Editor.
*/
Workflow {
- bean = StandaloneSetup {
- platformUri = "${QVTrelationRuntimeProject}/.."
- scanClassPath = true
-// registerEcoreFile = "platform:/resource/org.eclipse.ocl.pivot/model/Pivot.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.qvtd.pivot.qvtbase/model/QVTbase.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.qvtd.pivot.qvttemplate/model/QVTtemplate.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.qvtd.pivot.qvtrelation/model/QVTrelation.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.ocl.xtext.base/model/BaseCS.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.ecore"
-// registerEcoreFile = "platform:/resource/org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCS.ecore"
+ bean = org.eclipse.emf.mwe.utils.StandaloneSetup {
+ scanClassPath = true
+ platformUri = ".."
+ registerGeneratedEPackage = "org.eclipse.ocl.xtext.essentialoclcs.EssentialOCLCSPackage"
+ registerGeneratedEPackage = "org.eclipse.qvtd.xtext.qvtbasecs.QVTbaseCSPackage"
registerGeneratedEPackage = "org.eclipse.qvtd.xtext.qvtrelationcs.QVTrelationCSPackage"
+ registerGenModelFile = "platform:/resource/org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCS.genmodel"
+ registerGenModelFile = "platform:/resource/org.eclipse.qvtd.xtext.qvtbase/model/QVTbaseCS.genmodel"
registerGenModelFile = "platform:/resource/org.eclipse.qvtd.xtext.qvtrelation/model/QVTrelationCS.genmodel"
}
- component = DirectoryCleaner {
- directory = "${QVTrelationRuntimeProject}/src-gen"
- }
-
- component = DirectoryCleaner {
- directory = "${QVTrelationRuntimeProject}.ui/src-gen"
- }
-
- component = Generator {
- fileHeader =
+ component = XtextGenerator {
+ standaloneSetup = XtextGeneratorStandaloneSetup {
+ scanClasspath = false
+ }
+ configuration = org.eclipse.ocl.examples.build.fragments.MyDefaultGeneratorModule {
+ project = org.eclipse.ocl.examples.build.fragments.MyStandardProjectConfig {
+ activatorName = "QVTrelationActivator"
+ baseName = "${QVTrelationProjectName}"
+ rootPath = rootPath
+ runtimeTest = {
+ enabled = false
+ }
+ eclipsePlugin = {
+ enabled = true
+ }
+ eclipsePluginTest = {
+ enabled = false
+ }
+ genericIde = {
+ enabled = true
+ name = "${QVTrelationProjectName}.ui"
+ }
+ createEclipseMetaData = true
+ }
+ code = {
+ preferXtendStubs = false
+ lineDelimiter = "\n"
+ encoding = "UTF-8"
+ fileHeader =
"/*******************************************************************************
* Copyright (c) 2011, \${year} Willink Transformations and others.
* All rights reserved. This program and the accompanying materials
@@ -60,122 +74,73 @@
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v20.html
*
+ * SPDX-License-Identifier: EPL-2.0
+ *
* Contributors:
* E.D.Willink - initial API and implementation
*******************************************************************************/"
- pathRtProject = QVTrelationRuntimeProject
- pathUiProject = "${QVTrelationRuntimeProject}.ui"
- projectNameRt = QVTrelationProjectName
- projectNameUi = "${QVTrelationProjectName}.ui"
- mergeManifest = false
-
- language = {
- uri = "classpath:/org/eclipse/qvtd/xtext/qvtrelation/QVTrelation.xtext"
- fileExtensions = QVTrelation.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.emf.erelation/model/Ecore.genmodel"
-// referencedGenModels = "platform:/resource/org.eclipse.ocl.xtext.essentialocl/model/EssentialOCLCST.genmodel"
-// }
-
- // the serialization component
- fragment = serializer.SerializerFragment {}
-
- // a custom ResourceFactory for use with EMF
- fragment = resourceFactory.ResourceFactoryFragment {
- fileExtensions = QVTrelation.file.extensions
}
-
- // the following fragment tries to use the Antlr Generator fragment which can be installed via update manager from http://download.itemis.com/updates/
-// fragment = de.itemis.xtext.antlr.XtextAntlrGeneratorFragment {
-// options = { backtrack = true classSplitting = true }
-// }
- fragment = parser.antlr.XtextAntlrGeneratorFragment {
- options = { backtrack = true classSplitting = true }
- antlrParam = "-Xconversiontimeout" antlrParam = "10000"
+ }
+ language = org.eclipse.ocl.examples.build.fragments.MyStandardLanguage {
+ name = "${QVTrelationProjectName}.QVTrelation"
+ fileExtensions = "qvtr"
+ grammarUri = "platform:/resource/${QVTrelationProjectName}/src/org/eclipse/qvtd/xtext/qvtrelation/QVTrelation.xtext"
+ generator = null
+ serializer = org.eclipse.ocl.examples.build.fragments.DeclarativeSerializerFragmentXtend {
+ generateStub = true
}
-
- // check-based API for validation
- /*
- fragment = validation.CheckFragment {}
- */
-
- // java-based API for validation
- fragment = validation.JavaValidatorFragment {
- composedCheck = "org.eclipse.xtext.validation.ImportUriValidator"
-// composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
- }
-
- // scoping and exporting API
- /*
- fragment = scoping.ImportURIScopingFragment {}
- fragment = exporting.SimpleNamesFragment {}
- */
-
- // scoping and exporting API
- fragment = scoping.ImportNamespacesScopingFragment {}
- fragment = exporting.QualifiedNamesFragment {}
-
- // formatter API
- fragment = formatting.FormatterFragment {}
-
- // labeling API
- fragment = labeling.LabelProviderFragment {}
-
- // outline API
-// fragment = outline.TransformerFragment {}
-// fragment = outline.OutlineNodeAdapterFactoryFragment {}
- fragment = outline.OutlineTreeProviderFragment {}
- fragment = outline.QuickOutlineFragment {}
-
- // java-based API for content assistance
- fragment = contentAssist.JavaBasedContentAssistFragment {}
-
-// fragment = de.itemis.xtext.antlr.XtextAntlrGeneratorFragment {
-// options = { backtrack = true classSplitting = true}
-// }
- fragment = parser.antlr.XtextAntlrUiGeneratorFragment {
- options = { backtrack = true classSplitting = true}
- antlrParam = "-Xconversiontimeout" antlrParam = "10000"
+ validator = {
+ // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator"
+ generateDeprecationValidation = false
}
-
- fragment = builder.BuilderIntegrationFragment {}
-
- // project wizard (optional)
- /*
- fragment = projectWizard.SimpleProjectWizardFragment {
- generatorProjectName = "${projectName}.generator"
- modelFileExtension = file.extensions
+ /* fragment = CodeMiningFragment {
+ generateStub = true
+ generateXtendStub = false
+ } */
+ parserGenerator = parser.antlr.XtextAntlrGeneratorFragment2 {
+ options = parser.antlr.AntlrOptions {
+ backtrack = true
+ classSplitting = true
+ }
}
- */
-
- // quickfix API
- fragment = quickfix.QuickfixProviderFragment {}
-
+ formatter = org.eclipse.ocl.examples.build.fragments.DeclarativeFormatterFragmentXtend {
+ generateStub = true
+ }
// EssentialOCL bindings
- fragment = fragments.EssentialOCLFragment {}
- // Support Markup in Hover text
- fragment = fragments.MarkupHoverFragment {}
+ fragment = org.eclipse.ocl.examples.build.fragments.EssentialOCLFragment {}
+ // Support Markup and Hover text
+ fragment = org.eclipse.ocl.examples.build.fragments.MarkupHoverFragment {}
// *.xtextbin support on Xtext 2.3
- fragment = fragments.CompatibilityFragment {}
+ fragment = org.eclipse.ocl.examples.build.fragments.CompatibilityFragment {}
}
}
- component = GenerateGrammarXtend {
+ component = org.eclipse.ocl.examples.build.xtend.GenerateGrammarXtend {
javaFolder = "${QVTrelationRuntimeProject}/src-gen"
javaPackageName = "${QVTrelationProjectName}"
grammarFileStem = "QVTrelation"
}
- component = InjectCompatibilityAbstractInternalAntlrParser {
+ component = org.eclipse.ocl.examples.build.utilities.InjectCompatibilityAbstractInternalAntlrParser {
fileName = "${QVTrelationRuntimeProject}/src-gen/org/eclipse/qvtd/xtext/qvtrelation/parser/antlr/internal/InternalQVTrelationParser.java"
}
- component = ConvertToUnixLineEndings {
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTrelationRuntimeProject}/META-INF"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTrelationRuntimeProject}/emf-gen"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTrelationRuntimeProject}/src"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
directory = "${QVTrelationRuntimeProject}/src-gen"
}
- component = ConvertToUnixLineEndings {
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTrelationRuntimeProject}.ui/META-INF"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
+ directory = "${QVTrelationRuntimeProject}.ui/src"
+ }
+ component = org.eclipse.ocl.examples.build.utilities.ConvertToUnixLineEndings {
directory = "${QVTrelationRuntimeProject}.ui/src-gen"
}
}