/*******************************************************************************
 * Copyright (c) 2010, 2013 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 all example editors and models.
 *******************************************************************************/
module GenerateAll

import org.eclipse.ocl.examples.build.utilities.*

/**
 * Generate all auto-generated files for the OCL Examples Editors
 */
Workflow {
  component = @GeneratePivotModel {}
  component = @GenerateAnnotationModel {}
  component = @GenerateCSModels {}
  component = @GenerateCGModels {}
  component = @GenerateAllEditors {}
  component = @GenerateOCLstdlibModel {}
//FIXME GenerateTestModels requires manual fixup of the Values package
//  component = @GenerateTestModels {}
}
