[5] | 1 | module workflow.GoldGenerator |
---|
| 2 | |
---|
| 3 | import org.eclipse.emf.mwe.utils.* |
---|
| 4 | |
---|
| 5 | var modelPath = "src/model" |
---|
| 6 | var targetDir = "src-gen" |
---|
| 7 | var fileEncoding = "Cp1252" |
---|
| 8 | |
---|
| 9 | Workflow { |
---|
| 10 | |
---|
| 11 | component = org.eclipse.xtext.mwe.Reader { |
---|
| 12 | // lookup all resources on the classpath |
---|
| 13 | // useJavaClassPath = true |
---|
| 14 | |
---|
| 15 | // or define search scope explicitly |
---|
| 16 | path = modelPath |
---|
| 17 | uriFilter = org.eclipse.xtext.mwe.NameBasedFilter { |
---|
| 18 | // regularExpression="repeatedRuleTest1.*" |
---|
| 19 | // regularExpression="repeatedRuleTest2.*" |
---|
| 20 | // regularExpression="groupRuleTest.*" |
---|
| 21 | regularExpression="optional.*" |
---|
| 22 | // regularExpression="ttcn3-4.2.1-draft.*" |
---|
| 23 | } |
---|
| 24 | |
---|
| 25 | // this class will be generated by the xtext generator |
---|
| 26 | register = de.ugoe.cs.swe.bnftools.EbnfStandaloneSetup {} |
---|
| 27 | load = { |
---|
| 28 | slot = "model" |
---|
| 29 | type = "EtsiBnf" |
---|
| 30 | } |
---|
| 31 | } |
---|
| 32 | |
---|
| 33 | component = org.eclipse.xtend.XtendComponent { |
---|
| 34 | metaModel = org.eclipse.xtend.typesystem.emf.EmfRegistryMetaModel {} |
---|
| 35 | invoke = "extensions::SimpleBnf::transform(model)" |
---|
| 36 | outputSlot = "simplebnfmodel" |
---|
| 37 | } |
---|
| 38 | |
---|
| 39 | component = Writer { |
---|
| 40 | // useSingleGlobalResourceSet = true |
---|
| 41 | // cloneSlotContents = true |
---|
| 42 | modelSlot = "simplebnfmodel" |
---|
| 43 | uri = "src-gen/newModel.xmi" |
---|
| 44 | } |
---|
| 45 | |
---|
| 46 | component = org.eclipse.xpand2.Generator { |
---|
| 47 | metaModel = org.eclipse.xtend.typesystem.emf.EmfRegistryMetaModel {} |
---|
| 48 | |
---|
| 49 | expand = "templates::Gold::Root FOREACH simplebnfmodel" |
---|
| 50 | outlet = { |
---|
| 51 | // name = "ruleasd" |
---|
| 52 | // append = true |
---|
| 53 | path = targetDir |
---|
| 54 | } |
---|
| 55 | fileEncoding = fileEncoding |
---|
| 56 | } |
---|
| 57 | |
---|
| 58 | } |
---|