
module org.eclipse.e4.generator.CSSGeneratorMWE

import org.eclipse.emf.mwe.utils.*

var targetDir
var modelPath

Workflow {

	component = org.eclipse.xtext.mwe.Reader {
		// lookup all resources on the classpath
		// useJavaClassPath = true

		// or define search scope explicitly
		path = modelPath

		// this class will be generated by the xtext generator 
		register = org.eclipse.e4.CSSStandaloneSetup {}
		loadResource = {
			slot = "model"
		}
	}

	component = org.eclipse.xtext.generator.GeneratorComponent {
		register = org.eclipse.e4.CSSStandaloneSetup {}
		slot = 'model'
		outlet = {
			path = targetDir
		}
	}
}
