blob: d54d642809d0105c942a37b69beea63835d5e89f [file] [log] [blame]
/*
* Copyright (c) 2008, 2009 Borland Software Corporation
*
* 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:
* Artem Tikhomirov (Borland) - initial API and implementation
*/
package org.eclipse.gmf.internal.xpand.ant;
import java.util.LinkedList;
import org.apache.tools.ant.BuildException;
import org.eclipse.core.runtime.IProgressMonitor;
public class InvokeFewTemplatesTask extends AbstractTemplateTask {
private final LinkedList<InvokeTemplateTask> myTemplates = new LinkedList<InvokeTemplateTask>();
public InvokeTemplateTask createTemplate() {
InvokeTemplateTask tt = new InvokeTemplateTask();
myTemplates.add(tt);
return tt;
}
@Override
public void execute() throws BuildException {
IProgressMonitor pm = new ProgressSupport(this);
pm.beginTask(getTaskName(), 3 * myTemplates.size());
XpandFacade xf = createFacade();
for (InvokeTemplateTask tt : myTemplates) {
tt.setFacade(xf);
tt.setTemplateTarget(getInput());
tt.validate();
pm.worked(1);
}
for (InvokeTemplateTask tt : myTemplates) {
tt.doExecute();
pm.worked(2);
}
}
}