Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOleg Krasilnikov2008-01-29 14:49:58 +0000
committerOleg Krasilnikov2008-01-29 14:49:58 +0000
commitbb3803a6053b1736593f2c57c696cd14be126b7d (patch)
treed0a470e9977caef98d32d00fa16f0722cd2fd561 /build/org.eclipse.cdt.managedbuilder.core/src
parent4f17acd8ade9d8a5fd4261bca01288037d05874e (diff)
downloadorg.eclipse.cdt-bb3803a6053b1736593f2c57c696cd14be126b7d.tar.gz
org.eclipse.cdt-bb3803a6053b1736593f2c57c696cd14be126b7d.tar.xz
org.eclipse.cdt-bb3803a6053b1736593f2c57c696cd14be126b7d.zip
Bug #182450 : Multi-config
Diffstat (limited to 'build/org.eclipse.cdt.managedbuilder.core/src')
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/core/scannerconfig/ICfgScannerConfigBuilderInfo2Set.java2
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/BuildListComparator.java6
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiConfiguration.java29
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiFolderInfo.java24
-rw-r--r--build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiResourceInfo.java28
5 files changed, 41 insertions, 48 deletions
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/core/scannerconfig/ICfgScannerConfigBuilderInfo2Set.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/core/scannerconfig/ICfgScannerConfigBuilderInfo2Set.java
index eb431944ec5..e816375c5a2 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/core/scannerconfig/ICfgScannerConfigBuilderInfo2Set.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/core/scannerconfig/ICfgScannerConfigBuilderInfo2Set.java
@@ -22,7 +22,7 @@ public interface ICfgScannerConfigBuilderInfo2Set {
void setPerRcTypeDiscovery(boolean on);
- Map getInfoMap();
+ Map<CfgInfoContext, IScannerConfigBuilderInfo2> getInfoMap();
CfgInfoContext[] getContexts();
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/BuildListComparator.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/BuildListComparator.java
index ad4993d8cd4..c2386459370 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/BuildListComparator.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/core/BuildListComparator.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007 Intel Corporation and others.
+ * Copyright (c) 2007, 2008 Intel 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
@@ -21,9 +21,9 @@ import org.eclipse.cdt.managedbuilder.buildproperties.IBuildPropertyValue;
public class BuildListComparator extends CDTListComparator {
private static final String EMPTY = ""; //$NON-NLS-1$
- private static Comparator comparator = null;
+ private static Comparator<Object> comparator = null;
- public static Comparator getInstance() {
+ public static Comparator<Object> getInstance() {
if (comparator == null)
comparator = new BuildListComparator();
return comparator;
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiConfiguration.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiConfiguration.java
index 9c7867558c8..01b563acc2b 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiConfiguration.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiConfiguration.java
@@ -397,22 +397,6 @@ public class MultiConfiguration extends MultiItemsHolder implements
*/
public ITool[] getFilteredTools() {
ITool[] ts = curr().getFilteredTools();
- /*
- ITool[] ms = new ITool[ts.length];
- for (int i=0; i<ts.length; i++) {
- ArrayList lst = new ArrayList(fCfgs.length);
- String ext = ts[i].getDefaultInputExtension();
- for (int j=0; j<fCfgs.length; j++) {
- ITool t = fCfgs[j].getToolFromInputExtension(ext);
- if (t != null)
- lst.add(t);
- }
- if (lst.size() > 1)
- ms[i] = (ITool)new MultiTool(lst, curr);
- else
- ms[i] = ts[i];
- }
- */
return ts;
}
@@ -583,8 +567,17 @@ public class MultiConfiguration extends MultiItemsHolder implements
*/
public IResourceInfo getResourceInfo(IPath path, boolean exactPath) {
IResourceInfo ris[] = new IResourceInfo[fCfgs.length];
- for (int i=0; i<fCfgs.length; i++)
+ boolean isFolder = true;
+ for (int i=0; i<fCfgs.length; i++) {
ris[i] = fCfgs[i].getResourceInfo(path, exactPath);
+ if (! (ris[i] instanceof IFolderInfo))
+ isFolder = false;
+ }
+ if (isFolder) {
+ IFolderInfo fis[] = new IFolderInfo[ris.length];
+ System.arraycopy(ris, 0, fis, 0, ris.length);
+ return new MultiFolderInfo(fis, this);
+ }
return new MultiResourceInfo(ris, this);
}
@@ -600,7 +593,7 @@ public class MultiConfiguration extends MultiItemsHolder implements
* @see org.eclipse.cdt.managedbuilder.core.IConfiguration#getResourceInfos()
*/
public IResourceInfo[] getResourceInfos() {
- ArrayList ri = new ArrayList();
+ ArrayList<IResourceInfo> ri = new ArrayList<IResourceInfo>();
for (int i=0; i<fCfgs.length; i++) {
IResourceInfo[] ris = fCfgs[i].getResourceInfos();
ri.addAll(Arrays.asList(ris));
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiFolderInfo.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiFolderInfo.java
index 670d5e8fe56..e70cb5f9703 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiFolderInfo.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiFolderInfo.java
@@ -47,53 +47,53 @@ public class MultiFolderInfo extends MultiResourceInfo implements IFolderInfo {
}
public ITool[] getFilteredTools() {
- return ((IFolderInfo)fRis[0]).getFilteredTools();
+ return ((IFolderInfo)fRis[curr]).getFilteredTools();
}
public CFolderData getFolderData() {
- return ((IFolderInfo)fRis[0]).getFolderData();
+ return ((IFolderInfo)fRis[curr]).getFolderData();
}
public String getOutputExtension(String resourceExtension) {
- return ((IFolderInfo)fRis[0]).getOutputExtension(resourceExtension);
+ return ((IFolderInfo)fRis[curr]).getOutputExtension(resourceExtension);
}
public ITool getTool(String id) {
- return ((IFolderInfo)fRis[0]).getTool(id);
+ return ((IFolderInfo)fRis[curr]).getTool(id);
}
public IToolChain getToolChain() {
- return ((IFolderInfo)fRis[0]).getToolChain();
+ return ((IFolderInfo)fRis[curr]).getToolChain();
}
public IModificationStatus getToolChainModificationStatus(ITool[] removed,
ITool[] added) {
- return ((IFolderInfo)fRis[0]).getToolChainModificationStatus(removed, added);
+ return ((IFolderInfo)fRis[curr]).getToolChainModificationStatus(removed, added);
}
public ITool getToolFromInputExtension(String sourceExtension) {
- return ((IFolderInfo)fRis[0]).getToolFromInputExtension(sourceExtension);
+ return ((IFolderInfo)fRis[curr]).getToolFromInputExtension(sourceExtension);
}
public ITool getToolFromOutputExtension(String extension) {
- return ((IFolderInfo)fRis[0]).getToolFromOutputExtension(extension);
+ return ((IFolderInfo)fRis[curr]).getToolFromOutputExtension(extension);
}
public ITool[] getToolsBySuperClassId(String id) {
- return ((IFolderInfo)fRis[0]).getToolsBySuperClassId(id);
+ return ((IFolderInfo)fRis[curr]).getToolsBySuperClassId(id);
}
public boolean isHeaderFile(String ext) {
- return ((IFolderInfo)fRis[0]).isHeaderFile(ext);
+ return ((IFolderInfo)fRis[curr]).isHeaderFile(ext);
}
public boolean isToolChainCompatible(IToolChain ch) {
- return ((IFolderInfo)fRis[0]).isToolChainCompatible(ch);
+ return ((IFolderInfo)fRis[curr]).isToolChainCompatible(ch);
}
public void modifyToolChain(ITool[] removed, ITool[] added)
throws BuildException {
- ((IFolderInfo)fRis[0]).modifyToolChain(removed, added);
+ ((IFolderInfo)fRis[curr]).modifyToolChain(removed, added);
}
}
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiResourceInfo.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiResourceInfo.java
index e937f6e222f..e90278d1546 100644
--- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiResourceInfo.java
+++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/managedbuilder/internal/core/MultiResourceInfo.java
@@ -38,7 +38,7 @@ public class MultiResourceInfo extends MultiItemsHolder implements
private static final int MODE_COMMAND = 5;
protected IResourceInfo[] fRis = null;
- private int activeCfg = 0;
+ protected int curr = 0;
IConfiguration parent = null;
public MultiResourceInfo(IResourceInfo[] ris, IConfiguration _parent) {
@@ -49,7 +49,7 @@ public class MultiResourceInfo extends MultiItemsHolder implements
continue;
Configuration cfg = (Configuration)fRis[i].getParent();
if (cfg.getConfigurationDescription().isActive()) {
- activeCfg = i;
+ curr = i;
break;
}
}
@@ -69,14 +69,14 @@ public class MultiResourceInfo extends MultiItemsHolder implements
* @see org.eclipse.cdt.managedbuilder.core.IResourceInfo#getCLanguageDatas()
*/
public CLanguageData[] getCLanguageDatas() {
- return fRis[activeCfg].getCLanguageDatas();
+ return fRis[curr].getCLanguageDatas();
}
/* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.core.IResourceInfo#getKind()
*/
public int getKind() {
- return fRis[activeCfg].getKind();
+ return fRis[curr].getKind();
}
/* (non-Javadoc)
@@ -90,7 +90,7 @@ public class MultiResourceInfo extends MultiItemsHolder implements
* @see org.eclipse.cdt.managedbuilder.core.IResourceInfo#getPath()
*/
public IPath getPath() {
- return fRis[activeCfg].getPath();
+ return fRis[curr].getPath();
}
/* (non-Javadoc)
@@ -98,14 +98,14 @@ public class MultiResourceInfo extends MultiItemsHolder implements
*/
public CResourceData getResourceData() {
System.out.println("Strange call: MultiResourceInfo.getResourceData()"); //$NON-NLS-1$
- return fRis[activeCfg].getResourceData();
+ return fRis[curr].getResourceData();
}
/* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.core.IResourceInfo#getTools()
*/
public ITool[] getTools() {
- return fRis[activeCfg].getTools();
+ return fRis[curr].getTools();
}
/* (non-Javadoc)
@@ -307,42 +307,42 @@ public class MultiResourceInfo extends MultiItemsHolder implements
* @see org.eclipse.cdt.managedbuilder.core.IResourceInfo#supportsBuild(boolean)
*/
public boolean supportsBuild(boolean managed) {
- return fRis[activeCfg].supportsBuild(managed);
+ return fRis[curr].supportsBuild(managed);
}
/* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.core.IBuildObject#getBaseId()
*/
public String getBaseId() {
- return fRis[activeCfg].getBaseId();
+ return fRis[curr].getBaseId();
}
/* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.core.IBuildObject#getId()
*/
public String getId() {
- return fRis[activeCfg].getId();
+ return fRis[curr].getId();
}
/* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.core.IBuildObject#getManagedBuildRevision()
*/
public String getManagedBuildRevision() {
- return fRis[activeCfg].getManagedBuildRevision();
+ return fRis[curr].getManagedBuildRevision();
}
/* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.core.IBuildObject#getName()
*/
public String getName() {
- return fRis[activeCfg].getName();
+ return fRis[curr].getName();
}
/* (non-Javadoc)
* @see org.eclipse.cdt.managedbuilder.core.IBuildObject#getVersion()
*/
public PluginVersionIdentifier getVersion() {
- return fRis[activeCfg].getVersion();
+ return fRis[curr].getVersion();
}
/* (non-Javadoc)
@@ -358,7 +358,7 @@ public class MultiResourceInfo extends MultiItemsHolder implements
}
public boolean isRoot() {
- return ((ResourceInfo)fRis[activeCfg]).isRoot();
+ return ((ResourceInfo)fRis[curr]).isRoot();
}
}

Back to the top