Copyright (c) 2000, 2014 IBM Corporation and others. This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which accompanies this distribution, and is available at https://www.eclipse.org/legal/epl-2.0/ SPDX-License-Identifier: EPL-2.0 Contributors: IBM Corporation - initial API and implementation
/******************************************************************************* * Copyright (c) 2000, 2014 IBM Corporation and others. * * This program and the accompanying materials * are made available under the terms of the Eclipse Public License 2.0 * which accompanies this distribution, and is available at * https://www.eclipse.org/legal/epl-2.0/ * * SPDX-License-Identifier: EPL-2.0 * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/
package org.eclipse.core.resources.ant; import java.util.Hashtable; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; import org.eclipse.ant.core.AntCorePlugin; import org.eclipse.core.resources.*; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor;
Ant task which runs the platform's incremental build facilities.
See Also:
/** * Ant task which runs the platform's incremental build facilities. * * @see IProject#build(int, IProgressMonitor) * @see IWorkspace#build(int, IProgressMonitor) */
public class IncrementalBuild extends Task { private String builder; private String project; private int kind = IncrementalProjectBuilder.INCREMENTAL_BUILD;
Unique identifier constant (value "incremental") indicating that an incremental build should be performed.
/** * Unique identifier constant (value <code>"incremental"</code>) * indicating that an incremental build should be performed. */
public final static String KIND_INCREMENTAL = "incremental"; //$NON-NLS-1$
Unique identifier constant (value "full") indicating that a full build should be performed.
/** * Unique identifier constant (value <code>"full"</code>) * indicating that a full build should be performed. */
public final static String KIND_FULL = "full"; //$NON-NLS-1$
Unique identifier constant (value "auto") indicating that an auto build should be performed.
/** * Unique identifier constant (value <code>"auto"</code>) * indicating that an auto build should be performed. */
public final static String KIND_AUTO = "auto"; //$NON-NLS-1$
Unique identifier constant (value "clean") indicating that a CLEAN build should be performed.
/** * Unique identifier constant (value <code>"clean"</code>) * indicating that a CLEAN build should be performed. */
public final static String KIND_CLEAN = "clean"; //$NON-NLS-1$
Constructs an IncrementalBuild instance.
/** * Constructs an <code>IncrementalBuild</code> instance. */
public IncrementalBuild() { super(); }
Executes this task.
Throws:
  • BuildException – thrown if a problem occurs during execution
/** * Executes this task. * * @exception BuildException thrown if a problem occurs during execution */
@Override public void execute() throws BuildException { try { IProgressMonitor monitor = null; Hashtable<String, Object> references = getProject().getReferences(); if (references != null) monitor = (IProgressMonitor) references.get(AntCorePlugin.ECLIPSE_PROGRESS_MONITOR); if (project == null) { ResourcesPlugin.getWorkspace().build(kind, monitor); } else { IProject targetProject = ResourcesPlugin.getWorkspace().getRoot().getProject(project); if (builder == null) targetProject.build(kind, monitor); else targetProject.build(kind, builder, null, monitor); } } catch (CoreException e) { throw new BuildException(e); } }
Sets the name of the receiver's builder.
Params:
  • value – the name of the receiver's builder
/** * Sets the name of the receiver's builder. * * @param value the name of the receiver's builder */
public void setBuilder(String value) { builder = value; }
Sets the receiver's kind attribute. This value must be one of: IncrementalBuild.KIND_FULL, IncrementalBuild.KIND_AUTO, IncrementalBuild.KIND_INCREMENTAL, IncrementalBuild.KIND_CLEAN.
Params:
  • value – the receiver's kind attribute
/** * Sets the receiver's kind attribute. This value must be one of: * <code>IncrementalBuild.KIND_FULL</code>, * <code>IncrementalBuild.KIND_AUTO</code>, * <code>IncrementalBuild.KIND_INCREMENTAL</code>, * <code>IncrementalBuild.KIND_CLEAN</code>. * * @param value the receiver's kind attribute */
public void setKind(String value) { if (IncrementalBuild.KIND_FULL.equalsIgnoreCase(value)) kind = IncrementalProjectBuilder.FULL_BUILD; else if (IncrementalBuild.KIND_AUTO.equalsIgnoreCase(value)) kind = IncrementalProjectBuilder.AUTO_BUILD; else if (IncrementalBuild.KIND_CLEAN.equalsIgnoreCase(value)) kind = IncrementalProjectBuilder.CLEAN_BUILD; else if (IncrementalBuild.KIND_INCREMENTAL.equalsIgnoreCase(value)) kind = IncrementalProjectBuilder.INCREMENTAL_BUILD; }
Sets the receiver's target project.
Params:
  • value – the receiver's target project
/** * Sets the receiver's target project. * * @param value the receiver's target project */
public void setProject(String value) { project = value; } }