-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #531 from lunkpeter/mwe2RCP
MWE2 based RCP application
- Loading branch information
Showing
16 changed files
with
397 additions
and
8 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,4 +2,5 @@ source.. = src/,\ | |
xtend-gen/ | ||
output.. = bin/ | ||
bin.includes = META-INF/,\ | ||
. | ||
.,\ | ||
plugin.xml |
13 changes: 13 additions & 0 deletions
13
plugins/com.incquerylabs.emdw.toolchain.mwe2integration/plugin.xml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<?eclipse version="3.4"?> | ||
<plugin> | ||
<extension | ||
id="mwe2_rcp_application" | ||
point="org.eclipse.core.runtime.applications"> | ||
<application> | ||
<run | ||
class="com.incquerylabs.emdw.toolchain.mwe2integration.app.MWEIntegrationEclipseApp"> | ||
</run> | ||
</application> | ||
</extension> | ||
</plugin> |
33 changes: 33 additions & 0 deletions
33
....mwe2integration/src/com/incquerylabs/emdw/toolchain/mwe2integration/EMDWRcpWorkflow.mwe2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
module com.incquerylabs.emdw.toolchain.mwe2integration | ||
|
||
import org.eclipse.viatra.emf.mwe2integration.* | ||
import org.eclipse.viatra.emf.mwe2integration.mwe2impl.* | ||
import com.incquerylabs.emdw.toolchain.mwe2integration.steps.* | ||
import com.incquerylabs.emdw.toolchain.mwe2integration.* | ||
import org.eclipse.xtext.xbase.lib.Pair.* | ||
|
||
Workflow { | ||
component = PlainJavaInitializerComponent{ | ||
} | ||
|
||
component = TransformationChain { | ||
step = XtTransformationStep {} | ||
|
||
step = XtChangeMonitorStep { | ||
publishing = PublishTo {topicName = "DirtyComponents" factory = messages.DirtyComponentsMessageFactory{}} | ||
publishing = PublishTo {topicName = "FileContentCreation" factory = messages.DirtyComponentsMessageFactory{}} | ||
} | ||
|
||
step = CppQrtTransformationStep {} | ||
|
||
step = CppComponentTransformationStep{ | ||
subscription = SubscribeTo{topicName = "DirtyComponents" processor = messages.DirtyComponentsMessageProcessor{}} | ||
} | ||
|
||
step = FileContentCreationStep{ | ||
subscription = SubscribeTo{topicName = "FileContentCreation" processor = messages.DirtyComponentsMessageProcessor{}} | ||
isRcpApp = true | ||
} | ||
|
||
} | ||
} |
67 changes: 67 additions & 0 deletions
67
...on/src/com/incquerylabs/emdw/toolchain/mwe2integration/app/MWEIntegrationEclipseApp.xtend
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,67 @@ | ||
package com.incquerylabs.emdw.toolchain.mwe2integration.app | ||
|
||
import com.incquerylabs.uml.ralf.ReducedAlfLanguageStandaloneSetup | ||
import java.util.Arrays | ||
import java.util.HashMap | ||
import java.util.List | ||
import org.eclipse.emf.common.util.URI | ||
import org.eclipse.emf.mwe2.runtime.workflow.WorkflowContextImpl | ||
import org.eclipse.equinox.app.IApplication | ||
import org.eclipse.equinox.app.IApplicationContext | ||
import org.eclipse.viatra.emf.mwe2integration.initializer.MWE2IntegrationInitializer | ||
|
||
class MWEIntegrationEclipseApp implements IApplication{ | ||
|
||
private static final String APP_NAME = "MWE2Integration RCP App" | ||
private static final String ARGS_HELP = | ||
''' | ||
We need these arguments: | ||
* first arg: uml model path | ||
* second arg: target folder for generated code | ||
* third arg: MWE file location | ||
''' | ||
|
||
private static def boolean checkArguments(List<String> args) { | ||
System.out.println("Passed arguments:") | ||
args.forEach(arg | println(" * "+arg)) | ||
if (args === null || args.size() < 2) { | ||
System.out.println(ARGS_HELP) | ||
return false | ||
} | ||
return true | ||
} | ||
|
||
override start(IApplicationContext context) throws Exception { | ||
var List<String> args = Arrays.asList(context.getArguments().get("application.args") as String[]) | ||
|
||
System.out.println('''************* «APP_NAME» started *************''') | ||
if(args.checkArguments) { | ||
val initializer = new MWE2IntegrationInitializer | ||
|
||
// Initialize Xtext languages | ||
new ReducedAlfLanguageStandaloneSetup().createInjectorAndDoEMFRegistration() | ||
|
||
val mweRunner = initializer.initializeHeadlessEclipse(MWEIntegrationEclipseApp.classLoader) | ||
var WorkflowContextImpl workflowcontext = new WorkflowContextImpl() | ||
workflowcontext.put("umlModelPath", args.get(0)) | ||
workflowcontext.put("targetFolderPath", args.get(1)) | ||
|
||
|
||
var URI mwe2FileUri | ||
if(args.size == 3){ | ||
mwe2FileUri = URI.createURI(args.get(2)) | ||
}else { | ||
mwe2FileUri = URI::createURI(MWEIntegrationApp.getResource("/com/incquerylabs/emdw/toolchain/mwe2integration/EMDWRcpWorkflow.mwe2").toString) | ||
} | ||
|
||
mweRunner.run(mwe2FileUri, new HashMap<String, String>(), workflowcontext) | ||
} | ||
System.out.println('''************* «APP_NAME» finished *************''') | ||
return IApplication.EXIT_OK | ||
} | ||
|
||
override stop() { | ||
|
||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
6 changes: 6 additions & 0 deletions
6
releng/com.incquerylabs.emdw.toolchain.mwe2integration.product/.classpath
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<classpath> | ||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> | ||
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> | ||
<classpathentry kind="output" path="bin"/> | ||
</classpath> |
28 changes: 28 additions & 0 deletions
28
releng/com.incquerylabs.emdw.toolchain.mwe2integration.product/.project
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<projectDescription> | ||
<name>com.incquerylabs.emdw.toolchain.mwe2integration.product</name> | ||
<comment></comment> | ||
<projects> | ||
</projects> | ||
<buildSpec> | ||
<buildCommand> | ||
<name>org.eclipse.jdt.core.javabuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
<buildCommand> | ||
<name>org.eclipse.pde.ManifestBuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
<buildCommand> | ||
<name>org.eclipse.pde.SchemaBuilder</name> | ||
<arguments> | ||
</arguments> | ||
</buildCommand> | ||
</buildSpec> | ||
<natures> | ||
<nature>org.eclipse.pde.PluginNature</nature> | ||
<nature>org.eclipse.jdt.core.javanature</nature> | ||
</natures> | ||
</projectDescription> |
7 changes: 7 additions & 0 deletions
7
....incquerylabs.emdw.toolchain.mwe2integration.product/.settings/org.eclipse.jdt.core.prefs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
eclipse.preferences.version=1 | ||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled | ||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 | ||
org.eclipse.jdt.core.compiler.compliance=1.8 | ||
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error | ||
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error | ||
org.eclipse.jdt.core.compiler.source=1.8 |
7 changes: 7 additions & 0 deletions
7
releng/com.incquerylabs.emdw.toolchain.mwe2integration.product/META-INF/MANIFEST.MF
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
Manifest-Version: 1.0 | ||
Bundle-ManifestVersion: 2 | ||
Bundle-Name: EMDW MWE2 Headless RCP Application Product | ||
Bundle-SymbolicName: com.incquerylabs.emdw.toolchain.mwe2integration.product;singleton:=true | ||
Bundle-Version: 1.0.0.qualifier | ||
Bundle-Vendor: IncQuery Labs Ltd. | ||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8 |
3 changes: 3 additions & 0 deletions
3
releng/com.incquerylabs.emdw.toolchain.mwe2integration.product/build.properties
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
bin.includes = META-INF/,\ | ||
.,\ | ||
plugin.xml |
153 changes: 153 additions & 0 deletions
153
releng/com.incquerylabs.emdw.toolchain.mwe2integration.product/mwe2_rcp_app_product.product
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,153 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<?pde version="3.5"?> | ||
|
||
<product name="EMDW MWE2 Headless RCP Application" uid="com.incquerylabs.emdw.toolchain.mwe2integration.product.mwe2_rcp_app_product" id="com.incquerylabs.emdw.toolchain.mwe2integration.product.mwe2_rcp_app_product" application="com.incquerylabs.emdw.toolchain.mwe2integration.mwe2_rcp_application" version="1.0.0.qualifier" useFeatures="false" includeLaunchers="true"> | ||
|
||
|
||
<configIni use="default"> | ||
</configIni> | ||
|
||
<launcherArgs> | ||
<vmArgs>-Xms512M -Xmx2G | ||
</vmArgs> | ||
<vmArgsMac>-XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts | ||
</vmArgsMac> | ||
</launcherArgs> | ||
|
||
<windowImages/> | ||
|
||
<launcher> | ||
<solaris/> | ||
<win useIco="false"> | ||
<bmp/> | ||
</win> | ||
</launcher> | ||
|
||
|
||
<vm> | ||
</vm> | ||
|
||
<plugins> | ||
<plugin id="com.ericsson.xtumlrt.oopl.cpp.model"/> | ||
<plugin id="com.ericsson.xtumlrt.oopl.model"/> | ||
<plugin id="com.google.guava"/> | ||
<plugin id="com.google.inject"/> | ||
<plugin id="com.google.inject.multibindings" fragment="true"/> | ||
<plugin id="com.ibm.icu"/> | ||
<plugin id="com.incquerylabs.emdw.cpp.bodyconverter"/> | ||
<plugin id="com.incquerylabs.emdw.cpp.codegeneration"/> | ||
<plugin id="com.incquerylabs.emdw.cpp.common"/> | ||
<plugin id="com.incquerylabs.emdw.cpp.transformation"/> | ||
<plugin id="com.incquerylabs.emdw.snippet.model"/> | ||
<plugin id="com.incquerylabs.emdw.testing.common"/> | ||
<plugin id="com.incquerylabs.emdw.toolchain"/> | ||
<plugin id="com.incquerylabs.emdw.toolchain.mwe2integration"/> | ||
<plugin id="com.incquerylabs.emdw.umlintegration.queries"/> | ||
<plugin id="com.incquerylabs.emdw.umlintegration.trace"/> | ||
<plugin id="com.incquerylabs.emdw.umlintegration.transformation"/> | ||
<plugin id="com.incquerylabs.emdw.valuedescriptor.model"/> | ||
<plugin id="com.incquerylabs.emdw.xtuml.incquery"/> | ||
<plugin id="com.incquerylabs.emdw.xtuml.incquery.validation"/> | ||
<plugin id="com.incquerylabs.uml.ralf"/> | ||
<plugin id="com.incquerylabs.uml.ralf.snippetcompiler"/> | ||
<plugin id="hu.eltesoft.modelexecution.profile"/> | ||
<plugin id="it.xsemantics.runtime"/> | ||
<plugin id="javax.inject"/> | ||
<plugin id="javax.xml"/> | ||
<plugin id="org.antlr.runtime"/> | ||
<plugin id="org.apache.commons.cli"/> | ||
<plugin id="org.apache.commons.lang"/> | ||
<plugin id="org.apache.commons.logging"/> | ||
<plugin id="org.apache.log4j"/> | ||
<plugin id="org.eclipse.core.commands"/> | ||
<plugin id="org.eclipse.core.contenttype"/> | ||
<plugin id="org.eclipse.core.expressions"/> | ||
<plugin id="org.eclipse.core.filesystem"/> | ||
<plugin id="org.eclipse.core.filesystem.java7" fragment="true"/> | ||
<plugin id="org.eclipse.core.filesystem.win32.x86_64" fragment="true"/> | ||
<plugin id="org.eclipse.core.jobs"/> | ||
<plugin id="org.eclipse.core.resources"/> | ||
<plugin id="org.eclipse.core.resources.win32.x86_64" fragment="true"/> | ||
<plugin id="org.eclipse.core.runtime"/> | ||
<plugin id="org.eclipse.core.runtime.compatibility.registry" fragment="true"/> | ||
<plugin id="org.eclipse.core.variables"/> | ||
<plugin id="org.eclipse.debug.core"/> | ||
<plugin id="org.eclipse.emf.cdo.ecore.retrofit" fragment="true"/> | ||
<plugin id="org.eclipse.emf.codegen"/> | ||
<plugin id="org.eclipse.emf.codegen.ecore"/> | ||
<plugin id="org.eclipse.emf.common"/> | ||
<plugin id="org.eclipse.emf.ecore"/> | ||
<plugin id="org.eclipse.emf.ecore.xmi"/> | ||
<plugin id="org.eclipse.emf.mapping.ecore2xml"/> | ||
<plugin id="org.eclipse.emf.mwe.core"/> | ||
<plugin id="org.eclipse.emf.mwe.utils"/> | ||
<plugin id="org.eclipse.emf.mwe2.language"/> | ||
<plugin id="org.eclipse.emf.mwe2.launch"/> | ||
<plugin id="org.eclipse.emf.mwe2.lib"/> | ||
<plugin id="org.eclipse.emf.mwe2.runtime"/> | ||
<plugin id="org.eclipse.equinox.app"/> | ||
<plugin id="org.eclipse.equinox.common"/> | ||
<plugin id="org.eclipse.equinox.preferences"/> | ||
<plugin id="org.eclipse.equinox.registry"/> | ||
<plugin id="org.eclipse.incquery.patternlanguage"/> | ||
<plugin id="org.eclipse.incquery.patternlanguage.emf"/> | ||
<plugin id="org.eclipse.incquery.querybasedfeatures.runtime"/> | ||
<plugin id="org.eclipse.incquery.runtime"/> | ||
<plugin id="org.eclipse.incquery.runtime.base"/> | ||
<plugin id="org.eclipse.incquery.runtime.base.itc"/> | ||
<plugin id="org.eclipse.incquery.runtime.evm"/> | ||
<plugin id="org.eclipse.incquery.runtime.matchers"/> | ||
<plugin id="org.eclipse.incquery.runtime.rete"/> | ||
<plugin id="org.eclipse.incquery.runtime.rete.recipes"/> | ||
<plugin id="org.eclipse.incquery.uml"/> | ||
<plugin id="org.eclipse.incquery.validation.core"/> | ||
<plugin id="org.eclipse.jdt.compiler.apt" fragment="true"/> | ||
<plugin id="org.eclipse.jdt.compiler.tool" fragment="true"/> | ||
<plugin id="org.eclipse.jdt.core"/> | ||
<plugin id="org.eclipse.jdt.debug"/> | ||
<plugin id="org.eclipse.jdt.launching"/> | ||
<plugin id="org.eclipse.osgi"/> | ||
<plugin id="org.eclipse.osgi.compatibility.state" fragment="true"/> | ||
<plugin id="org.eclipse.papyrusrt.xtumlrt.common.model"/> | ||
<plugin id="org.eclipse.papyrusrt.xtumlrt.xtuml.model"/> | ||
<plugin id="org.eclipse.text"/> | ||
<plugin id="org.eclipse.uml2"/> | ||
<plugin id="org.eclipse.uml2.codegen.ecore"/> | ||
<plugin id="org.eclipse.uml2.common"/> | ||
<plugin id="org.eclipse.uml2.types"/> | ||
<plugin id="org.eclipse.uml2.uml"/> | ||
<plugin id="org.eclipse.uml2.uml.profile.standard"/> | ||
<plugin id="org.eclipse.uml2.uml.resources"/> | ||
<plugin id="org.eclipse.viatra.emf.mwe2integration"/> | ||
<plugin id="org.eclipse.viatra.emf.runtime"/> | ||
<plugin id="org.eclipse.xtend.lib"/> | ||
<plugin id="org.eclipse.xtend.lib.macro"/> | ||
<plugin id="org.eclipse.xtext"/> | ||
<plugin id="org.eclipse.xtext.common.types"/> | ||
<plugin id="org.eclipse.xtext.logging" fragment="true"/> | ||
<plugin id="org.eclipse.xtext.smap"/> | ||
<plugin id="org.eclipse.xtext.util"/> | ||
<plugin id="org.eclipse.xtext.xbase"/> | ||
<plugin id="org.eclipse.xtext.xbase.lib"/> | ||
<plugin id="org.hamcrest.core"/> | ||
<plugin id="org.junit"/> | ||
<plugin id="org.objectweb.asm"/> | ||
</plugins> | ||
|
||
<configurations> | ||
<plugin id="org.eclipse.core.runtime" autoStart="true" startLevel="0" /> | ||
<plugin id="org.eclipse.equinox.common" autoStart="true" startLevel="2" /> | ||
<plugin id="org.eclipse.equinox.ds" autoStart="true" startLevel="2" /> | ||
<plugin id="org.eclipse.equinox.event" autoStart="true" startLevel="2" /> | ||
<plugin id="org.eclipse.equinox.p2.reconciler.dropins" autoStart="true" startLevel="0" /> | ||
<plugin id="org.eclipse.equinox.simpleconfigurator" autoStart="true" startLevel="1" /> | ||
</configurations> | ||
|
||
<preferencesInfo> | ||
<targetfile overwrite="false"/> | ||
</preferencesInfo> | ||
|
||
<cssInfo> | ||
</cssInfo> | ||
|
||
</product> |
Oops, something went wrong.