1
/*******************************************************************************
2
* Copyright (c) 2007 Intel Corporation and others.
3
* All rights reserved. This program and the accompanying materials
4
* are made available under the terms of the Eclipse Public License v1.0
5
* which accompanies this distribution, and is available at
6
* http://www.eclipse.org/legal/epl-v10.html
9
* Intel Corporation - Initial API and implementation
10
*******************************************************************************/
11
package org.eclipse.cdt.managedbuilder.internal.dataprovider;
13
import org.eclipse.cdt.core.envvar.IEnvironmentContributor;
14
import org.eclipse.cdt.core.settings.model.ICOutputEntry;
15
import org.eclipse.cdt.core.settings.model.extension.CBuildData;
16
import org.eclipse.cdt.managedbuilder.core.IBuilder;
17
import org.eclipse.cdt.managedbuilder.internal.core.Builder;
18
import org.eclipse.cdt.managedbuilder.internal.core.Configuration;
19
import org.eclipse.core.runtime.IPath;
20
import org.eclipse.core.runtime.Path;
21
import org.eclipse.core.variables.IStringVariableManager;
22
import org.eclipse.core.variables.VariablesPlugin;
24
public class BuildBuildData extends CBuildData {
25
private Builder fBuilder;
26
private Configuration fCfg;
27
// private BuildEnvironmentContributor fEnvContibutor;
28
public BuildBuildData(IBuilder builder){
29
fBuilder = (Builder)builder;
30
fCfg = (Configuration)fBuilder.getParent().getParent();
33
public IPath getBuilderCWD() {
34
return new Path(fBuilder.getBuildPath());//ManagedBuildManager.getBuildLocation(fCfg, fBuilder);
37
private IPath createAbsolutePathFromWorkspacePath(IPath path){
38
IStringVariableManager mngr = VariablesPlugin.getDefault().getStringVariableManager();
39
String locationString = mngr.generateVariableExpression("workspace_loc", path.toString()); //$NON-NLS-1$
40
return new Path(locationString);
43
public String[] getErrorParserIDs() {
44
return fCfg.getErrorParserList();
47
public ICOutputEntry[] getOutputDirectories() {
48
return fBuilder.getOutputEntries();
51
public void setBuilderCWD(IPath path) {
52
fBuilder.setBuildPath(path.toString());
55
public void setErrorParserIDs(String[] ids) {
56
fCfg.setErrorParserList(ids);
59
public void setOutputDirectories(ICOutputEntry[] entries) {
60
fBuilder.setOutputEntries(entries);
63
public String getId() {
64
return fBuilder.getId();
67
public String getName() {
68
return fBuilder.getName();
71
public boolean isValid() {
72
return fBuilder != null;
75
public void setName(String name) {
79
public IEnvironmentContributor getBuildEnvironmentContributor() {
80
// if(fEnvContibutor == null)
81
// fEnvContibutor = new BuildEnvironmentContributor(this);
82
// return fEnvContibutor;
83
return new BuildEnvironmentContributor(this);
86
public IBuilder getBuilder(){