All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.core.resources.IBuildConfiguration Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 * 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;

import org.eclipse.core.runtime.IAdaptable;

/**
 * Build Configurations provide a mechanism for orthogonal configuration specific
 * builds within a single project.  The resources plugin maintains build deltas per
 * interested builder, per configuration, and allow build configurations to reference
 * each other.
 *

* All projects have at least one build configuration. By default this * has name {@link #DEFAULT_CONFIG_NAME}. One configuration in the project is defined * to be 'active'. The active configuration is built by default. If unset, the * active configuration defaults to the first configuration in the project. *

*

* Build configurations are created and set on the project description using: * {@link IProjectDescription#setBuildConfigs(String[])}. * Build configurations set on Projects must have unique non-null names. *

*

* When a project is built, a specific configuration is built. This configuration * is passed to the builders so they can adapt their behavior * appropriately. Builders which don't care about configurations may ignore this, * and work as before. *

*

* Build configuration can reference other builds configurations. These references are created * using {@link IWorkspace#newBuildConfig(String, String)}, and set on the referencing project * with {@link IProjectDescription#setBuildConfigReferences(String, IBuildConfiguration[])}. * A referenced build configuration may have a null configuration name which is resolved to the * referenced project's current active build configuration at build time. *

*

* Workspace build will ensure that the projects are built in an appropriate order as defined * by the reference graph. *

* * @see IWorkspace#newBuildConfig(String, String) * @see IProjectDescription#setActiveBuildConfig(String) * @see IProjectDescription#setBuildConfigs(String[]) * @see IProjectDescription#setBuildConfigReferences(String, IBuildConfiguration[]) * @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 IBuildConfiguration extends IAdaptable { /** * The Id of the default build configuration */ public static final String DEFAULT_CONFIG_NAME = ""; //$NON-NLS-1$ /** * @return the project that the config is for; never null. */ public IProject getProject(); /** * Returns the human readable name of this build configuration. If this * {@link IBuildConfiguration} is set on a Project, this can never be null. *

* If this IBuildConfiguration is being used as a reference to a build configuration * in another project, this may be null. Such build configuration references are * resolved to the current active configuration at build time. *

* @return the name of the configuration; or null if this is a reference to the active * configuration */ public String getName(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy