Commit d7943c65 authored by Philip Makedonski's avatar Philip Makedonski
Browse files

* generate Java implementation of meta-model operations, #164

parent 496e2cab
Loading
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -32,7 +32,8 @@ Require-Bundle: org.eclipse.core.runtime,
 org.eclipse.emf.codegen.ecore;resolution:=optional,
 org.apache.log4j;resolution:=optional,
 org.apache.commons.logging;resolution:=optional,
 org.objectweb.asm;bundle-version="[9.8.0,9.9.0)";resolution:=optional
 org.objectweb.asm;bundle-version="[9.8.0,9.9.0)";resolution:=optional,
 org.etsi.mts.tdl.model.gen
Eclipse-LazyStart: true
Bundle-ActivationPolicy: lazy
Bundle-Activator: org.etsi.mts.tdl.Activator
+15 −14
Original line number Diff line number Diff line
@@ -2,10 +2,12 @@ module org.etsi.mts.tdl.GenerateTDL

import org.eclipse.xtext.xtext.generator.*
import org.eclipse.xtext.xtext.generator.model.project.*
import org.etsi.mts.tdl.gen.*

var rootPath = "platform:/resource/org.etsi.mts.tdl.model"
//var rootPath = "platform:/resource/" 
var rootPaths = "org.etsi.mts.tdl.model"
var srcGen = "src-gen" //this does not seem to matter... -> only for cleaning

Workflow {
	
@@ -15,38 +17,37 @@ Workflow {
	}
	
	component = org.eclipse.emf.mwe.utils.DirectoryCleaner {
	    directory ="src-gen"
	    directory ="${srcGen}"
	} 
	
	component = org.eclipse.emf.mwe2.ecore.EcoreGenerator {
	//TODO: this only works in maven, starting directly it generates mostly empty files
//	component = org.eclipse.emf.mwe2.ecore.EcoreGenerator {
	component = org.etsi.mts.tdl.gen.OCLinEcoreGenerator {  
	    generateCustomClasses = false
	    generateModel = true
	    generateEdit = false
	    generateEditor = false
	    genModel = "platform:/resource/${rootPaths}/model/tdl.genmodel"
	    srcPath = "platform:/resource/${rootPaths}/src-gen" 
//	    genModel = "../plugins/${rootPaths}/model/tdl.genmodel"
	    srcPath = "platform:/resource/${rootPaths}/${srcGen}" 
	}

	component = org.eclipse.emf.mwe2.ecore.EcoreGenerator {
//	component = org.eclipse.emf.mwe2.ecore.EcoreGenerator {
	component = org.etsi.mts.tdl.gen.OCLinEcoreGenerator {  
	    generateCustomClasses = false
	    generateModel = true
	    generateEdit = false
	    generateEditor = false
	    genModel = "platform:/resource/${rootPaths}/model/structured.genmodel"
	    srcPath = "platform:/resource/${rootPaths}/src-gen" 
	    srcPath = "platform:/resource/${rootPaths}/${srcGen}" 
	}

	component = org.eclipse.emf.mwe2.ecore.EcoreGenerator {
//	component = org.eclipse.emf.mwe2.ecore.EcoreGenerator {
	component = org.etsi.mts.tdl.gen.OCLinEcoreGenerator {  
	    generateCustomClasses = false
	    generateModel = true
	    generateEdit = false
	    generateEditor = false
	    genModel = "platform:/resource/${rootPaths}/model/configurations.genmodel"
	    srcPath = "platform:/resource/${rootPaths}/src-gen" 
	    srcPath = "platform:/resource/${rootPaths}/${srcGen}" 
	}


}
//TODO: move to separate project?
//TODO: repeat for structured and configurations
+3 −0
Original line number Diff line number Diff line
@@ -4,6 +4,9 @@
    redirection="" modelName="Tdl" importerID="org.eclipse.emf.importer.ecore" complianceLevel="21.0"
    copyrightFields="false" usedGenPackages="configurations.genmodel#//extendedconfigurations structured.genmodel#//structuredobjectives"
    operationReflection="true" importOrganizing="true">
  <genAnnotations source="http://www.eclipse.org/OCL/GenModel">
    <details key="Use Delegates" value="false"/>
  </genAnnotations>
  <foreignModel>configurations.ecore</foreignModel>
  <foreignModel>structured.ecore</foreignModel>
  <foreignModel>tdl.ecore</foreignModel>
+12 −0
Original line number Diff line number Diff line
package org.etsi.mts.tdl;
import org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher;

public class XtextCodeGenerator {
    public static void main(String[] args) {
        // For quick testing and debugging, otherwise has the same problem as the MWE - running directly produces mostly empty files
        Mwe2Launcher.main(new String[] {
            "model/GenerateTDL.mwe2",
            "-p", "rootPath=../"
        });
    }
}
 No newline at end of file