/******************************************************************************* * Copyright (c) 2004, 2006 IBM 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 * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM - Initial API and implementation *******************************************************************************/ package org.eclipse.cdt.managedbuilder.makegen.internal; import org.eclipse.cdt.managedbuilder.core.IManagedBuildInfo; import org.eclipse.cdt.managedbuilder.makegen.IManagedDependencyGenerator; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IResource; /** * @since 2.0 */ public class DefaultIndexerDependencyCalculator implements IManagedDependencyGenerator { /* (non-Javadoc) * @see org.eclipse.cdt.managedbuilder.makegen.IManagedBuilderDependencyCalculator#findDependencies(org.eclipse.core.resources.IResource) */ public IResource[] findDependencies(IResource resource, IProject project) { // PathCollector pathCollector = new PathCollector(); // ICSearchScope scope = SearchEngine.createWorkspaceScope(); // CSearchPattern pattern = CSearchPattern.createPattern(resource.getLocation().toOSString(), ICSearchConstants.INCLUDE, ICSearchConstants.REFERENCES, ICSearchConstants.EXACT_MATCH, true); // IndexManager indexManager = CCorePlugin.getDefault().getCoreModel().getIndexManager(); // indexManager.performConcurrentJob( // new PatternSearchJob( // (CSearchPattern) pattern, // scope, // pathCollector, // indexManager), // ICSearchConstants.WAIT_UNTIL_READY_TO_SEARCH, // null, null); // // // We will get back an array of resource names relative to the workspace // String[] deps = pathCollector.getPaths(); // // // Convert them to something useful // List depList = new ArrayList(); // IResource res = null; // IWorkspaceRoot root = null; // if (project != null) { // root = project.getWorkspace().getRoot(); // } // for (int index = 0; index < deps.length; ++index) { // res = root.findMember(deps[index]); // if (res != null) { // depList.add(res); // } // } // // return (IResource[]) depList.toArray(new IResource[depList.size()]); // TODO this needs to be redone to fit on the PDOM return new IResource[0]; } /* (non-Javadoc) * @see org.eclipse.cdt.managedbuilder.makegen.IManagedBuilderDependencyCalculator#getCalculatorType() */ public int getCalculatorType() { // Tell the return TYPE_EXTERNAL; } /* (non-Javadoc) * @see org.eclipse.cdt.managedbuilder.makegen.IManagedBuilderDependencyCalculator#getDependencyCommand() */ public String getDependencyCommand(IResource resource, IManagedBuildInfo info) { // There is no command return null; } }