/*******************************************************************************
 * Copyright (c) 2015 Willink Transformations Ltd., University of York and others.
 * All rights reserved. This program and the accompanying materials
 * are made available under the terms of the Eclipse Public License v2.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v20.html
 *
 * Contributors:
 *     Adolfo Sanchez-Barbudo Herrera (University of York) - initial API and implementation
 * 
 *******************************************************************************/
module org.eclipse.qvtd.build.mwe2.GenerateExample4Models

import org.eclipse.ocl.examples.build.utilities.*
import org.eclipse.ocl.examples.build.xtend.*
import org.eclipse.emf.mwe.utils.*
import org.eclipse.emf.ecore.resource.impl.*

var projectName = "org.eclipse.qvtd.cs2as.compiler.tests"
var examplesFolder = "models/SimplerKiama"

Workflow {
	bean = ResourceSetImpl : resourceSet {}
    bean = ProjectMapSetup { resourceSet = resourceSet }
    bean = EcoreGenModelSetup { resourceSet = resourceSet }

	component = GenerateModel { resourceSet = resourceSet skipOnErrors = true
    	genModel = "/${projectName}/${examplesFolder}/SimplerKiamaAS.genmodel" clearResourceSet = false
    }
    
    component = GenerateModel { resourceSet = resourceSet skipOnErrors = true
    	genModel = "/${projectName}/${examplesFolder}/SimplerKiamaCS.genmodel" clearResourceSet = false
    }   
}


