diff options
author | Mikhail Sennikovsky | 2007-08-09 12:38:52 +0000 |
---|---|---|
committer | Mikhail Sennikovsky | 2007-08-09 12:38:52 +0000 |
commit | c11d44bf9e2f182d86851f4545c70b54b966a98f (patch) | |
tree | 1c2bfeea52202ca4d2da38b9220080da5bfbe714 /build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build | |
parent | f089bbf2b4165717e9193bbaf60de597a56a7356 (diff) | |
download | org.eclipse.cdt-c11d44bf9e2f182d86851f4545c70b54b966a98f.tar.gz org.eclipse.cdt-c11d44bf9e2f182d86851f4545c70b54b966a98f.tar.xz org.eclipse.cdt-c11d44bf9e2f182d86851f4545c70b54b966a98f.zip |
Build Output Concolse parser added for ManagedGCC discpvery profiles
Diffstat (limited to 'build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build')
-rw-r--r-- | build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/core/scannerconfig/CfgInfoContext.java | 37 |
1 files changed, 34 insertions, 3 deletions
diff --git a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/core/scannerconfig/CfgInfoContext.java b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/core/scannerconfig/CfgInfoContext.java index c182719ba6d..07aad36aa93 100644 --- a/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/core/scannerconfig/CfgInfoContext.java +++ b/build/org.eclipse.cdt.managedbuilder.core/src/org/eclipse/cdt/build/core/scannerconfig/CfgInfoContext.java @@ -10,6 +10,8 @@ *******************************************************************************/ package org.eclipse.cdt.build.core.scannerconfig; +import org.eclipse.cdt.core.settings.model.ICConfigurationDescription; +import org.eclipse.cdt.core.settings.model.ICProjectDescription; import org.eclipse.cdt.core.settings.model.util.CDataUtil; import org.eclipse.cdt.make.core.scannerconfig.InfoContext; import org.eclipse.cdt.managedbuilder.core.IBuildObject; @@ -17,6 +19,7 @@ import org.eclipse.cdt.managedbuilder.core.IConfiguration; import org.eclipse.cdt.managedbuilder.core.IInputType; import org.eclipse.cdt.managedbuilder.core.IResourceInfo; import org.eclipse.cdt.managedbuilder.core.ITool; +import org.eclipse.cdt.managedbuilder.core.ManagedBuildManager; import org.eclipse.cdt.managedbuilder.internal.core.Configuration; import org.eclipse.core.resources.IProject; @@ -91,8 +94,8 @@ public final class CfgInfoContext{ } return fContext; } - - public static CfgInfoContext fromInfoContext(IConfiguration cfg, InfoContext context) { + + public static CfgInfoContext fromInfoContext(ICProjectDescription des, InfoContext context) { IProject project = context.getProject(); if(project == null) return null; @@ -103,9 +106,19 @@ public final class CfgInfoContext{ String[] ids = CDataUtil.stringToArray(instanceId, DELIMITER); String cfgId = ids[0]; - if(!cfgId.equals(cfg.getId())) + + ICConfigurationDescription cfgDes = des.getConfigurationById(cfgId); + if(cfgDes == null) + return null; + + IConfiguration cfg = ManagedBuildManager.getConfigurationForDescription(cfgDes); + if(cfg == null) return null; + return doCreate(cfg, ids, context); + } + + private static CfgInfoContext doCreate(IConfiguration cfg, String[] ids, InfoContext context){ String rcInfoId = null, toolId = null, inTypeId = null; IResourceInfo rcInfo = null; ITool tool = null; @@ -142,6 +155,24 @@ public final class CfgInfoContext{ if(rcInfo != null) return new CfgInfoContext(rcInfo, tool, inType, context); return new CfgInfoContext(cfg, context); + + } + + public static CfgInfoContext fromInfoContext(IConfiguration cfg, InfoContext context) { + IProject project = context.getProject(); + if(project == null) + return null; + + String instanceId = context.getInstanceId(); + if(instanceId.length() == 0) + return null; + + String[] ids = CDataUtil.stringToArray(instanceId, DELIMITER); + String cfgId = ids[0]; + if(!cfgId.equals(cfg.getId())) + return null; + + return doCreate(cfg, ids, context); } private static IBuildObject find(IBuildObject objs[], String id){ |