/*******************************************************************************
 * 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 GenerateQVTdUMLXModels

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 Schedule Model used by the QVT scheduling.
 */
Workflow {
	bean = ResourceSetImpl : umlxResourceSet {}
    bean = ProjectMapSetup { resourceSet = umlxResourceSet }
    bean = StandaloneSetup { resourceSet = umlxResourceSet
    	platformUri = ".."
    	scanClassPath = true
    }
    
    bean = EcoreGenModelSetup { resourceSet = umlxResourceSet }

    component = GenerateModel { resourceSet = umlxResourceSet skipOnErrors = true
    	genModel = "/org.eclipse.qvtd.umlx/model/UMLX.genmodel"
    }
    component = GenerateUMLXVisitors { resourceSet = umlxResourceSet
    	projectName = "org.eclipse.qvtd.umlx"
    	genModelFile = "model/UMLX.genmodel"
    }
	component = ConvertToUnixLineEndings {
		directory = "org.eclipse.qvtd.umlx/emf-gen"
	}
}