/*******************************************************************************
 * Copyright (c) 2010 Willink Transformations 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:
 *     E.D.Willink - initial API and implementation
 *
 * Run As->MWE2 Workflow to regenerate the Xtest CST models.
 *******************************************************************************/
module GenerateQVTdEvaluationStatusModels

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

/**
 *	Generate the Evaluation Status Model used by the QVT polled/incremental execution.
 */
Workflow {
	bean = ResourceSetImpl : evalStatusResourceSet {}
    bean = StandaloneSetup { resourceSet = evalStatusResourceSet
    	platformUri = ".."
    	scanClassPath = true
    }
    bean = QVTdStandaloneSetup { resourceSet = evalStatusResourceSet }
    bean = EcoreGenModelSetup { resourceSet = evalStatusResourceSet }

    component = GenerateModel { resourceSet = evalStatusResourceSet skipOnErrors = true
    	genModel = "/org.eclipse.qvtd.pivot.qvtimperative/model/EvaluationStatus.genmodel" 	
    }
    
    component = GenerateEvaluationStatusVisitors { resourceSet = evalStatusResourceSet
    	projectName = "org.eclipse.qvtd.pivot.qvtimperative"
    	genModelFile = "model/EvaluationStatus.genmodel"
    }
    
	component = ConvertToUnixLineEndings {
		directory = "org.eclipse.qvtd.pivot.qvtimperative/emf-gen"
	}
}