/*******************************************************************************
* Copyright (c) 2006-2012
* Software Technology Group, Dresden University of Technology
* DevBoost GmbH, Berlin, Amtsgericht Charlottenburg, HRB 140026
*
* 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:
* Software Technology Group - TU Dresden, Germany;
* DevBoost GmbH - Berlin, Germany
* - initial API and implementation
******************************************************************************/
package de.devboost.buildboost.genext.emftext.examples.steps;
import java.io.File;
import java.util.Collection;
import java.util.Collections;
import de.devboost.buildboost.BuildException;
import de.devboost.buildboost.ant.AbstractAntTargetGenerator;
import de.devboost.buildboost.ant.AntTarget;
import de.devboost.buildboost.artifacts.Plugin;
import de.devboost.buildboost.util.XMLContent;
/**
* The {@link PackageEMFTextExamplesStep} generates a build script the can be
* used to run the EMFText code generators for a syntax definition.
*/
public class PackageEMFTextExamplesStep extends AbstractAntTargetGenerator {
private File exampleDir;
private Plugin plugin;
public PackageEMFTextExamplesStep(Plugin plugin, File exampleDir) {
this.plugin = plugin;
this.exampleDir = exampleDir;
}
public Collection<AntTarget> generateAntTargets() throws BuildException {
XMLContent content = new XMLContent();
content.append("<zip destfile=\"" + plugin.getAbsolutePath() + "/newProject.zip\">");
content.append("<fileset dir=\"" + exampleDir + "\" excludes=\"**/.svn\"/>");
content.append("</zip>");
return Collections.singleton(new AntTarget("zipping-emftext-example-" + exampleDir.getName(), content));
}
}