/*******************************************************************************
 * 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 all four editors.
 * If it fails with a stack dump, open each Xtext file individually and do
 * a dummy edit. Generally there is an error in one source file.
 *******************************************************************************/
module GenerateAllEditors

/**
 *	Generate all Xtext editors (but not their Concrete Syntax Models).
 */
Workflow {
  component = @GenerateBaseEditor {}
  component = @GenerateEssentialOCLEditor {}
  component = @GenerateMarkupEditor {}
  component = @GenerateOCLinEcoreEditor {}
  component = @GenerateCompleteOCLEditor {}
  component = @GenerateOCLstdlibEditor {}
}
