mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-21 21:52:10 +02:00
Bug 559674: Integrate new indexer support into CDT build
Change-Id: Ie07e6283f8285e56b7f74f29a8db1cbe222e0304 Signed-off-by: Martin Weber <fifteenknots505@gmail.com>
This commit is contained in:
parent
94f1bb0f30
commit
005b82195b
9 changed files with 964 additions and 141 deletions
|
@ -11,7 +11,8 @@ Require-Bundle: org.eclipse.core.runtime,
|
|||
org.eclipse.launchbar.core;bundle-version="2.0.0",
|
||||
org.eclipse.cdt.core;bundle-version="5.12.0",
|
||||
org.eclipse.tools.templates.freemarker;bundle-version="1.0.0";visibility:=reexport,
|
||||
com.google.gson
|
||||
com.google.gson,
|
||||
org.eclipse.cdt.cmake.is.core
|
||||
Bundle-RequiredExecutionEnvironment: JavaSE-1.8
|
||||
Bundle-ActivationPolicy: lazy
|
||||
Export-Package: org.eclipse.cdt.cmake.core,
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
package org.eclipse.cdt.cmake.core.internal;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileReader;
|
||||
import java.io.IOException;
|
||||
import java.nio.file.FileVisitResult;
|
||||
import java.nio.file.Files;
|
||||
|
@ -23,9 +22,15 @@ import java.util.Arrays;
|
|||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.function.Consumer;
|
||||
|
||||
import org.eclipse.cdt.cmake.core.ICMakeToolChainFile;
|
||||
import org.eclipse.cdt.cmake.core.ICMakeToolChainManager;
|
||||
import org.eclipse.cdt.cmake.is.core.CompileCommandsJsonParser;
|
||||
import org.eclipse.cdt.cmake.is.core.IIndexerInfoConsumer;
|
||||
import org.eclipse.cdt.cmake.is.core.ParseRequest;
|
||||
import org.eclipse.cdt.core.CommandLauncherManager;
|
||||
import org.eclipse.cdt.core.ConsoleOutputStream;
|
||||
import org.eclipse.cdt.core.ErrorParserManager;
|
||||
import org.eclipse.cdt.core.IConsoleParser;
|
||||
|
@ -34,17 +39,20 @@ import org.eclipse.cdt.core.build.IToolChain;
|
|||
import org.eclipse.cdt.core.envvar.EnvironmentVariable;
|
||||
import org.eclipse.cdt.core.envvar.IEnvironmentVariable;
|
||||
import org.eclipse.cdt.core.model.ICModelMarker;
|
||||
import org.eclipse.cdt.core.parser.ExtendedScannerInfo;
|
||||
import org.eclipse.cdt.core.parser.IScannerInfo;
|
||||
import org.eclipse.cdt.core.resources.IConsole;
|
||||
import org.eclipse.core.resources.IBuildConfiguration;
|
||||
import org.eclipse.core.resources.IFile;
|
||||
import org.eclipse.core.resources.IProject;
|
||||
import org.eclipse.core.resources.IResource;
|
||||
import org.eclipse.core.resources.ResourcesPlugin;
|
||||
import org.eclipse.core.runtime.CoreException;
|
||||
import org.eclipse.core.runtime.IProgressMonitor;
|
||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||
import org.eclipse.core.runtime.Platform;
|
||||
import org.eclipse.core.runtime.jobs.Job;
|
||||
|
||||
import com.google.gson.Gson;
|
||||
|
||||
public class CMakeBuildConfiguration extends CBuildConfiguration {
|
||||
|
||||
public static final String CMAKE_GENERATOR = "cmake.generator"; //$NON-NLS-1$
|
||||
|
@ -54,6 +62,7 @@ public class CMakeBuildConfiguration extends CBuildConfiguration {
|
|||
public static final String CLEAN_COMMAND = "cmake.command.clean"; //$NON-NLS-1$
|
||||
|
||||
private ICMakeToolChainFile toolChainFile;
|
||||
private Map<IResource, IScannerInfo> infoPerResource;
|
||||
|
||||
public CMakeBuildConfiguration(IBuildConfiguration config, String name) throws CoreException {
|
||||
super(config, name);
|
||||
|
@ -95,6 +104,7 @@ public class CMakeBuildConfiguration extends CBuildConfiguration {
|
|||
}
|
||||
|
||||
project.deleteMarkers(ICModelMarker.C_MODEL_PROBLEM_MARKER, false, IResource.DEPTH_INFINITE);
|
||||
infoPerResource = new HashMap<>();
|
||||
|
||||
ConsoleOutputStream outStream = console.getOutputStream();
|
||||
|
||||
|
@ -222,8 +232,10 @@ public class CMakeBuildConfiguration extends CBuildConfiguration {
|
|||
|
||||
project.refreshLocal(IResource.DEPTH_INFINITE, monitor);
|
||||
|
||||
// Load compile_commands.json file
|
||||
processCompileCommandsFile(monitor);
|
||||
// parse compile_commands.json file
|
||||
// built-ins detection output goes to the build console, if the user requested
|
||||
// output
|
||||
processCompileCommandsFile(console, monitor);
|
||||
|
||||
outStream.write(String.format(Messages.CMakeBuildConfiguration_BuildingComplete, epm.getErrorCount(),
|
||||
epm.getWarningCount(), buildDir.toString()));
|
||||
|
@ -290,38 +302,22 @@ public class CMakeBuildConfiguration extends CBuildConfiguration {
|
|||
}
|
||||
}
|
||||
|
||||
private void processCompileCommandsFile(IProgressMonitor monitor) throws CoreException {
|
||||
IProject project = getProject();
|
||||
Path commandsFile = getBuildDirectory().resolve("compile_commands.json"); //$NON-NLS-1$
|
||||
if (Files.exists(commandsFile)) {
|
||||
List<Job> jobsList = new ArrayList<>();
|
||||
monitor.setTaskName(Messages.CMakeBuildConfiguration_ProcCompJson);
|
||||
try (FileReader reader = new FileReader(commandsFile.toFile())) {
|
||||
Gson gson = new Gson();
|
||||
CompileCommand[] commands = gson.fromJson(reader, CompileCommand[].class);
|
||||
Map<String, CompileCommand> dedupedCmds = new HashMap<>();
|
||||
for (CompileCommand command : commands) {
|
||||
dedupedCmds.put(command.getFile(), command);
|
||||
}
|
||||
for (CompileCommand command : dedupedCmds.values()) {
|
||||
processLine(command.getCommand(), jobsList);
|
||||
}
|
||||
for (Job j : jobsList) {
|
||||
try {
|
||||
j.join();
|
||||
} catch (InterruptedException e) {
|
||||
// ignore
|
||||
}
|
||||
}
|
||||
shutdown();
|
||||
} catch (IOException e) {
|
||||
throw new CoreException(Activator.errorStatus(
|
||||
String.format(Messages.CMakeBuildConfiguration_ProcCompCmds, project.getName()), e));
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @param console the console to print the compiler output during built-ins
|
||||
* detection to or <code>null</code> if no separate console is to
|
||||
* be allocated. Ignored if workspace preferences indicate that
|
||||
* no console output is wanted.
|
||||
* @param monitor the job's progress monitor
|
||||
*/
|
||||
private void processCompileCommandsFile(IConsole console, IProgressMonitor monitor) throws CoreException {
|
||||
CompileCommandsJsonParser parser = new CompileCommandsJsonParser(
|
||||
new ParseRequest(this, new CMakeIndexerInfoConsumer(this::setScannerInformation),
|
||||
CommandLauncherManager.getInstance().getCommandLauncher(this), console));
|
||||
parser.parse(monitor);
|
||||
}
|
||||
|
||||
/** Recursively removes any files and directories found in the specified Path.
|
||||
/**
|
||||
* Recursively removes any files and directories found below the specified Path.
|
||||
*/
|
||||
private static void cleanDirectory(Path dir) throws IOException {
|
||||
SimpleFileVisitor<Path> deltor = new SimpleFileVisitor<Path>() {
|
||||
|
@ -351,4 +347,111 @@ public class CMakeBuildConfiguration extends CBuildConfiguration {
|
|||
cleanDirectory(buildDir);
|
||||
// TODO: not a directory should we do something?
|
||||
}
|
||||
|
||||
/**
|
||||
* Overridden since the ScannerInfoCache mechanism does not satisfy our needs.
|
||||
*/
|
||||
// interface IScannerInfoProvider
|
||||
@Override
|
||||
public IScannerInfo getScannerInformation(IResource resource) {
|
||||
if (infoPerResource == null) {
|
||||
// no build was run yet, nothing detected
|
||||
infoPerResource = new HashMap<>();
|
||||
try {
|
||||
processCompileCommandsFile(null, new NullProgressMonitor());
|
||||
} catch (CoreException e) {
|
||||
Activator.log(e);
|
||||
}
|
||||
}
|
||||
return infoPerResource.get(resource);
|
||||
}
|
||||
|
||||
private void setScannerInformation(Map<IResource, IScannerInfo> infoPerResource) {
|
||||
this.infoPerResource = infoPerResource;
|
||||
}
|
||||
|
||||
private static class CMakeIndexerInfoConsumer implements IIndexerInfoConsumer {
|
||||
/**
|
||||
* gathered IScannerInfo objects or <code>null</code> if no new IScannerInfo was
|
||||
* received
|
||||
*/
|
||||
private Map<IResource, IScannerInfo> infoPerResource = new HashMap<>();
|
||||
private boolean haveUpdates;
|
||||
private final Consumer<Map<IResource, IScannerInfo>> resultSetter;
|
||||
|
||||
/**
|
||||
* @param resultSetter receives the all scanner information when processing is
|
||||
* finished
|
||||
*/
|
||||
public CMakeIndexerInfoConsumer(Consumer<Map<IResource, IScannerInfo>> resultSetter) {
|
||||
this.resultSetter = Objects.requireNonNull(resultSetter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void acceptSourceFileInfo(String sourceFileName, List<String> systemIncludePaths,
|
||||
Map<String, String> definedSymbols, List<String> includePaths) {
|
||||
IFile file = getFileForCMakePath(sourceFileName);
|
||||
if (file != null) {
|
||||
ExtendedScannerInfo info = new ExtendedScannerInfo(definedSymbols,
|
||||
systemIncludePaths.stream().toArray(String[]::new), null, null,
|
||||
includePaths.stream().toArray(String[]::new));
|
||||
infoPerResource.put(file, info);
|
||||
haveUpdates = true;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets an IFile object that corresponds to the source file name given in CMake
|
||||
* notation.
|
||||
*
|
||||
* @param sourceFileName the name of the source file, in CMake notation. Note
|
||||
* that on windows, CMake writes filenames with forward
|
||||
* slashes (/) such as {@code H://path//to//source.c}.
|
||||
* @return a IFile object or <code>null</code>
|
||||
*/
|
||||
private IFile getFileForCMakePath(String sourceFileName) {
|
||||
org.eclipse.core.runtime.Path path = new org.eclipse.core.runtime.Path(sourceFileName);
|
||||
IFile file = ResourcesPlugin.getWorkspace().getRoot().getFileForLocation(path);
|
||||
// TODO maybe we need to introduce a strategy here to get the workbench resource
|
||||
// Possible build scenarios:
|
||||
// 1) linux native: should be OK as is
|
||||
// 2) linux host, building in container: should be OK as is
|
||||
// 3) windows native: Path.fromOSString()?
|
||||
// 4) windows host, building in linux container: ??? needs testing on windows
|
||||
return file;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void shutdown() {
|
||||
if (haveUpdates) {
|
||||
// we received updates
|
||||
resultSetter.accept(infoPerResource);
|
||||
infoPerResource = null;
|
||||
haveUpdates = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/** Overwritten since we do not parse console output to get scanner information.
|
||||
*/
|
||||
// interface IConsoleParser2
|
||||
@Override
|
||||
public boolean processLine(String line) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Overwritten since we do not parse console output to get scanner information.
|
||||
*/
|
||||
// interface IConsoleParser2
|
||||
@Override
|
||||
public boolean processLine(String line, List<Job> jobsArray) {
|
||||
return true;
|
||||
}
|
||||
|
||||
/** Overwritten since we do not parse console output to get scanner information.
|
||||
*/
|
||||
// interface IConsoleParser2
|
||||
@Override
|
||||
public void shutdown() {
|
||||
}
|
||||
}
|
||||
|
|
671
cmake/aggregator/CDT devel.launch
Normal file
671
cmake/aggregator/CDT devel.launch
Normal file
|
@ -0,0 +1,671 @@
|
|||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
|
||||
<booleanAttribute key="append.args" value="true"/>
|
||||
<booleanAttribute key="askclear" value="false"/>
|
||||
<booleanAttribute key="automaticAdd" value="true"/>
|
||||
<booleanAttribute key="automaticValidate" value="false"/>
|
||||
<stringAttribute key="bootstrap" value=""/>
|
||||
<stringAttribute key="checked" value="[NONE]"/>
|
||||
<booleanAttribute key="clearConfig" value="true"/>
|
||||
<booleanAttribute key="clearws" value="true"/>
|
||||
<booleanAttribute key="clearwslog" value="true"/>
|
||||
<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/CDT devel"/>
|
||||
<booleanAttribute key="default" value="false"/>
|
||||
<setAttribute key="deselected_workspace_bundles">
|
||||
<setEntry value="org.eclipse.cdt.cmake.is.arm.tests"/>
|
||||
<setEntry value="org.eclipse.cdt.cmake.is.core.tests"/>
|
||||
<setEntry value="org.eclipse.cdt.cmake.is.hpenonstop.tests"/>
|
||||
<setEntry value="org.eclipse.cdt.cmake.is.microsoft.tests"/>
|
||||
<setEntry value="org.eclipse.cdt.cmake.is.nvidia.tests"/>
|
||||
<setEntry value="org.eclipse.cdt.cmake.ui"/>
|
||||
</setAttribute>
|
||||
<booleanAttribute key="includeOptional" value="true"/>
|
||||
<stringAttribute key="location" value="${workspace_loc}/../runtime-EclipseApplication"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog -consolelog"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
|
||||
<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xms40m -Xmx512M -ea"/>
|
||||
<booleanAttribute key="pde.generated.config" value="false"/>
|
||||
<stringAttribute key="pde.version" value="3.3"/>
|
||||
<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
|
||||
<setAttribute key="selected_target_bundles">
|
||||
<setEntry value="com.google.gson@default:default"/>
|
||||
<setEntry value="com.ibm.icu@default:default"/>
|
||||
<setEntry value="com.jcraft.jsch@default:default"/>
|
||||
<setEntry value="com.jcraft.jzlib@default:default"/>
|
||||
<setEntry value="com.sun.xml.bind@default:default"/>
|
||||
<setEntry value="jakarta.xml.bind@default:default"/>
|
||||
<setEntry value="javax.activation*1.1.0.v201211130549@default:default"/>
|
||||
<setEntry value="javax.annotation*1.3.5.v20200504-1837@default:default"/>
|
||||
<setEntry value="javax.el@default:default"/>
|
||||
<setEntry value="javax.inject@default:default"/>
|
||||
<setEntry value="javax.servlet.jsp@default:default"/>
|
||||
<setEntry value="javax.servlet@default:default"/>
|
||||
<setEntry value="javax.xml.stream@default:default"/>
|
||||
<setEntry value="javax.xml@default:default"/>
|
||||
<setEntry value="org.apache.ant@default:default"/>
|
||||
<setEntry value="org.apache.batik.constants@default:default"/>
|
||||
<setEntry value="org.apache.batik.css@default:default"/>
|
||||
<setEntry value="org.apache.batik.i18n@default:default"/>
|
||||
<setEntry value="org.apache.batik.util@default:default"/>
|
||||
<setEntry value="org.apache.commons.io@default:default"/>
|
||||
<setEntry value="org.apache.commons.jxpath@default:default"/>
|
||||
<setEntry value="org.apache.commons.logging@default:default"/>
|
||||
<setEntry value="org.apache.felix.gogo.runtime@default:default"/>
|
||||
<setEntry value="org.apache.felix.scr@1:true"/>
|
||||
<setEntry value="org.apache.log4j@default:default"/>
|
||||
<setEntry value="org.apache.xmlgraphics@default:default"/>
|
||||
<setEntry value="org.apiguardian@default:default"/>
|
||||
<setEntry value="org.eclipse.ant.core@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.core.linux.x86_64@default:false"/>
|
||||
<setEntry value="org.eclipse.cdt.core.linux@default:false"/>
|
||||
<setEntry value="org.eclipse.cdt.core.native@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.core@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.debug.core@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.debug.ui@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.launch@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.make.core@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.make.ui@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.ui@default:default"/>
|
||||
<setEntry value="org.eclipse.compare.core@default:default"/>
|
||||
<setEntry value="org.eclipse.compare@default:default"/>
|
||||
<setEntry value="org.eclipse.core.commands@default:default"/>
|
||||
<setEntry value="org.eclipse.core.contenttype@default:default"/>
|
||||
<setEntry value="org.eclipse.core.databinding.observable@default:default"/>
|
||||
<setEntry value="org.eclipse.core.databinding.property@default:default"/>
|
||||
<setEntry value="org.eclipse.core.databinding@default:default"/>
|
||||
<setEntry value="org.eclipse.core.expressions@default:default"/>
|
||||
<setEntry value="org.eclipse.core.filebuffers@default:default"/>
|
||||
<setEntry value="org.eclipse.core.filesystem.linux.x86_64@default:false"/>
|
||||
<setEntry value="org.eclipse.core.filesystem@default:default"/>
|
||||
<setEntry value="org.eclipse.core.jobs@default:default"/>
|
||||
<setEntry value="org.eclipse.core.net.linux.x86_64@default:false"/>
|
||||
<setEntry value="org.eclipse.core.net@default:default"/>
|
||||
<setEntry value="org.eclipse.core.resources@default:default"/>
|
||||
<setEntry value="org.eclipse.core.runtime@default:true"/>
|
||||
<setEntry value="org.eclipse.core.variables@default:default"/>
|
||||
<setEntry value="org.eclipse.debug.core@default:default"/>
|
||||
<setEntry value="org.eclipse.debug.ui@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.core.commands@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.core.contexts@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.core.di.annotations@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.core.di.extensions.supplier@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.core.di.extensions@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.core.di@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.core.services@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.emf.xpath@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.bindings@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.css.core@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.css.swt.theme@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.css.swt@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.di@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.dialogs@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.ide@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.model.workbench@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.services@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.swt.gtk@default:false"/>
|
||||
<setEntry value="org.eclipse.e4.ui.widgets@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.workbench.addons.swt@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.workbench.renderers.swt@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.workbench.swt@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.workbench3@default:default"/>
|
||||
<setEntry value="org.eclipse.e4.ui.workbench@default:default"/>
|
||||
<setEntry value="org.eclipse.emf.common@default:default"/>
|
||||
<setEntry value="org.eclipse.emf.ecore.change@default:default"/>
|
||||
<setEntry value="org.eclipse.emf.ecore.xmi@default:default"/>
|
||||
<setEntry value="org.eclipse.emf.ecore@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.app@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.bidi@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.common@2:true"/>
|
||||
<setEntry value="org.eclipse.equinox.event@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.core@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.engine@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.metadata.repository@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.metadata@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.p2.repository@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.preferences@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.registry@default:default"/>
|
||||
<setEntry value="org.eclipse.equinox.security.linux.x86_64@default:false"/>
|
||||
<setEntry value="org.eclipse.equinox.security@default:default"/>
|
||||
<setEntry value="org.eclipse.help@default:default"/>
|
||||
<setEntry value="org.eclipse.jdt.annotation*2.2.600.v20200408-1511@default:default"/>
|
||||
<setEntry value="org.eclipse.jface.databinding@default:default"/>
|
||||
<setEntry value="org.eclipse.jface.text@default:default"/>
|
||||
<setEntry value="org.eclipse.jface@default:default"/>
|
||||
<setEntry value="org.eclipse.launchbar.core@default:default"/>
|
||||
<setEntry value="org.eclipse.launchbar.ui@default:default"/>
|
||||
<setEntry value="org.eclipse.ltk.core.refactoring@default:default"/>
|
||||
<setEntry value="org.eclipse.ltk.ui.refactoring@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.compatibility.state@default:false"/>
|
||||
<setEntry value="org.eclipse.osgi.services@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi.util@default:default"/>
|
||||
<setEntry value="org.eclipse.osgi@-1:true"/>
|
||||
<setEntry value="org.eclipse.search@default:default"/>
|
||||
<setEntry value="org.eclipse.swt.gtk.linux.x86_64@default:false"/>
|
||||
<setEntry value="org.eclipse.swt@default:default"/>
|
||||
<setEntry value="org.eclipse.swtbot.ant.junit@default:false"/>
|
||||
<setEntry value="org.eclipse.team.core@default:default"/>
|
||||
<setEntry value="org.eclipse.team.ui@default:default"/>
|
||||
<setEntry value="org.eclipse.text@default:default"/>
|
||||
<setEntry value="org.eclipse.tools.templates.core@default:default"/>
|
||||
<setEntry value="org.eclipse.tools.templates.freemarker@default:default"/>
|
||||
<setEntry value="org.eclipse.tools.templates.ui@default:default"/>
|
||||
<setEntry value="org.eclipse.ui.console@default:default"/>
|
||||
<setEntry value="org.eclipse.ui.editors@default:default"/>
|
||||
<setEntry value="org.eclipse.ui.forms@default:default"/>
|
||||
<setEntry value="org.eclipse.ui.ide.application@default:default"/>
|
||||
<setEntry value="org.eclipse.ui.ide@default:default"/>
|
||||
<setEntry value="org.eclipse.ui.navigator.resources@default:default"/>
|
||||
<setEntry value="org.eclipse.ui.navigator@default:default"/>
|
||||
<setEntry value="org.eclipse.ui.trace@default:default"/>
|
||||
<setEntry value="org.eclipse.ui.views.properties.tabbed@default:default"/>
|
||||
<setEntry value="org.eclipse.ui.views@default:default"/>
|
||||
<setEntry value="org.eclipse.ui.workbench.texteditor@default:default"/>
|
||||
<setEntry value="org.eclipse.ui.workbench@default:default"/>
|
||||
<setEntry value="org.eclipse.ui@default:default"/>
|
||||
<setEntry value="org.eclipse.urischeme@default:default"/>
|
||||
<setEntry value="org.freemarker@default:default"/>
|
||||
<setEntry value="org.glassfish.hk2.osgi-resource-locator@default:default"/>
|
||||
<setEntry value="org.hamcrest.core@default:default"/>
|
||||
<setEntry value="org.junit.platform.commons@default:default"/>
|
||||
<setEntry value="org.junit.platform.engine@default:default"/>
|
||||
<setEntry value="org.junit.platform.launcher@default:default"/>
|
||||
<setEntry value="org.junit@default:default"/>
|
||||
<setEntry value="org.opentest4j@default:default"/>
|
||||
<setEntry value="org.slf4j.api*1.7.30.v20200204-2150@default:default"/>
|
||||
<setEntry value="org.tukaani.xz@default:default"/>
|
||||
<setEntry value="org.w3c.css.sac@default:default"/>
|
||||
<setEntry value="org.w3c.dom.events@default:default"/>
|
||||
<setEntry value="org.w3c.dom.smil@default:default"/>
|
||||
<setEntry value="org.w3c.dom.svg@default:default"/>
|
||||
</setAttribute>
|
||||
<setAttribute key="selected_workspace_bundles">
|
||||
<setEntry value="org.eclipse.cdt.cmake.core@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.cmake.is.arm@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.cmake.is.core.doc@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.cmake.is.core.ui@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.cmake.is.core@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.cmake.is.hpenonstop@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.cmake.is.intel@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.cmake.is.microsoft@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.cmake.is.nvidia@default:default"/>
|
||||
<setEntry value="org.eclipse.cdt.core@default:default"/>
|
||||
</setAttribute>
|
||||
<booleanAttribute key="show_selected_only" value="false"/>
|
||||
<booleanAttribute key="tracing" value="false"/>
|
||||
<mapAttribute key="tracingOptions">
|
||||
<mapEntry key="org.eclipse.cdt.cmake.is.core/debug/arglets" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.cmake.is.core/debug/detected.entries" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.cmake.is.core/debug/participant" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.cmake.is.core/debug/performance" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.codan.core/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.codan.core/debug/performance" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/ASTCache" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/deltaprocessor" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/formatter" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/index/IndexFileSet" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/index/locks" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/indexer/activity" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/indexer/problems" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/indexer/problems/inclusion" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/indexer/problems/scanner" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/indexer/problems/syntax" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/indexer/setup" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/indexer/statistics" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/matchlocator" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/model" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/parser" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/parser/CompositeValue" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/parser/exceptions" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/resourceLookup" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/scanner" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/scanner/missingIncludeGuards" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/search" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.core/debug/typeresolver" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.debug.core/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.debug.core/debug/executables" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf.gdb/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf.gdb/debug/timeouts" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf.ui/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf.ui/debug/disassembly" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf.ui/debug/stepping" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf.ui/debug/vm/atomicUpdate" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf.ui/debug/vm/cache" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf.ui/debug/vm/contentProvider" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf.ui/debug/vm/delta" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf.ui/debug/vm/presentationId" value=""/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf.ui/debug/vm/updates" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf.ui/debug/vm/updates/regex" value=""/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf/debug/executor" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf/debug/executorName" value=""/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf/debug/monitors" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf/debug/session" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf/debug/session/dispatches" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf/debug/session/listeners" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf/debug/session/modelAdapters" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.dsf/debugCache" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.make.core/debug" value="true"/>
|
||||
<mapEntry key="org.eclipse.cdt.make.core/debug/scdiscovery" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.ui/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.ui/debug/SemanticHighlighting" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.ui/debug/contentassist" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.ui/debug/folding" value="false"/>
|
||||
<mapEntry key="org.eclipse.cdt.ui/debug/includeOrganizer/headerSubstitution" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.contenttype/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.expressions/debug/TypeExtensionManager" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.jobs/jobs/beginend" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.jobs/jobs/locks" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.net/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.net/systemproviders" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/build/cycle" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/build/delta" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/build/interrupt" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/build/needbuildstack" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/contenttype" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/contenttype/cache" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/history" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/notifications" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/>
|
||||
<mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/>
|
||||
<mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/>
|
||||
<mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/>
|
||||
<mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/refresh" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/save" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.resources/strings" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.runtime/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.runtime/perf" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.runtime/perf/success" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.runtime/preferences/plugin" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
|
||||
<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
|
||||
<mapEntry key="org.eclipse.debug.core/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.debug.core/debug/commands" value="false"/>
|
||||
<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/>
|
||||
<mapEntry key="org.eclipse.debug.ui/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.debug.ui/debug/breadcrumb" value="false"/>
|
||||
<mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/>
|
||||
<mapEntry key="org.eclipse.debug.ui/debug/launchhistory" value="false"/>
|
||||
<mapEntry key="org.eclipse.debug.ui/debug/memory/dynamicLoading" value="false"/>
|
||||
<mapEntry key="org.eclipse.debug.ui/debug/viewers/breakpointDeltas" value="false"/>
|
||||
<mapEntry key="org.eclipse.debug.ui/debug/viewers/contentProvider" value="false"/>
|
||||
<mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/>
|
||||
<mapEntry key="org.eclipse.debug.ui/debug/viewers/model" value="false"/>
|
||||
<mapEntry key="org.eclipse.debug.ui/debug/viewers/presentationId" value=""/>
|
||||
<mapEntry key="org.eclipse.debug.ui/debug/viewers/stateSaveRestore" value="false"/>
|
||||
<mapEntry key="org.eclipse.debug.ui/debug/viewers/updateSequence" value="false"/>
|
||||
<mapEntry key="org.eclipse.debug.ui/debug/viewers/viewer" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.core.contexts/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.core.contexts/debug/listeners" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.core.contexts/debug/names" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.core.di/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.core.services/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.core.services/debug/injector" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench.swt/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/commands" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/eclipse.context" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/eclipse.context.verbose" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/focus" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/menus" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/renderer" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench.swt/trace/workbench" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench/trace" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench/trace/commands" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench/trace/eclipse.context" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench/trace/eclipse.context.verbose" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench/trace/focus" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench/trace/menus" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench/trace/renderer" value="false"/>
|
||||
<mapEntry key="org.eclipse.e4.ui.workbench/trace/workbench" value="false"/>
|
||||
<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient4/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient4/debug/exceptions/catching" value="false"/>
|
||||
<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient4/debug/exceptions/throwing" value="false"/>
|
||||
<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient4/debug/methods/entering" value="false"/>
|
||||
<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient4/debug/methods/exiting" value="false"/>
|
||||
<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient45/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient45/debug/exceptions/catching" value="false"/>
|
||||
<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient45/debug/exceptions/throwing" value="false"/>
|
||||
<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient45/debug/methods/entering" value="false"/>
|
||||
<mapEntry key="org.eclipse.ecf.provider.filetransfer.httpclient45/debug/methods/exiting" value="false"/>
|
||||
<mapEntry key="org.eclipse.egit.core/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.egit.core/debug/core" value="false"/>
|
||||
<mapEntry key="org.eclipse.egit.core/debug/core/indexdiffcache" value="false"/>
|
||||
<mapEntry key="org.eclipse.egit.core/debug/core/jsch" value="false"/>
|
||||
<mapEntry key="org.eclipse.egit.core/debug/core/refresh" value="false"/>
|
||||
<mapEntry key="org.eclipse.egit.ui/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.egit.ui/debug/quickdiff" value="false"/>
|
||||
<mapEntry key="org.eclipse.egit.ui/debug/repochangescanner" value="false"/>
|
||||
<mapEntry key="org.eclipse.egit.ui/debug/ui" value="false"/>
|
||||
<mapEntry key="org.eclipse.egit.ui/debug/ui/decoration" value="false"/>
|
||||
<mapEntry key="org.eclipse.egit.ui/debug/ui/historyview" value="false"/>
|
||||
<mapEntry key="org.eclipse.egit.ui/debug/ui/propertiestesters" value="false"/>
|
||||
<mapEntry key="org.eclipse.egit.ui/debug/ui/repositoriesview" value="false"/>
|
||||
<mapEntry key="org.eclipse.egit.ui/debug/ui/selection" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.common/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.common/progress_monitors" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.core/artifacts/mirrors" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.core/core/parseproblems" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.core/core/removeRepo" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.core/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.core/engine/installregistry" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.core/engine/profilepreferences" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.core/events/client" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.core/generator/parsing" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.core/metadata/parsing" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.core/planner/encoding" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.core/planner/operands" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.core/planner/projector" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.core/publisher" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.core/reconciler" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.core/ui/default" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.core/updatechecker" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.engine/certificatechecker/unsigned" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.engine/certificatechecker/untrusted" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.engine/engine/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.engine/enginesession/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.p2.engine/profileregistry/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.preferences/general" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.preferences/set" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.registry/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.security.ui/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.security.ui/debug/storage" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.security/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.equinox.security/debug/loginFramework" value="false"/>
|
||||
<mapEntry key="org.eclipse.help.ui/debug" value="true"/>
|
||||
<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
|
||||
<mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
|
||||
<mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
|
||||
<mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
|
||||
<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
|
||||
<mapEntry key="org.eclipse.help/debug" value="true"/>
|
||||
<mapEntry key="org.eclipse.help/debug/context" value="false"/>
|
||||
<mapEntry key="org.eclipse.help/debug/search" value="false"/>
|
||||
<mapEntry key="org.eclipse.help/debug/toc" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.apt.core/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.apt.core/debug/compilationEnv" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFileMaps" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFiles" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.apt.pluggable.core/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/builder/stats" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/compiler" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/advanced" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/cpresolution/failure" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/dom/ast" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/dom/ast/throw" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/dom/rewrite" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/formatter" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/index/freespacetest" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/index/indexer" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/index/insertions" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/index/locks" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/index/logsizemegs" value="0"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/index/pagecache" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/index/scheduling" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/index/selftest" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/index/space" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/index/timing" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/indexmanager/advanced" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/javamodel" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/javamodel/cache" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/javamodel/classpath" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/javamodel/insertions" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/javamodel/invalid_archives" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/postaction" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/search" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/sourcemapper" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/perf/completion" value="300"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/perf/reconcile" value="1000"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/>
|
||||
<mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/>
|
||||
<mapEntry key="org.eclipse.jdt.debug/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.debug/debug/astEvaluations" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.debug/debug/astEvaluations/callingThreads" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.debug/debug/jdiEvents" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.debug/debug/jdiRequestTimes" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.launching/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.launching/debug/classpath/jreContainer" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.ui/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.ui/debug/BreadcrumbItemDropDown" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/>
|
||||
<mapEntry key="org.eclipse.jdt.ui/perf/content_assist/extensions" value="1000"/>
|
||||
<mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/>
|
||||
<mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/>
|
||||
<mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/>
|
||||
<mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/>
|
||||
<mapEntry key="org.eclipse.jdt.ui/perf/search/participants" value="300"/>
|
||||
<mapEntry key="org.eclipse.jface.text.source/debug/RevisionRulerColumn" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface.text/assert/TextSelection/validConstructorArguments" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface.text/debug/AbstractInformationControlManager" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface.text/debug/AnnotationPainter" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface/debug/bidiUtils" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface/debug/dialog/noparent" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface/debug/loadURLImageDescriptor2x" value="true"/>
|
||||
<mapEntry key="org.eclipse.jface/debug/loadURLImageDescriptor2xPngForGif" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface/debug/loadURLImageDescriptorDirectly" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface/debug/logURLImageDescriptorMissing2x" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface/debug/trace/URLImageDescriptor" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface/debug/viewers/equalElements" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface/debug/viewers/reentrantViewerCalls" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface/newlook/preferences/showNewLook" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface/trace/actions" value="false"/>
|
||||
<mapEntry key="org.eclipse.jface/trace/toolbarDisposal" value="false"/>
|
||||
<mapEntry key="org.eclipse.launchbar.core/debug" value="true"/>
|
||||
<mapEntry key="org.eclipse.launchbar.core/debug/launchbar" value="true"/>
|
||||
<mapEntry key="org.eclipse.launchbar.ui/iconSize32" value="false"/>
|
||||
<mapEntry key="org.eclipse.launchbar.ui/launchIconUpdater" value="false"/>
|
||||
<mapEntry key="org.eclipse.lsp4e/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/checkConditions" value="300"/>
|
||||
<mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/bundleFile" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/bundleStartTime" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/cachedmanifest" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/location" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/manifest" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/messageBundles" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/objectPool/adds" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/objectPool/dups" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/packageadmin" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/services" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/storage" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/debug/systemBundle" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/monitor/activation" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/monitor/lazy" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/resolver" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/resolver/hooks" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/resolver/providers" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/resolver/report" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/resolver/roots" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/resolver/uses" value="false"/>
|
||||
<mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.api.tools/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.api.tools/debug/apianalyzer" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.api.tools/debug/apidescription" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.api.tools/debug/apifilterstore" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.api.tools/debug/apiprofile" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.api.tools/debug/builder" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.api.tools/debug/classfilevisitor" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.api.tools/debug/delta" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.api.tools/debug/descriptor/framework" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.api.tools/debug/pluginworkspacecomponent" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.api.tools/debug/profilemanager" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.api.tools/debug/search" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.api.tools/debug/tagscanner" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.api.tools/debug/usereportconverter" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.api.tools/debug/workspacedeltaprocessor" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.build/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.core/classpath" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.core/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.core/model" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.core/target/profile" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.core/validation" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.ds.annotations/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.ds.annotations/ds-annotation-builder" value="false"/>
|
||||
<mapEntry key="org.eclipse.pde.ds.annotations/ds-annotation-builder/processor" value="false"/>
|
||||
<mapEntry key="org.eclipse.search/perf" value="false"/>
|
||||
<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
|
||||
<mapEntry key="org.eclipse.team.core/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
|
||||
<mapEntry key="org.eclipse.team.core/streams" value="false"/>
|
||||
<mapEntry key="org.eclipse.team.core/threading" value="false"/>
|
||||
<mapEntry key="org.eclipse.team.ui/compare_editor_input" value="false"/>
|
||||
<mapEntry key="org.eclipse.team.ui/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.team.ui/dnd" value="false"/>
|
||||
<mapEntry key="org.eclipse.team.ui/history" value="false"/>
|
||||
<mapEntry key="org.eclipse.team.ui/syncmodels" value="false"/>
|
||||
<mapEntry key="org.eclipse.tm.terminal.control/debug/log" value="false"/>
|
||||
<mapEntry key="org.eclipse.tm.terminal.control/debug/log/VT100Backend" value="false"/>
|
||||
<mapEntry key="org.eclipse.tm.terminal.control/debug/log/char" value="false"/>
|
||||
<mapEntry key="org.eclipse.tm4e.registry/debug/log/Grammar" value="false"/>
|
||||
<mapEntry key="org.eclipse.tm4e.ui/debug/log/GenerateTest" value="false"/>
|
||||
<mapEntry key="org.eclipse.tm4e.ui/debug/log/TMModelManager" value="false"/>
|
||||
<mapEntry key="org.eclipse.tm4e.ui/debug/log/TMPresentationReconciler" value="false"/>
|
||||
<mapEntry key="org.eclipse.tm4e.ui/debug/log/ThrowError" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.browser/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.forms/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.forms/debug/focus" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.forms/debug/text" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.forms/debug/textsize" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.ide/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.ide/debug/gc" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.ide/debug/internalerror/openDialog" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.ide/debug/markers" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.ide/debug/undomonitor" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/>
|
||||
<mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/>
|
||||
<mapEntry key="org.eclipse.ui.intro.universal/trace/logPerformance" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
|
||||
<mapEntry key="org.eclipse.ui.intro/debug/toolbar" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.intro/flags/noBrowser" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
|
||||
<mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.monitoring/debug/event_monitor" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.navigator/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.navigator/debug/dnd" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.navigator/debug/resolution" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.navigator/debug/setup" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.navigator/debug/sort" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.navigator/debug/viewermap" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.navigator/perf/explorer/createPartControl" value="1300"/>
|
||||
<mapEntry key="org.eclipse.ui.workbench/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui.workbench/debug/e4" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/debug" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/debug/contributions" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/debug/showAllJobs" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/debug/swtdebug" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/debug/swtdebugglobal" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/debug/workingSets" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/experimental/menus" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener2" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchPartReference" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener2" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/perf/contentTypes" value="200"/>
|
||||
<mapEntry key="org.eclipse.ui/perf/earlyStartup" value="100"/>
|
||||
<mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/>
|
||||
<mapEntry key="org.eclipse.ui/perf/part.activate" value="200"/>
|
||||
<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/>
|
||||
<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/>
|
||||
<mapEntry key="org.eclipse.ui/perf/part.init" value="800"/>
|
||||
<mapEntry key="org.eclipse.ui/perf/part.input" value="200"/>
|
||||
<mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/>
|
||||
<mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/>
|
||||
<mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/>
|
||||
<mapEntry key="org.eclipse.ui/perf/perspective.switch" value="800"/>
|
||||
<mapEntry key="org.eclipse.ui/perf/showHeapStatus" value="true"/>
|
||||
<mapEntry key="org.eclipse.ui/perf/uijob" value="200"/>
|
||||
<mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/>
|
||||
<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/>
|
||||
<mapEntry key="org.eclipse.ui/trace/commands" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/trace/contexts" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/trace/graphics" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/trace/handlers" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/trace/handlers.performance" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/trace/handlers.verbose.commandId" value=""/>
|
||||
<mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/trace/operations" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/trace/perspectives" value="false"/>
|
||||
<mapEntry key="org.eclipse.ui/trace/sources" value="false"/>
|
||||
<mapEntry key="org.eclipse.update.configurator/debug" value="false"/>
|
||||
</mapAttribute>
|
||||
<booleanAttribute key="useCustomFeatures" value="false"/>
|
||||
<booleanAttribute key="useDefaultConfig" value="true"/>
|
||||
<booleanAttribute key="useDefaultConfigArea" value="true"/>
|
||||
<booleanAttribute key="useProduct" value="false"/>
|
||||
<booleanAttribute key="usefeatures" value="false"/>
|
||||
</launchConfiguration>
|
|
@ -3,13 +3,6 @@
|
|||
<plugin>
|
||||
<extension-point id="detectionParticipant" name="%extension-point.name" schema="schema/participant.exsd"/>
|
||||
"org.eclipse.cdt.cmake.is.core.internal.ui.CompileCommandsJsonParserOptionPage">
|
||||
<extension
|
||||
point="org.eclipse.cdt.core.CBuildConsole">
|
||||
<CBuildConsole
|
||||
class="org.eclipse.cdt.cmake.is.core.internal.builtins.DetectorConsole"
|
||||
id="org.eclipse.cdt.cmake.is.core.detectorConsole">
|
||||
</CBuildConsole>
|
||||
</extension>
|
||||
<extension
|
||||
id="CompileCommandsJsonParserMarker"
|
||||
name="CMake compile_commands.json parser"
|
||||
|
|
|
@ -13,6 +13,7 @@ import java.io.FileReader;
|
|||
import java.io.IOException;
|
||||
import java.io.Reader;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
|
@ -38,9 +39,7 @@ import org.eclipse.cdt.cmake.is.core.participant.IToolCommandlineParser;
|
|||
import org.eclipse.cdt.cmake.is.core.participant.IToolCommandlineParser.IResult;
|
||||
import org.eclipse.cdt.cmake.is.core.participant.IToolDetectionParticipant;
|
||||
import org.eclipse.cdt.cmake.is.core.participant.builtins.IBuiltinsDetectionBehavior;
|
||||
import org.eclipse.cdt.core.ICommandLauncher;
|
||||
import org.eclipse.cdt.core.build.CBuildConfiguration;
|
||||
import org.eclipse.cdt.core.resources.IConsole;
|
||||
import org.eclipse.cdt.core.settings.model.ICLanguageSettingEntry;
|
||||
import org.eclipse.core.resources.IContainer;
|
||||
import org.eclipse.core.resources.IFile;
|
||||
|
@ -68,13 +67,6 @@ import com.google.gson.JsonSyntaxException;
|
|||
*
|
||||
* @author Martin Weber
|
||||
*/
|
||||
/*
|
||||
* TODO introduce separate packages for consumers of this class and for
|
||||
* implementors of the extension point (this package vs. packages
|
||||
* org.eclipse.cdt.cmake.is.core, org.eclipse.cdt.cmake.is.core.builtins)
|
||||
*
|
||||
*
|
||||
*/
|
||||
public class CompileCommandsJsonParser {
|
||||
private static final boolean DEBUG_TIME = Boolean
|
||||
.parseBoolean(Platform.getDebugOption(Plugin.PLUGIN_ID + "/debug/performance")); //$NON-NLS-1$
|
||||
|
@ -91,8 +83,8 @@ public class CompileCommandsJsonParser {
|
|||
|
||||
private static final String MARKER_ID = Plugin.PLUGIN_ID + ".CompileCommandsJsonParserMarker"; //$NON-NLS-1$
|
||||
|
||||
private final CBuildConfiguration cBuildConfiguration;
|
||||
private final IIndexerInfoConsumer indexerInfoConsumer;
|
||||
private ParseRequest parseRequest;
|
||||
|
||||
private final IParserPreferencesAccess prefsAccess;
|
||||
|
||||
/**
|
||||
|
@ -128,29 +120,20 @@ public class CompileCommandsJsonParser {
|
|||
|
||||
/**
|
||||
* Creates a new object that will try to parse the {@code compile_commands.json}
|
||||
* file in the build directory of the specified {@code CBuildConfiguration}.
|
||||
* file in the build directory specified in the {@code ParseRequest#getBuildConfiguration()}.
|
||||
*
|
||||
* @param buildConfiguration the CBuildConfiguration of the project
|
||||
* @param indexerInfoConsumer the objects that receives the indexer relevant
|
||||
* information for each source file
|
||||
* @param parseRequest the parser configuration
|
||||
*/
|
||||
public CompileCommandsJsonParser(CBuildConfiguration buildConfiguration, IIndexerInfoConsumer indexerInfoConsumer) {
|
||||
this.cBuildConfiguration = Objects.requireNonNull(buildConfiguration, "buildConfiguration"); //$NON-NLS-1$
|
||||
this.indexerInfoConsumer = Objects.requireNonNull(indexerInfoConsumer, "indexerInfoConsumer"); //$NON-NLS-1$
|
||||
// TODO interface ICBuildConfiguration should be sufficient here
|
||||
public CompileCommandsJsonParser(ParseRequest parseRequest) {
|
||||
this.parseRequest = Objects.requireNonNull(parseRequest, "parseRequest"); //$NON-NLS-1$
|
||||
prefsAccess = EclipseContextFactory.getServiceContext(FrameworkUtil.getBundle(getClass()).getBundleContext())
|
||||
.get(IParserPreferencesAccess.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* Parses the content of the 'compile_commands.json' file corresponding to the
|
||||
* specified configuration, if timestamps differ.
|
||||
*
|
||||
* @param launcher the launcher to run the compiler for built-in detection.
|
||||
* Should be capable to run in docker container, if build in
|
||||
* container is configured for the project.
|
||||
* @param console the console to print the compiler output during built-in
|
||||
* detection to or <code>null</code> if a separate console is to
|
||||
* be allocated.
|
||||
* specified configuration, if time-stamps differ.
|
||||
* @param monitor the job's progress monitor
|
||||
*
|
||||
* @return {@code true} if the json file did change since the last invocation of
|
||||
|
@ -158,10 +141,11 @@ public class CompileCommandsJsonParser {
|
|||
* {@code false}
|
||||
* @throws CoreException
|
||||
*/
|
||||
private boolean processJsonFile(ICommandLauncher launcher, IConsole console, IProgressMonitor monitor)
|
||||
throws CoreException {
|
||||
final IProject project = cBuildConfiguration.getBuildConfiguration().getProject();
|
||||
java.nio.file.Path buildRoot = cBuildConfiguration.getBuildDirectory();
|
||||
private boolean processJsonFile(IProgressMonitor monitor) throws CoreException {
|
||||
final CBuildConfiguration configuration = parseRequest.getBuildConfiguration();
|
||||
final IProject project = configuration.getBuildConfiguration().getProject();
|
||||
java.nio.file.Path buildRoot = Paths.get(configuration.getBuildDirectoryURI());
|
||||
|
||||
final java.nio.file.Path jsonFile = buildRoot.resolve("compile_commands.json"); //$NON-NLS-1$
|
||||
if (!Files.exists(jsonFile)) {
|
||||
// no json file was produced in the build
|
||||
|
@ -178,7 +162,7 @@ public class CompileCommandsJsonParser {
|
|||
// tread as 'file does nor exist'
|
||||
return false;
|
||||
}
|
||||
IContainer buildContainer = cBuildConfiguration.getBuildContainer();
|
||||
IContainer buildContainer = configuration.getBuildContainer();
|
||||
final IFile jsonFileRc = buildContainer.getFile(new Path("compile_commands.json")); //$NON-NLS-1$
|
||||
|
||||
Long sessionLastModified = (Long) buildContainer.getSessionProperty(TIMESTAMP_COMPILE_COMMANDS_PROPERTY);
|
||||
|
@ -207,7 +191,7 @@ public class CompileCommandsJsonParser {
|
|||
return false;
|
||||
}
|
||||
|
||||
detectBuiltins(launcher, console, monitor);
|
||||
detectBuiltins(monitor);
|
||||
// store time-stamp
|
||||
buildContainer.setSessionProperty(TIMESTAMP_COMPILE_COMMANDS_PROPERTY, tsJsonModified);
|
||||
return true;
|
||||
|
@ -274,31 +258,25 @@ public class CompileCommandsJsonParser {
|
|||
}
|
||||
|
||||
/**
|
||||
* @param launcher the launcher to run the compiler for built-in detection.
|
||||
* Should be capable to run in docker container, if build in
|
||||
* container is configured for the project.
|
||||
* @param console the console to print the compiler output during built-in
|
||||
* detection to or <code>null</code> if a separate console is to
|
||||
* be allocated.
|
||||
* @param monitor
|
||||
* @throws CoreException
|
||||
*/
|
||||
private void detectBuiltins(ICommandLauncher launcher, IConsole console, IProgressMonitor monitor)
|
||||
throws CoreException {
|
||||
if (builtinDetectorsToRun == null || builtinDetectorsToRun.isEmpty())
|
||||
private void detectBuiltins(IProgressMonitor monitor) throws CoreException {
|
||||
if (builtinDetectorsToRun.isEmpty())
|
||||
return;
|
||||
monitor.setTaskName(Messages.CompileCommandsJsonParser_msg_detecting_builtins);
|
||||
|
||||
java.nio.file.Path buildDir = cBuildConfiguration.getBuildDirectory();
|
||||
java.nio.file.Path buildDir = parseRequest.getBuildConfiguration().getBuildDirectory();
|
||||
// run each built-in detector and collect the results..
|
||||
Map<String, IRawIndexerInfo> builtinDetectorsResults = new HashMap<>();
|
||||
for (Entry<String, CompilerBuiltinsDetector> entry : builtinDetectorsToRun.entrySet()) {
|
||||
IRawIndexerInfo result = entry.getValue().detectBuiltins(cBuildConfiguration.getBuildConfiguration(),
|
||||
buildDir, launcher, console, monitor);
|
||||
IRawIndexerInfo result = entry.getValue().detectBuiltins(
|
||||
parseRequest.getBuildConfiguration().getBuildConfiguration(), buildDir, parseRequest.getLauncher(),
|
||||
parseRequest.getConsole(), monitor);
|
||||
// store detector key with result
|
||||
builtinDetectorsResults.put(entry.getKey(), result);
|
||||
}
|
||||
// all built-in detectors have been run at this point
|
||||
// all built-in detectors have been run at this point, reduce memory footprint
|
||||
builtinDetectorsToRun.clear();
|
||||
|
||||
// most of the time we get different String objects for different source files
|
||||
|
@ -361,7 +339,8 @@ public class CompileCommandsJsonParser {
|
|||
.map(stringPooler).collect(Collectors.toList());
|
||||
|
||||
// feed the paths and defines with the file name to the indexer..
|
||||
indexerInfoConsumer.acceptSourceFileInfo(sourceFileName, systemIncludePaths, effectiveDefines, includePaths);
|
||||
parseRequest.getIndexerInfoConsumer().acceptSourceFileInfo(sourceFileName, systemIncludePaths, effectiveDefines,
|
||||
includePaths);
|
||||
}
|
||||
|
||||
private static void createMarker(IResource rc, String message) throws CoreException {
|
||||
|
@ -431,14 +410,9 @@ public class CompileCommandsJsonParser {
|
|||
|
||||
/**
|
||||
* Parses the {@code compile_commands.json} file in the build directory of the
|
||||
* project if necessary and generates indexer information.
|
||||
*
|
||||
* @param launcher the launcher to run the compiler for built-in detection.
|
||||
* Should be capable to run in docker container, if build in
|
||||
* container is configured for the project.
|
||||
* @param console the console to print the compiler output during built-in
|
||||
* detection to or <code>null</code> if a separate console is to
|
||||
* be allocated.
|
||||
* build configuration if necessary and generates indexer information. If the JSON file did not change since the last invocation
|
||||
* of this method on the same build configuration, parsing of the file will be skipped; that is:
|
||||
* Method {@link IIndexerInfoConsumer#accept()} is not invoked.
|
||||
* @param monitor the job's progress monitor
|
||||
*
|
||||
* @return {@code true} if the {@code compile_commands.json} file did change
|
||||
|
@ -447,20 +421,25 @@ public class CompileCommandsJsonParser {
|
|||
* indexer should be notified.
|
||||
* @throws CoreException
|
||||
*/
|
||||
public boolean parse(ICommandLauncher launcher, IConsole console, IProgressMonitor monitor) throws CoreException {
|
||||
public boolean parse(IProgressMonitor monitor) throws CoreException {
|
||||
long start = 0;
|
||||
fileResults = new HashMap<>();
|
||||
builtinDetectorsToRun = new HashMap<>();
|
||||
fileToBuiltinDetectorLinks = new HashMap<>();
|
||||
|
||||
try {
|
||||
if (DEBUG_TIME) {
|
||||
System.out.printf("Project %s parsing compile_commands.json ...%n", //$NON-NLS-1$
|
||||
cBuildConfiguration.getProject().getName());
|
||||
parseRequest.getBuildConfiguration().getProject().getName());
|
||||
start = System.currentTimeMillis();
|
||||
}
|
||||
return processJsonFile(launcher, console, monitor);
|
||||
return processJsonFile(monitor);
|
||||
} finally {
|
||||
parseRequest.getIndexerInfoConsumer().shutdown();
|
||||
if (DEBUG_TIME) {
|
||||
long end = System.currentTimeMillis();
|
||||
System.out.printf("Project %s parsed compile_commands.json file in %dms%n", //$NON-NLS-1$
|
||||
cBuildConfiguration.getProject().getName(), end - start);
|
||||
parseRequest.getBuildConfiguration().getProject().getName(), end - start);
|
||||
}
|
||||
// clean up
|
||||
builtinDetectorsToRun = null;
|
||||
|
@ -474,9 +453,14 @@ public class CompileCommandsJsonParser {
|
|||
* run.
|
||||
*
|
||||
* @param compilerCommand the command name of the compiler
|
||||
* @param builtinDetectionArgs compiler arguments that affect built-ins
|
||||
* detection
|
||||
* @param builtinDetectionArgs the compiler arguments from the command-line that
|
||||
* affect built-in detection. For the GNU compilers,
|
||||
* these are options like {@code --sysroot} and
|
||||
* options that specify the language's standard
|
||||
* ({@code -std=c++17}.
|
||||
* @param sourceFileExtension the extension of the source file name
|
||||
* @return a Map-key suitable to minimize the set of CompilerBuiltinsDetector to
|
||||
* run
|
||||
*/
|
||||
@SuppressWarnings("nls")
|
||||
private static String makeBuiltinsDetectorKey(String compilerCommand, List<String> builtinDetectionArgs,
|
||||
|
@ -504,27 +488,20 @@ public class CompileCommandsJsonParser {
|
|||
* @param result
|
||||
*/
|
||||
private void rememberFileResult(String sourceFileName, IRawIndexerInfo result) {
|
||||
if (fileResults == null)
|
||||
fileResults = new HashMap<>();
|
||||
fileResults.put(sourceFileName, result);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param sourceFileName the name of the source file
|
||||
* @param compilerCommand the command name of the compiler
|
||||
* @param builtinDetectionArgs the compiler arguments from the command-line that
|
||||
* affect built-in detection. For the GNU compilers,
|
||||
* these are options like {@code --sysroot} and
|
||||
* options that specify the language's standard
|
||||
* ({@code -std=c++17}.
|
||||
* @return a Map-key suitable to minimize the set of CompilerBuiltinsDetector to
|
||||
* run
|
||||
*/
|
||||
private String rememberBuiltinsDetection(String sourceFileName,
|
||||
IBuiltinsDetectionBehavior builtinsDetectionBehavior, String compilerCommand,
|
||||
List<String> builtinDetectionArgs) {
|
||||
if (builtinDetectorsToRun == null)
|
||||
builtinDetectorsToRun = new HashMap<>(3, 1.0f);
|
||||
|
||||
private void rememberBuiltinsDetection(String sourceFileName, IBuiltinsDetectionBehavior builtinsDetectionBehavior,
|
||||
String compilerCommand, List<String> builtinDetectionArgs) {
|
||||
String extension = FilenameUtils.getExtension(sourceFileName);
|
||||
String key = makeBuiltinsDetectorKey(compilerCommand, builtinDetectionArgs, extension);
|
||||
if (!builtinDetectorsToRun.containsKey(key)) {
|
||||
|
@ -533,11 +510,7 @@ public class CompileCommandsJsonParser {
|
|||
builtinDetectorsToRun.put(key, detector);
|
||||
}
|
||||
// remember the built-ins detector for the source file
|
||||
if (fileToBuiltinDetectorLinks == null)
|
||||
fileToBuiltinDetectorLinks = new HashMap<>();
|
||||
|
||||
fileToBuiltinDetectorLinks.put(sourceFileName, key);
|
||||
return key;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -15,20 +15,39 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Receives the indexer relevant information for each source file.
|
||||
* Receives the indexer relevant information for each source file while a {@link
|
||||
* CompileCommandsJsonParser#parse() compile_commands.json file is parsed}.
|
||||
*
|
||||
* @see CompileCommandsJsonParser
|
||||
*
|
||||
* @author weber
|
||||
*/
|
||||
public interface IIndexerInfoConsumer {
|
||||
// TODO Docs
|
||||
// Yes. Docs are currently intentionally missing here, since ATM it is not clear how to properly handle the sourceFileName argument.
|
||||
//
|
||||
// Cmake writes filenames with forward slashes (/) even if it runs on windows.
|
||||
// OTOH, IScannerInfoProvider requests info for IResourceS.
|
||||
// Somewhere in the calling sequence, the filenames have to be converted/mapped to IResource.Conversion*could*
|
||||
// Somewhere in the calling sequence, the filenames have to be converted/mapped to IResource. Conversion *could*
|
||||
// be done in CompileCommandsJsonParser, but when I think of builds running
|
||||
// in a Linux-Docker-Container under windows, it might be better to do the conversion
|
||||
//on the IIndexerInfoConsumer side which has more information on the build setup.
|
||||
// on the IIndexerInfoConsumer side which has more information on the build setup.
|
||||
|
||||
/** Adds indexer relevant information for a single source file.
|
||||
*
|
||||
* @param sourceFileName
|
||||
* the name of the source file, in CMake notation. Note that on windows, CMake writes filenames with forward
|
||||
* slashes (/) such as {@code H://path//to//source.c}.
|
||||
* @param systemIncludePaths
|
||||
* the system include paths ({@code #include <...>}) used to compile the given source file
|
||||
* @param definedSymbols
|
||||
* the preprocessor macros used to compile the given source file
|
||||
* @param includePaths
|
||||
* the local include paths ({@code #include "..."}) used to compile the given source file
|
||||
*/
|
||||
void acceptSourceFileInfo(String sourceFileName, List<String> systemIncludePaths,
|
||||
Map<String, String> definedSymbols, List<String> includePaths);
|
||||
|
||||
/**
|
||||
* Notifies this consumer that no further calls to {link {@link #acceptSourceFileInfo(String, List, Map, List)} will
|
||||
* happen during the current parse operation.
|
||||
*/
|
||||
void shutdown();
|
||||
}
|
||||
|
|
|
@ -0,0 +1,76 @@
|
|||
/*******************************************************************************
|
||||
* Copyright (c) 2020 Martin Weber.
|
||||
*
|
||||
* This program and the accompanying materials
|
||||
* are made available under the terms of the Eclipse Public License 2.0
|
||||
* which accompanies this distribution, and is available at
|
||||
* https://www.eclipse.org/legal/epl-2.0/
|
||||
*
|
||||
* SPDX-License-Identifier: EPL-2.0
|
||||
*******************************************************************************/
|
||||
|
||||
package org.eclipse.cdt.cmake.is.core;
|
||||
|
||||
import java.util.Objects;
|
||||
|
||||
import org.eclipse.cdt.core.ICommandLauncher;
|
||||
import org.eclipse.cdt.core.build.CBuildConfiguration;
|
||||
import org.eclipse.cdt.core.resources.IConsole;
|
||||
|
||||
/** Holds the arguments used to create a {@link CompileCommandsJsonParser}.
|
||||
*
|
||||
* @author weber
|
||||
*/
|
||||
public final class ParseRequest {
|
||||
private final CBuildConfiguration buildConfiguration;
|
||||
private final IIndexerInfoConsumer indexerInfoConsumer;
|
||||
private final ICommandLauncher launcher;
|
||||
private final IConsole console;
|
||||
|
||||
/** Creates a new ParseRequest object.
|
||||
*
|
||||
* @param buildConfiguration the build configuration of the project
|
||||
* @param indexerInfoConsumer the object that receives the indexer relevant
|
||||
* information for each source file
|
||||
* @param launcher the launcher to run the compiler for built-ins detection.
|
||||
* Should be capable to run in docker container, if build in
|
||||
* container is configured for the project.
|
||||
* @param console the console to print the compiler output during built-ins
|
||||
* detection to or <code>null</code> if no console output is requested.
|
||||
* Ignored if workspace preferences indicate that no console output is wanted.
|
||||
*/
|
||||
public ParseRequest(CBuildConfiguration buildConfiguration, IIndexerInfoConsumer indexerInfoConsumer,
|
||||
ICommandLauncher launcher, IConsole console) {
|
||||
this.buildConfiguration = Objects.requireNonNull(buildConfiguration, "buildConfiguration"); //$NON-NLS-1$
|
||||
this.indexerInfoConsumer = Objects.requireNonNull(indexerInfoConsumer, "indexerInfoConsumer"); //$NON-NLS-1$
|
||||
this.launcher = Objects.requireNonNull(launcher, "launcher"); //$NON-NLS-1$
|
||||
this.console = console;
|
||||
}
|
||||
|
||||
/** Gets the build configuration of the project.
|
||||
*/
|
||||
public CBuildConfiguration getBuildConfiguration() {
|
||||
return buildConfiguration;
|
||||
}
|
||||
|
||||
/** Gets the object that receives the indexer relevant
|
||||
* information for each source file
|
||||
*/
|
||||
public IIndexerInfoConsumer getIndexerInfoConsumer() {
|
||||
return indexerInfoConsumer;
|
||||
}
|
||||
|
||||
/** Gets the launcher to run the compiler for built-ins detection.
|
||||
*/
|
||||
public ICommandLauncher getLauncher() {
|
||||
return launcher;
|
||||
}
|
||||
|
||||
/** Gets the console to print the compiler output during built-ins detection to.
|
||||
*
|
||||
* @return the console or <code>null</code> if no console output is requested.
|
||||
*/
|
||||
public IConsole getConsole() {
|
||||
return console;
|
||||
}
|
||||
}
|
|
@ -51,11 +51,6 @@ import org.osgi.framework.FrameworkUtil;
|
|||
* @author Martin Weber
|
||||
*/
|
||||
public class CompilerBuiltinsDetector {
|
||||
/**
|
||||
* console ID for extension point org.eclipse.cdt.core.CBuildConsole (see
|
||||
* plugin.xml)
|
||||
*/
|
||||
private static final String CONSOLE_ID = Plugin.PLUGIN_ID + ".detectorConsole"; //$NON-NLS-1$
|
||||
/** error marker ID */
|
||||
private static final String MARKER_ID = Plugin.PLUGIN_ID + ".CompilerBuiltinsDetectorMarker"; //$NON-NLS-1$
|
||||
|
||||
|
@ -94,8 +89,7 @@ public class CompilerBuiltinsDetector {
|
|||
* @param launcher the launcher that can run in docker container, if
|
||||
* any
|
||||
* @param console the console to print the compiler output to or
|
||||
* <code>null</code> if a separate console is to be
|
||||
* allocated.
|
||||
* <code>null</code> if no console output is requested.
|
||||
* @throws CoreException
|
||||
*/
|
||||
public IRawIndexerInfo detectBuiltins(IBuildConfiguration buildConfiguration, java.nio.file.Path theBuildDirectory,
|
||||
|
@ -240,16 +234,8 @@ public class CompilerBuiltinsDetector {
|
|||
IParserPreferences prefs = EclipseContextFactory
|
||||
.getServiceContext(FrameworkUtil.getBundle(getClass()).getBundleContext())
|
||||
.get(IParserPreferencesAccess.class).getWorkspacePreferences();
|
||||
if (!prefs.getAllocateConsole()) {
|
||||
return null; // no console to allocate
|
||||
} else {
|
||||
if (console != null && prefs.getAllocateConsole()) {
|
||||
IProject project = buildConfiguration.getProject();
|
||||
if (console == null) {
|
||||
// need to allocate console, but none is given
|
||||
String consoleId = CONSOLE_ID + "." + project.getName(); //$NON-NLS-1$
|
||||
console = CCorePlugin.getDefault().getConsole(CONSOLE_ID, consoleId, null, null);
|
||||
}
|
||||
|
||||
console.start(project);
|
||||
try {
|
||||
final ConsoleOutputStream cis = console.getInfoStream();
|
||||
|
@ -262,8 +248,9 @@ public class CompilerBuiltinsDetector {
|
|||
cis.write("\n".getBytes()); //$NON-NLS-1$
|
||||
} catch (IOException ignore) {
|
||||
}
|
||||
}
|
||||
return console;
|
||||
}
|
||||
return null; // no console to allocate
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
# Martin Weber - initial API and implementation
|
||||
###############################################################################
|
||||
ParserPreferencesAccess_e_get_preferences=Unable to get preferences for node: {0}.{1}
|
||||
ParserPreferencesMetadata_label_console=&Show output of compiler built-in detection in a console in the Console View
|
||||
ParserPreferencesMetadata_label_console=&Show output of compiler built-in detection in the build console
|
||||
ParserPreferencesMetadata_label_suffix=&Suffix pattern:
|
||||
ParserPreferencesMetadata_label_try_suffix=&Also try with version suffix
|
||||
ParserPreferencesMetadata_ttip_suffix=Specify a Java regular expression pattern here
|
||||
|
|
Loading…
Add table
Reference in a new issue