diff options
author | David Inglis | 2003-08-21 19:41:29 +0000 |
---|---|---|
committer | David Inglis | 2003-08-21 19:41:29 +0000 |
commit | 19672f2ef59ba7e064e6bb6b05773aa089895ccb (patch) | |
tree | ab47dfbe631c0097a81c4b269815cd1f702b63fa /build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/ProjectTargets.java | |
parent | e9a58e48b61f0ff1d2a78dc8ae202fc8ccaa8ea4 (diff) | |
download | org.eclipse.cdt-19672f2ef59ba7e064e6bb6b05773aa089895ccb.tar.gz org.eclipse.cdt-19672f2ef59ba7e064e6bb6b05773aa089895ccb.tar.xz org.eclipse.cdt-19672f2ef59ba7e064e6bb6b05773aa089895ccb.zip |
added findTarget to MakeTargetManager
Diffstat (limited to 'build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/ProjectTargets.java')
-rw-r--r-- | build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/ProjectTargets.java | 28 |
1 files changed, 24 insertions, 4 deletions
diff --git a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/ProjectTargets.java b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/ProjectTargets.java index 3ae94bd5fef..db5047b7391 100644 --- a/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/ProjectTargets.java +++ b/build/org.eclipse.cdt.make.core/src/org/eclipse/cdt/make/internal/core/ProjectTargets.java @@ -6,6 +6,7 @@ import java.io.OutputStream; import java.io.OutputStreamWriter; import java.util.ArrayList; import java.util.HashMap; +import java.util.Iterator; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -40,14 +41,15 @@ public class ProjectTargets { this.project = project; } - public ProjectTargets(IProject project, InputStream input) throws CoreException { + public ProjectTargets(IProject project, InputStream input) { + this(project); + Document document = null; try { DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder(); document = parser.parse(input); } catch (Exception e) { - throw new CoreException( - new Status(IStatus.ERROR, MakeCorePlugin.getUniqueIdentifier(), -1, "Error reading target file", e)); + MakeCorePlugin.log(e); } Node node = document.getFirstChild(); if (node.getNodeName().equals(BUILD_TARGET_ELEMENT)) { @@ -80,7 +82,11 @@ public class ProjectTargets { if (option != null) { target.setBuildArguments(option); } - add(target); + try { + add(target); + } catch (CoreException e) { + MakeCorePlugin.log(e); + } } } } @@ -107,6 +113,20 @@ public class ProjectTargets { } return new IMakeTarget[0]; } + + public IMakeTarget findTarget(IContainer container, String name) { + ArrayList list = (ArrayList) targetMap.get(container); + if (list != null) { + Iterator targets = list.iterator(); + while( targets.hasNext()) { + IMakeTarget target = (IMakeTarget)targets.next(); + if ( target.getName().equals(name) ) { + return target; + } + } + } + return null; + } public void add(MakeTarget target) throws CoreException { ArrayList list = (ArrayList) targetMap.get(target.getContainer()); |