/*******************************************************************************
 * 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 v1.0
 * which accompanies this distribution, and is available at
 * http://www.eclipse.org/legal/epl-v10.html
 *
 * Contributors:
 *     Adolfo Sanchez-Barbudo Herrera (University of York) - initial API and implementation
 * 
 *******************************************************************************/
module org.eclipse.qvtd.build.mwe2.GenerateExample3Models

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 = "src/org/eclipse/qvtd/cs2as/compiler/tests/models/example3"

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

	component = GenerateModel { resourceSet = resourceSet skipOnErrors = true
    	genModel = "/${projectName}/${examplesFolder}/KiamaAS.genmodel"
    }
    
    component = GenerateModel { resourceSet = resourceSet skipOnErrors = true
    	genModel = "/${projectName}/${examplesFolder}/KiamaCS.genmodel"
    }   
}


