diff options
author | Oleg Krasilnikov | 2008-01-29 14:49:58 +0000 |
---|---|---|
committer | Oleg Krasilnikov | 2008-01-29 14:49:58 +0000 |
commit | bb3803a6053b1736593f2c57c696cd14be126b7d (patch) | |
tree | d0a470e9977caef98d32d00fa16f0722cd2fd561 /build/org.eclipse.cdt.managedbuilder.core/src | |
parent | 4f17acd8ade9d8a5fd4261bca01288037d05874e (diff) | |
download | org.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')
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(); } } |