blob: 9587d907cddb3c397dfa102677dfc99a6c6715cb [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004, 2011 QNX Software Systems 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:
* QNX Software Systems - initial API and implementation
*******************************************************************************/
package org.eclipse.cdt.newmake.core;
import java.util.Map;
import org.eclipse.cdt.managedbuilder.internal.core.Builder;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
/**
* @noextend This class is not intended to be subclassed by clients.
* @noimplement This interface is not intended to be implemented by clients.
*/
public interface IMakeCommonBuildInfo {
public final static String ARGS_PREFIX = "org.eclipse.cdt.make.core"; //$NON-NLS-1$
public final static String BUILD_LOCATION = ARGS_PREFIX + ".build.location"; //$NON-NLS-1$
public final static String BUILD_COMMAND = ARGS_PREFIX + ".build.command"; //$NON-NLS-1$
public final static String BUILD_ARGUMENTS = ARGS_PREFIX + ".build.arguments"; //$NON-NLS-1$
void setBuildAttribute(String name, String value) throws CoreException;
String getBuildAttribute(String name, String defaultValue);
IPath getBuildLocation();
/**
* @deprecated - use {@link #setBuildAttribute(BUILD_LOCATION, String)}
*/
@Deprecated
void setBuildLocation(IPath location) throws CoreException;
boolean isStopOnError();
void setStopOnError(boolean on) throws CoreException;
boolean supportsStopOnError(boolean on);
/**
* @return the maximum number of parallel jobs to be used for build.
*/
int getParallelizationNum();
/**
* Sets maximum number of parallel threads/jobs to be used by builder.
* Note that this number can be interpreted by builder in a special way.
* @see Builder#setParallelizationNum(int)
*
* @param jobs - maximum number of jobs.
*/
void setParallelizationNum(int jobs) throws CoreException;
/**
* @return {@code true} if builder supports parallel build,
* {@code false} otherwise.
*/
boolean supportsParallelBuild();
/**
* @return {@code true} if builder support for parallel build is enabled,
* {@code false} otherwise.
*/
boolean isParallelBuildOn();
/**
* Set parallel execution mode for the builder.
* @see Builder#setParallelBuildOn(boolean)
*
* @param on - the flag to enable or disable parallel mode.
*/
void setParallelBuildOn(boolean on) throws CoreException;
/**
* @deprecated Use the {@link #isDefaultBuildCmdOnly()} and {@link #isDefaultBuildArgsOnly()}
* @return
*/
@Deprecated
boolean isDefaultBuildCmd();
/**
* @since 9.3
*/
boolean isDefaultBuildCmdOnly();
/**
* @since 9.3
*/
boolean isDefaultBuildArgsOnly();
/**
* @deprecated Use the {@link #setUseDefaultBuildCmdOnly(boolean)} and {@link #setUseDefaultBuildArgsOnly(boolean)}
*/
@Deprecated
void setUseDefaultBuildCmd(boolean on) throws CoreException;
IPath getBuildCommand();
/**
* @since 9.3
*/
void setUseDefaultBuildCmdOnly(boolean on) throws CoreException;
/**
* @since 9.3
*/
void setUseDefaultBuildArgsOnly(boolean on) throws CoreException;
/**
* @deprecated - use setBuildString(BUILD_COMMAND...)
*/
@Deprecated
void setBuildCommand(IPath command) throws CoreException;
String getBuildArguments();
/**
* @deprecated - use setBuildString(BUILD_ARGUMENTS...)
*/
@Deprecated
void setBuildArguments(String args) throws CoreException;
String[] getErrorParsers();
void setErrorParsers(String[] parsers) throws CoreException;
Map<String, String> getExpandedEnvironment() throws CoreException;
Map<String, String> getEnvironment();
void setEnvironment(Map<String, String> env) throws CoreException;
boolean appendEnvironment();
void setAppendEnvironment(boolean append) throws CoreException;
boolean isManagedBuildOn();
void setManagedBuildOn(boolean on) throws CoreException;
boolean supportsBuild(boolean managed);
}