diff --git a/.gitignore b/.gitignore index a1c2a238..7db9ff97 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ # Compiled class file *.class +**/target # Log file *.log @@ -21,3 +22,13 @@ # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml hs_err_pid* + +# Eclipse files +*.project +*.classpath +**/.settings + +# Xtext generated sources +**/src-gen +**/xtend-gen +**/model/generated/ diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ide/META-INF/MANIFEST.MF b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ide/META-INF/MANIFEST.MF new file mode 100644 index 00000000..f02abc50 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ide/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: org.contextmapper.dsl.ide +Bundle-ManifestVersion: 2 +Bundle-Name: org.contextmapper.dsl.ide +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: org.contextmapper.dsl.ide; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: org.contextmapper.dsl, + org.eclipse.xtext.ide, + org.eclipse.xtext.xbase.ide, + org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: org.contextmapper.dsl.ide.contentassist.antlr.internal, + org.contextmapper.dsl.ide.contentassist.antlr + diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ide/build.properties b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ide/build.properties new file mode 100644 index 00000000..5c6bbf99 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ide/build.properties @@ -0,0 +1,6 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = .,\ + META-INF/ +bin.excludes = **/*.xtend diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ide/pom.xml b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ide/pom.xml new file mode 100644 index 00000000..51f16edf --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ide/pom.xml @@ -0,0 +1,160 @@ + + 4.0.0 + + org.contextmapper.dsl + org.contextmapper.dsl.parent + 1.0.0-SNAPSHOT + + org.contextmapper.dsl.ide + eclipse-plugin + + + + log4j + log4j + 1.2.16 + + + org.eclipse.lsp4j + org.eclipse.lsp4j + 0.5.0 + + + org.ow2.asm + asm + 6.2.1 + + + org.ow2.asm + asm-commons + 6.2.1 + + + org.ow2.asm + asm-tree + 6.2.1 + + + + + + org.eclipse.xtend + xtend-maven-plugin + + + org.eclipse.tycho + target-platform-configuration + + consider + + + + org.apache.maven.plugins + maven-dependency-plugin + 3.0.1 + + + copy-dependencies + package + + copy-dependencies + + + ${project.build.directory}/libs + false + false + true + true + + com.ibm.icu, + org.apache.ant, + org.apache.commons.lang, + org.apache.commons.logging, + org.eclipse.core.commands, + org.eclipse.core.contenttype, + org.eclipse.core.expressions, + org.eclipse.core.filesystem, + org.eclipse.core.jobs, + org.eclipse.core.resources, + org.eclipse.core.runtime, + org.eclipse.core.variables, + org.eclipse.debug.core, + org.eclipse.emf.codegen.ecore, + org.eclipse.emf.codegen, + org.eclipse.emf.mwe.core, + org.eclipse.emf.mwe.utils, + org.eclipse.emf.mwe2.lib, + org.eclipse.emf.mwe2.runtime, + org.eclipse.equinox.app, + org.eclipse.equinox.preferences, + org.eclipse.equinox.registry, + org.eclipse.jdt.core, + org.eclipse.jdt.debug, + org.eclipse.jdt.launching, + org.eclipse.text, + org.eclipse.xtend.typesystem.emf, + org.eclipse.xtend, + + + + + + + com.googlecode.addjars-maven-plugin + addjars-maven-plugin + 1.0.5 + + + package + + add-jars + + + + + ${project.build.directory}/libs + + + + + + + + org.codehaus.mojo + appassembler-maven-plugin + 1.10 + + + package + + assemble + + + ${project.build.directory}/languageserver + flat + true + + + + mydsl-ls + org.eclipse.xtext.ide.server.ServerLauncher + + + + + + + + + + + diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ide/src/org/contextmapper/dsl/ide/ContextMappingDSLIdeModule.xtend b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ide/src/org/contextmapper/dsl/ide/ContextMappingDSLIdeModule.xtend new file mode 100644 index 00000000..cf024234 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ide/src/org/contextmapper/dsl/ide/ContextMappingDSLIdeModule.xtend @@ -0,0 +1,11 @@ +/* + * generated by Xtext 2.15.0 + */ +package org.contextmapper.dsl.ide + + +/** + * Use this class to register ide components. + */ +class ContextMappingDSLIdeModule extends AbstractContextMappingDSLIdeModule { +} diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ide/src/org/contextmapper/dsl/ide/ContextMappingDSLIdeSetup.xtend b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ide/src/org/contextmapper/dsl/ide/ContextMappingDSLIdeSetup.xtend new file mode 100644 index 00000000..dfca0a4e --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ide/src/org/contextmapper/dsl/ide/ContextMappingDSLIdeSetup.xtend @@ -0,0 +1,20 @@ +/* + * generated by Xtext 2.15.0 + */ +package org.contextmapper.dsl.ide + +import com.google.inject.Guice +import org.contextmapper.dsl.ContextMappingDSLRuntimeModule +import org.contextmapper.dsl.ContextMappingDSLStandaloneSetup +import org.eclipse.xtext.util.Modules2 + +/** + * Initialization support for running Xtext languages as language servers. + */ +class ContextMappingDSLIdeSetup extends ContextMappingDSLStandaloneSetup { + + override createInjector() { + Guice.createInjector(Modules2.mixin(new ContextMappingDSLRuntimeModule, new ContextMappingDSLIdeModule)) + } + +} diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.target/org.contextmapper.dsl.target.target b/org.contextmapper.dsl.parent/org.contextmapper.dsl.target/org.contextmapper.dsl.target.target new file mode 100644 index 00000000..ea6adf73 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.target/org.contextmapper.dsl.target.target @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.target/pom.xml b/org.contextmapper.dsl.parent/org.contextmapper.dsl.target/pom.xml new file mode 100644 index 00000000..db382345 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.target/pom.xml @@ -0,0 +1,15 @@ + + 4.0.0 + + org.contextmapper.dsl + org.contextmapper.dsl.parent + 1.0.0-SNAPSHOT + + org.contextmapper.dsl.target + eclipse-target-definition + + + + + diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.tests/META-INF/MANIFEST.MF b/org.contextmapper.dsl.parent/org.contextmapper.dsl.tests/META-INF/MANIFEST.MF new file mode 100644 index 00000000..7b8d847a --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.tests/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: org.contextmapper.dsl.tests +Bundle-ManifestVersion: 2 +Bundle-Name: org.contextmapper.dsl.tests +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: org.contextmapper.dsl.tests; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: org.contextmapper.dsl, + org.junit.jupiter.api;bundle-version="[5.0.0,6.0.0)", + org.eclipse.xtext.testing, + org.eclipse.xtext.xbase.testing, + org.eclipse.xtext.xbase.lib;bundle-version="2.14.0" +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: org.contextmapper.dsl.tests;x-internal=true + diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.tests/build.properties b/org.contextmapper.dsl.parent/org.contextmapper.dsl.tests/build.properties new file mode 100644 index 00000000..5c6bbf99 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.tests/build.properties @@ -0,0 +1,6 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = .,\ + META-INF/ +bin.excludes = **/*.xtend diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.tests/pom.xml b/org.contextmapper.dsl.parent/org.contextmapper.dsl.tests/pom.xml new file mode 100644 index 00000000..e34f718e --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.tests/pom.xml @@ -0,0 +1,21 @@ + + 4.0.0 + + org.contextmapper.dsl + org.contextmapper.dsl.parent + 1.0.0-SNAPSHOT + + org.contextmapper.dsl.tests + eclipse-test-plugin + + + + + org.eclipse.xtend + xtend-maven-plugin + + + + + diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.tests/src/org/contextmapper/dsl/tests/ContextMappingDSLParsingTest.xtend b/org.contextmapper.dsl.parent/org.contextmapper.dsl.tests/src/org/contextmapper/dsl/tests/ContextMappingDSLParsingTest.xtend new file mode 100644 index 00000000..d0f0675e --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.tests/src/org/contextmapper/dsl/tests/ContextMappingDSLParsingTest.xtend @@ -0,0 +1,30 @@ +/* + * generated by Xtext 2.15.0 + */ +package org.contextmapper.dsl.tests + +import com.google.inject.Inject +import org.contextmapper.dsl.contextMappingDSL.Model +import org.eclipse.xtext.testing.InjectWith +import org.eclipse.xtext.testing.extensions.InjectionExtension +import org.eclipse.xtext.testing.util.ParseHelper +import org.junit.jupiter.api.Assertions +import org.junit.jupiter.api.Test +import org.junit.jupiter.api.^extension.ExtendWith + +@ExtendWith(InjectionExtension) +@InjectWith(ContextMappingDSLInjectorProvider) +class ContextMappingDSLParsingTest { + @Inject + ParseHelper parseHelper + + @Test + def void loadModel() { + val result = parseHelper.parse(''' + Hello Xtext! + ''') + Assertions.assertNotNull(result) + val errors = result.eResource.errors + Assertions.assertTrue(errors.isEmpty, '''Unexpected errors: «errors.join(", ")»''') + } +} diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui.tests/META-INF/MANIFEST.MF b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui.tests/META-INF/MANIFEST.MF new file mode 100644 index 00000000..4f85617f --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui.tests/META-INF/MANIFEST.MF @@ -0,0 +1,19 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: org.contextmapper.dsl.ui.tests +Bundle-ManifestVersion: 2 +Bundle-Name: org.contextmapper.dsl.ui.tests +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: org.contextmapper.dsl.ui.tests; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: org.contextmapper.dsl.ui, + org.junit.jupiter.api;bundle-version="[5.0.0,6.0.0)", + org.eclipse.xtext.testing, + org.eclipse.xtext.xbase.testing, + org.eclipse.xtext.junit4, + org.eclipse.xtext.xbase.junit, + org.eclipse.core.runtime, + org.eclipse.ui.workbench;resolution:=optional +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: org.contextmapper.dsl.ui.tests;x-internal=true + diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui.tests/build.properties b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui.tests/build.properties new file mode 100644 index 00000000..5c6bbf99 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui.tests/build.properties @@ -0,0 +1,6 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = .,\ + META-INF/ +bin.excludes = **/*.xtend diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui.tests/pom.xml b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui.tests/pom.xml new file mode 100644 index 00000000..51b3c8e3 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui.tests/pom.xml @@ -0,0 +1,47 @@ + + 4.0.0 + + org.contextmapper.dsl + org.contextmapper.dsl.parent + 1.0.0-SNAPSHOT + + org.contextmapper.dsl.ui.tests + eclipse-test-plugin + + + + + org.eclipse.xtend + xtend-maven-plugin + + + org.eclipse.tycho + tycho-surefire-plugin + + true + + + + org.eclipse.tycho + target-platform-configuration + + + + + + eclipse-feature + org.eclipse.rcp + 0.0.0 + + + + + + + + + diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/META-INF/MANIFEST.MF b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/META-INF/MANIFEST.MF new file mode 100644 index 00000000..129157ae --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/META-INF/MANIFEST.MF @@ -0,0 +1,26 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: org.contextmapper.dsl.ui +Bundle-ManifestVersion: 2 +Bundle-Name: org.contextmapper.dsl.ui +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: org.contextmapper.dsl.ui; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: org.contextmapper.dsl, + org.contextmapper.dsl.ide, + org.eclipse.xtext.ui, + org.eclipse.xtext.ui.shared, + org.eclipse.xtext.ui.codetemplates.ui, + org.eclipse.ui.editors;bundle-version="3.5.0", + org.eclipse.ui.ide;bundle-version="3.5.0", + org.eclipse.ui, + org.eclipse.compare, + org.eclipse.xtext.builder, + org.eclipse.xtext.xbase.lib;bundle-version="2.14.0", + org.eclipse.xtend.lib;resolution:=optional +Import-Package: org.apache.log4j +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: org.contextmapper.dsl.ui.contentassist, + org.contextmapper.dsl.ui.quickfix, + org.contextmapper.dsl.ui.internal +Bundle-Activator: org.contextmapper.dsl.ui.internal.DslActivator diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/build.properties b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/build.properties new file mode 100644 index 00000000..323f56c5 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/build.properties @@ -0,0 +1,7 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = .,\ + META-INF/,\ + plugin.xml +bin.excludes = **/*.xtend diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/plugin.xml b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/plugin.xml new file mode 100644 index 00000000..372c12b5 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/plugin.xml @@ -0,0 +1,434 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/pom.xml b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/pom.xml new file mode 100644 index 00000000..a0111c8e --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/pom.xml @@ -0,0 +1,21 @@ + + 4.0.0 + + org.contextmapper.dsl + org.contextmapper.dsl.parent + 1.0.0-SNAPSHOT + + org.contextmapper.dsl.ui + eclipse-plugin + + + + + org.eclipse.xtend + xtend-maven-plugin + + + + + diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/ContextMappingDSLUiModule.xtend b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/ContextMappingDSLUiModule.xtend new file mode 100644 index 00000000..b642430f --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/ContextMappingDSLUiModule.xtend @@ -0,0 +1,13 @@ +/* + * generated by Xtext 2.15.0 + */ +package org.contextmapper.dsl.ui + +import org.eclipse.xtend.lib.annotations.FinalFieldsConstructor + +/** + * Use this class to register components to be used within the Eclipse IDE. + */ +@FinalFieldsConstructor +class ContextMappingDSLUiModule extends AbstractContextMappingDSLUiModule { +} diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/contentassist/ContextMappingDSLProposalProvider.xtend b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/contentassist/ContextMappingDSLProposalProvider.xtend new file mode 100644 index 00000000..77e4e8b2 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/contentassist/ContextMappingDSLProposalProvider.xtend @@ -0,0 +1,12 @@ +/* + * generated by Xtext 2.15.0 + */ +package org.contextmapper.dsl.ui.contentassist + + +/** + * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#content-assist + * on how to customize the content assistant. + */ +class ContextMappingDSLProposalProvider extends AbstractContextMappingDSLProposalProvider { +} diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/labeling/ContextMappingDSLDescriptionLabelProvider.xtend b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/labeling/ContextMappingDSLDescriptionLabelProvider.xtend new file mode 100644 index 00000000..0f4696bb --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/labeling/ContextMappingDSLDescriptionLabelProvider.xtend @@ -0,0 +1,24 @@ +/* + * generated by Xtext 2.15.0 + */ +package org.contextmapper.dsl.ui.labeling + +import org.eclipse.xtext.ui.label.DefaultDescriptionLabelProvider + +/** + * Provides labels for IEObjectDescriptions and IResourceDescriptions. + * + * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider + */ +class ContextMappingDSLDescriptionLabelProvider extends DefaultDescriptionLabelProvider { + + // Labels and icons can be computed like this: + +// override text(IEObjectDescription ele) { +// ele.name.toString +// } +// +// override image(IEObjectDescription ele) { +// ele.EClass.name + '.gif' +// } +} diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/labeling/ContextMappingDSLLabelProvider.xtend b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/labeling/ContextMappingDSLLabelProvider.xtend new file mode 100644 index 00000000..2ad7305d --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/labeling/ContextMappingDSLLabelProvider.xtend @@ -0,0 +1,31 @@ +/* + * generated by Xtext 2.15.0 + */ +package org.contextmapper.dsl.ui.labeling + +import com.google.inject.Inject +import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider +import org.eclipse.xtext.ui.label.DefaultEObjectLabelProvider + +/** + * Provides labels for EObjects. + * + * See https://www.eclipse.org/Xtext/documentation/304_ide_concepts.html#label-provider + */ +class ContextMappingDSLLabelProvider extends DefaultEObjectLabelProvider { + + @Inject + new(AdapterFactoryLabelProvider delegate) { + super(delegate); + } + + // Labels and icons can be computed like this: + +// def text(Greeting ele) { +// 'A greeting to ' + ele.name +// } +// +// def image(Greeting ele) { +// 'Greeting.gif' +// } +} diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/outline/ContextMappingDSLOutlineTreeProvider.xtend b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/outline/ContextMappingDSLOutlineTreeProvider.xtend new file mode 100644 index 00000000..caf00cb0 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/outline/ContextMappingDSLOutlineTreeProvider.xtend @@ -0,0 +1,15 @@ +/* + * generated by Xtext 2.15.0 + */ +package org.contextmapper.dsl.ui.outline + +import org.eclipse.xtext.ui.editor.outline.impl.DefaultOutlineTreeProvider + +/** + * Customization of the default outline structure. + * + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#outline + */ +class ContextMappingDSLOutlineTreeProvider extends DefaultOutlineTreeProvider { + +} diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/quickfix/ContextMappingDSLQuickfixProvider.xtend b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/quickfix/ContextMappingDSLQuickfixProvider.xtend new file mode 100644 index 00000000..5a4a697c --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl.ui/src/org/contextmapper/dsl/ui/quickfix/ContextMappingDSLQuickfixProvider.xtend @@ -0,0 +1,24 @@ +/* + * generated by Xtext 2.15.0 + */ +package org.contextmapper.dsl.ui.quickfix + +import org.eclipse.xtext.ui.editor.quickfix.DefaultQuickfixProvider + +/** + * Custom quickfixes. + * + * See https://www.eclipse.org/Xtext/documentation/310_eclipse_support.html#quick-fixes + */ +class ContextMappingDSLQuickfixProvider extends DefaultQuickfixProvider { + +// @Fix(ContextMappingDSLValidator.INVALID_NAME) +// def capitalizeName(Issue issue, IssueResolutionAcceptor acceptor) { +// acceptor.accept(issue, 'Capitalize name', 'Capitalize the name.', 'upcase.png') [ +// context | +// val xtextDocument = context.xtextDocument +// val firstLetter = xtextDocument.get(issue.offset, 1) +// xtextDocument.replace(issue.offset, 1, firstLetter.toUpperCase) +// ] +// } +} diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl/.launch/Generate ContextMappingDSL (cml) Language Infrastructure.launch b/org.contextmapper.dsl.parent/org.contextmapper.dsl/.launch/Generate ContextMappingDSL (cml) Language Infrastructure.launch new file mode 100644 index 00000000..24770226 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl/.launch/Generate ContextMappingDSL (cml) Language Infrastructure.launch @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl/.launch/Launch Runtime Eclipse.launch b/org.contextmapper.dsl.parent/org.contextmapper.dsl/.launch/Launch Runtime Eclipse.launch new file mode 100644 index 00000000..de80fe08 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl/.launch/Launch Runtime Eclipse.launch @@ -0,0 +1,34 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl/META-INF/MANIFEST.MF b/org.contextmapper.dsl.parent/org.contextmapper.dsl/META-INF/MANIFEST.MF new file mode 100644 index 00000000..b4d25e28 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl/META-INF/MANIFEST.MF @@ -0,0 +1,30 @@ +Manifest-Version: 1.0 +Automatic-Module-Name: org.contextmapper.dsl +Bundle-ManifestVersion: 2 +Bundle-Name: org.contextmapper.dsl +Bundle-Vendor: My Company +Bundle-Version: 1.0.0.qualifier +Bundle-SymbolicName: org.contextmapper.dsl; singleton:=true +Bundle-ActivationPolicy: lazy +Require-Bundle: org.eclipse.xtext, + org.eclipse.xtext.xbase, + org.eclipse.equinox.common;bundle-version="3.5.0", + org.eclipse.emf.ecore, + org.eclipse.xtext.xbase.lib;bundle-version="2.14.0", + org.eclipse.xtext.util, + org.eclipse.emf.common, + org.eclipse.xtend.lib;bundle-version="2.14.0", + org.antlr.runtime;bundle-version="[3.2.0,3.2.1)" +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Export-Package: org.contextmapper.dsl.serializer, + org.contextmapper.dsl.validation, + org.contextmapper.dsl.contextMappingDSL.impl, + org.contextmapper.dsl.generator, + org.contextmapper.dsl.parser.antlr.internal, + org.contextmapper.dsl, + org.contextmapper.dsl.parser.antlr, + org.contextmapper.dsl.services, + org.contextmapper.dsl.scoping, + org.contextmapper.dsl.contextMappingDSL.util, + org.contextmapper.dsl.contextMappingDSL +Import-Package: org.apache.log4j diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl/build.properties b/org.contextmapper.dsl.parent/org.contextmapper.dsl/build.properties new file mode 100644 index 00000000..18d540bf --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl/build.properties @@ -0,0 +1,20 @@ +source.. = src/,\ + src-gen/,\ + xtend-gen/ +bin.includes = model/generated/,\ + .,\ + META-INF/,\ + plugin.xml +bin.excludes = **/*.mwe2,\ + **/*.xtend +additional.bundles = org.eclipse.xtext.xbase,\ + org.eclipse.xtext.common.types,\ + org.eclipse.xtext.xtext.generator,\ + org.eclipse.emf.codegen.ecore,\ + org.eclipse.emf.mwe.utils,\ + org.eclipse.emf.mwe2.launch,\ + org.eclipse.emf.mwe2.lib,\ + org.objectweb.asm,\ + org.apache.commons.logging,\ + org.apache.log4j,\ + com.ibm.icu diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl/plugin.xml b/org.contextmapper.dsl.parent/org.contextmapper.dsl/plugin.xml new file mode 100644 index 00000000..08c0fee7 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl/plugin.xml @@ -0,0 +1,10 @@ + + + + + + + diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl/pom.xml b/org.contextmapper.dsl.parent/org.contextmapper.dsl/pom.xml new file mode 100644 index 00000000..72058d63 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl/pom.xml @@ -0,0 +1,149 @@ + + 4.0.0 + + org.contextmapper.dsl + org.contextmapper.dsl.parent + 1.0.0-SNAPSHOT + + org.contextmapper.dsl + eclipse-plugin + + + + + org.codehaus.mojo + exec-maven-plugin + 1.4.0 + + + mwe2Launcher + generate-sources + + java + + + + + org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher + + /${project.basedir}/src/org/contextmapper/dsl/GenerateContextMappingDSL.mwe2 + -p + rootPath=/${project.basedir}/.. + + compile + true + false + + + + org.eclipse.emf + org.eclipse.emf.mwe2.launch + 2.9.1.201705291010 + + + org.eclipse.xtext + org.eclipse.xtext.common.types + ${xtextVersion} + + + org.eclipse.xtext + org.eclipse.xtext.xtext.generator + ${xtextVersion} + + + org.eclipse.xtext + org.eclipse.xtext.xbase + ${xtextVersion} + + + org.eclipse.xtext + xtext-antlr-generator + [2.1.1, 3) + + + + + org.eclipse.xtend + xtend-maven-plugin + + + + org.apache.maven.plugins + maven-clean-plugin + + + + ${basedir}/../org.contextmapper.dsl/src-gen/ + + **/* + + + + ${basedir}/../org.contextmapper.dsl.tests/src-gen/ + + **/* + + + + ${basedir}/../org.contextmapper.dsl.ide/src-gen/ + + **/* + + + + ${basedir}/../org.contextmapper.dsl.ui/src-gen/ + + **/* + + + + ${basedir}/../org.contextmapper.dsl.ui.tests/src-gen/ + + **/* + + + + ${basedir}/model/generated/ + + + + + + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + + org.codehaus.mojo + + + exec-maven-plugin + + + [1.2.1,) + + + java + + + + + + + + + + + + + + + diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/ContextMappingDSL.xtext b/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/ContextMappingDSL.xtext new file mode 100644 index 00000000..0fc68892 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/ContextMappingDSL.xtext @@ -0,0 +1,9 @@ +grammar org.contextmapper.dsl.ContextMappingDSL with org.eclipse.xtext.common.Terminals + +generate contextMappingDSL "http://www.contextmapper.org/dsl/ContextMappingDSL" + +Model: + greetings+=Greeting*; + +Greeting: + 'Hello' name=ID '!'; diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/ContextMappingDSLRuntimeModule.xtend b/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/ContextMappingDSLRuntimeModule.xtend new file mode 100644 index 00000000..2b1d5c22 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/ContextMappingDSLRuntimeModule.xtend @@ -0,0 +1,11 @@ +/* + * generated by Xtext 2.15.0 + */ +package org.contextmapper.dsl + + +/** + * Use this class to register components to be used at runtime / without the Equinox extension registry. + */ +class ContextMappingDSLRuntimeModule extends AbstractContextMappingDSLRuntimeModule { +} diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/ContextMappingDSLStandaloneSetup.xtend b/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/ContextMappingDSLStandaloneSetup.xtend new file mode 100644 index 00000000..23e24564 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/ContextMappingDSLStandaloneSetup.xtend @@ -0,0 +1,15 @@ +/* + * generated by Xtext 2.15.0 + */ +package org.contextmapper.dsl + + +/** + * Initialization support for running Xtext languages without Equinox extension registry. + */ +class ContextMappingDSLStandaloneSetup extends ContextMappingDSLStandaloneSetupGenerated { + + def static void doSetup() { + new ContextMappingDSLStandaloneSetup().createInjectorAndDoEMFRegistration() + } +} diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/GenerateContextMappingDSL.mwe2 b/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/GenerateContextMappingDSL.mwe2 new file mode 100644 index 00000000..130e03ae --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/GenerateContextMappingDSL.mwe2 @@ -0,0 +1,49 @@ +module org.contextmapper.dsl.GenerateContextMappingDSL + +import org.eclipse.xtext.xtext.generator.* +import org.eclipse.xtext.xtext.generator.model.project.* + +var rootPath = ".." + +Workflow { + + component = XtextGenerator { + configuration = { + project = StandardProjectConfig { + baseName = "org.contextmapper.dsl" + rootPath = rootPath + runtimeTest = { + enabled = true + } + eclipsePlugin = { + enabled = true + } + eclipsePluginTest = { + enabled = true + } + createEclipseMetaData = true + } + code = { + encoding = "UTF-8" + lineDelimiter = "\n" + fileHeader = "/*\n * generated by Xtext \${version}\n */" + } + } + language = StandardLanguage { + name = "org.contextmapper.dsl.ContextMappingDSL" + fileExtensions = "cml" + + serializer = { + generateStub = false + } + validator = { + // composedCheck = "org.eclipse.xtext.validation.NamesAreUniqueValidator" + // Generates checks for @Deprecated grammar annotations, an IssueProvider and a corresponding PropertyPage + generateDeprecationValidation = true + } + junitSupport = { + junitVersion = "5" + } + } + } +} diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/generator/ContextMappingDSLGenerator.xtend b/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/generator/ContextMappingDSLGenerator.xtend new file mode 100644 index 00000000..e512f228 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/generator/ContextMappingDSLGenerator.xtend @@ -0,0 +1,25 @@ +/* + * generated by Xtext 2.15.0 + */ +package org.contextmapper.dsl.generator + +import org.eclipse.emf.ecore.resource.Resource +import org.eclipse.xtext.generator.AbstractGenerator +import org.eclipse.xtext.generator.IFileSystemAccess2 +import org.eclipse.xtext.generator.IGeneratorContext + +/** + * Generates code from your model files on save. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#code-generation + */ +class ContextMappingDSLGenerator extends AbstractGenerator { + + override void doGenerate(Resource resource, IFileSystemAccess2 fsa, IGeneratorContext context) { +// fsa.generateFile('greetings.txt', 'People to greet: ' + +// resource.allContents +// .filter(Greeting) +// .map[name] +// .join(', ')) + } +} diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/scoping/ContextMappingDSLScopeProvider.xtend b/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/scoping/ContextMappingDSLScopeProvider.xtend new file mode 100644 index 00000000..0721a75a --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/scoping/ContextMappingDSLScopeProvider.xtend @@ -0,0 +1,15 @@ +/* + * generated by Xtext 2.15.0 + */ +package org.contextmapper.dsl.scoping + + +/** + * This class contains custom scoping description. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#scoping + * on how and when to use it. + */ +class ContextMappingDSLScopeProvider extends AbstractContextMappingDSLScopeProvider { + +} diff --git a/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/validation/ContextMappingDSLValidator.xtend b/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/validation/ContextMappingDSLValidator.xtend new file mode 100644 index 00000000..9b6cad31 --- /dev/null +++ b/org.contextmapper.dsl.parent/org.contextmapper.dsl/src/org/contextmapper/dsl/validation/ContextMappingDSLValidator.xtend @@ -0,0 +1,25 @@ +/* + * generated by Xtext 2.15.0 + */ +package org.contextmapper.dsl.validation + + +/** + * This class contains custom validation rules. + * + * See https://www.eclipse.org/Xtext/documentation/303_runtime_concepts.html#validation + */ +class ContextMappingDSLValidator extends AbstractContextMappingDSLValidator { + +// public static val INVALID_NAME = 'invalidName' +// +// @Check +// def checkGreetingStartsWithCapital(Greeting greeting) { +// if (!Character.isUpperCase(greeting.name.charAt(0))) { +// warning('Name should start with a capital', +// ContextMappingDSLPackage.Literals.GREETING__NAME, +// INVALID_NAME) +// } +// } + +} diff --git a/org.contextmapper.dsl.parent/pom.xml b/org.contextmapper.dsl.parent/pom.xml new file mode 100644 index 00000000..b6e17175 --- /dev/null +++ b/org.contextmapper.dsl.parent/pom.xml @@ -0,0 +1,283 @@ + + 4.0.0 + org.contextmapper.dsl + 1.0.0-SNAPSHOT + org.contextmapper.dsl.parent + pom + + + 2.15.0 + UTF-8 + 1.8 + 1.8 + + 1.2.0 + + + + + + + + org.contextmapper.dsl + org.contextmapper.dsl.ide + org.contextmapper.dsl.ui + org.contextmapper.dsl.target + org.contextmapper.dsl.tests + org.contextmapper.dsl.ui.tests + + + + + org.eclipse.tycho + tycho-maven-plugin + ${tycho-version} + true + + + org.eclipse.tycho + target-platform-configuration + ${tycho-version} + + + + org.contextmapper.dsl + org.contextmapper.dsl.target + ${project.version} + + + + + macosx + cocoa + x86_64 + + + win32 + win32 + x86_64 + + + linux + gtk + x86_64 + + + + + + + + + org.eclipse.xtend + xtend-maven-plugin + ${xtextVersion} + + + + compile + xtend-install-debug-info + testCompile + xtend-test-install-debug-info + + + + + ${basedir}/xtend-gen + ${basedir}/xtend-gen + + + + org.apache.maven.plugins + maven-clean-plugin + 2.5 + + + + ${basedir}/xtend-gen + + **/* + + + + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + + org.apache.maven.plugins + + + maven-resources-plugin + + + [2.4.3,) + + + resources + testResources + + + + + + + + + + org.codehaus.mojo + + + build-helper-maven-plugin + + + [1.9.1,) + + + add-resource + add-source + add-test-resource + add-test-source + + + + + + + + + + org.eclipse.tycho + + + tycho-compiler-plugin + + + [0.23.1,) + + + compile + + + + + + + + + + org.eclipse.tycho + + + tycho-packaging-plugin + + + [0.23.1,) + + + build-qualifier + build-qualifier-aggregator + validate-id + validate-version + + + + + + + + + + + + + org.eclipse.tycho + tycho-compiler-plugin + ${tycho-version} + + -err:-forbidden + false + + + + + org.eclipse.tycho + tycho-surefire-plugin + ${tycho-version} + + + ${tycho.testArgLine} ${platformSystemProperties} ${systemProperties} ${moduleProperties} + false + false + + + + + + + + codehaus-snapshots + disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478 + http://nexus.codehaus.org/snapshots/ + + false + + + false + + + + + + codehaus-snapshots + disable dead 'Codehaus Snapshots' repository, see https://bugs.eclipse.org/bugs/show_bug.cgi?id=481478 + http://nexus.codehaus.org/snapshots/ + + false + + + false + + + + + + macos + + + mac + + + + + -XstartOnFirstThread + + + + jdk9-or-newer + + [9,) + + + --add-modules=ALL-SYSTEM + + + + + + +