blob: a9836327a4f24a3875e46dc3f8e16769d28b0f7b [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2010, 2011 Broadcom Corporation and others.
* 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:
* Broadcom Corporation - initial API and implementation
*******************************************************************************/
package org.eclipse.core.resources;
/**
* Stores information about the context in which a builder was called.
*
* <p>
* This can be interrogated by a builder to determine what's been built
* before, and what's being built after it, for this particular build
* invocation.
* </p>
*
* @noimplement This interface is not intended to be implemented by clients.
* @noextend This interface is not intended to be extended by clients.
*
* @since 3.7
*/
public interface IBuildContext {
/**
* Gets a array of build configurations that were built before this build configuration,
* as part of the current top-level build invocation.
*
* @return an array of all referenced build configurations that have been built
* in the current build; never null.
*/
public IBuildConfiguration[] getAllReferencedBuildConfigs();
/**
* Gets a array of build configurations that will be built after this build configuration,
* as part of the current top-level build invocation.
* <p>
* If the array is empty, this configuration is the last in the build chain.
* </p>
*
* @return an array of all referencing build configurations that will be built
* in the current build; never null.
*/
public IBuildConfiguration[] getAllReferencingBuildConfigs();
/**
* Returns the full array of configurations that were requested to be built
* by the API user. These configurations may be anywhere in the build
* order (depending on how the build graph has been flattened).
* <p>
* This array won't include any build configurations being built by virtue
* of being referenced from a requested build configuration.
* </p>
* May return the empty array if this is a top-level workspace build.
*
* @return an array of configurations that were requested to be built.
*/
public IBuildConfiguration[] getRequestedConfigs();
}