mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-07-23 17:05:26 +02:00

This language settings provider lets you specify the path to the compile_commands.json and reuses existing build output parsers to figure out all the language entries for each file to be used while indexing. With this, there is no need to do a full build and in fact no need to have a working build configured in CDT for indexing to work and be fully configured. This is especially useful for non-CMake build systems that have no existing integration in CDT but indexing would still works with little effort. The build output parser (GCC, MSVC, etc) is selectable as part of the configuration of the CDB provider. There is also an option to exclude any file that is not present in the CDB. This option is useful for large projects in order to speed up indexing but also to increase index accuracy (conflicting symbol names, etc). Change-Id: If21455ec529f9e162cdf3e5aff7a1bca83e362f6 Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
244 lines
12 KiB
XML
244 lines
12 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<setup:Project
|
|
xmi:version="2.0"
|
|
xmlns:xmi="http://www.omg.org/XMI"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xmlns:git="http://www.eclipse.org/oomph/setup/git/1.0"
|
|
xmlns:jdt="http://www.eclipse.org/oomph/setup/jdt/1.0"
|
|
xmlns:pde="http://www.eclipse.org/oomph/setup/pde/1.0"
|
|
xmlns:predicates="http://www.eclipse.org/oomph/predicates/1.0"
|
|
xmlns:projects="http://www.eclipse.org/oomph/setup/projects/1.0"
|
|
xmlns:setup="http://www.eclipse.org/oomph/setup/1.0"
|
|
xmlns:setup.p2="http://www.eclipse.org/oomph/setup/p2/1.0"
|
|
xmlns:setup.targlets="http://www.eclipse.org/oomph/setup/targlets/1.0"
|
|
xmlns:setup.workingsets="http://www.eclipse.org/oomph/setup/workingsets/1.0"
|
|
xsi:schemaLocation="http://www.eclipse.org/oomph/setup/git/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Git.ecore http://www.eclipse.org/oomph/setup/jdt/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/JDT.ecore http://www.eclipse.org/oomph/setup/pde/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/PDE.ecore http://www.eclipse.org/oomph/predicates/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Predicates.ecore http://www.eclipse.org/oomph/setup/projects/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/Projects.ecore http://www.eclipse.org/oomph/setup/targlets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/SetupTarglets.ecore http://www.eclipse.org/oomph/setup/workingsets/1.0 http://git.eclipse.org/c/oomph/org.eclipse.oomph.git/plain/setups/models/SetupWorkingSets.ecore"
|
|
name="cdt"
|
|
label="CDT">
|
|
<setupTask
|
|
xsi:type="setup.p2:P2Task">
|
|
<requirement
|
|
name="org.eclipse.pde.api.tools.ee.feature.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.swtbot.ide.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.swtbot.generator.feature.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.platform.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.rcp.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.jdt.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.pde.feature.group"/>
|
|
<repository
|
|
url="http://download.eclipse.org/technology/swtbot/releases/latest"/>
|
|
<description>Install the tools needed in the IDE to work with the source code for ${scope.project.label}</description>
|
|
</setupTask>
|
|
<setupTask
|
|
xsi:type="setup:EclipseIniTask"
|
|
option="-Xmx"
|
|
value="1g"
|
|
vm="true">
|
|
<description>Set the heap space needed to work with the projects of ${scope.project.label}</description>
|
|
</setupTask>
|
|
<setupTask
|
|
xsi:type="setup:ResourceCreationTask"
|
|
excludedTriggers="STARTUP MANUAL"
|
|
content="<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
	<section name="org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart">
		<item value="true" key="group_libraries"/>
		<item value="false" key="linkWithEditor"/>
		<item value="2" key="layout"/>
		<item value="2" key="rootMode"/>
		<item value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#x0D;&#x0A;&lt;packageExplorer configured=&quot;true&quot; group_libraries=&quot;1&quot; layout=&quot;2&quot; linkWithEditor=&quot;0&quot; rootMode=&quot;2&quot; sortWorkingSets=&quot;false&quot; workingSetName=&quot;&quot;&gt;&#x0D;&#x0A;&lt;localWorkingSetManager&gt;&#x0D;&#x0A;&lt;workingSet editPageId=&quot;org.eclipse.jdt.internal.ui.OthersWorkingSet&quot; factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1382792884467_1&quot; label=&quot;Other Projects&quot; name=&quot;Other Projects&quot;/&gt;&#x0D;&#x0A;&lt;/localWorkingSetManager&gt;&#x0D;&#x0A;&lt;activeWorkingSet workingSetName=&quot;Other Projects&quot;/&gt;&#x0D;&#x0A;&lt;allWorkingSets workingSetName=&quot;Other Projects&quot;/&gt;&#x0D;&#x0A;&lt;/packageExplorer&gt;" key="memento"/>
	</section>
</section>
"
|
|
targetURL="${workspace.location|uri}/.metadata/.plugins/org.eclipse.jdt.ui/dialog_settings.xml"
|
|
encoding="UTF-8">
|
|
<description>Initialize JDT's package explorer to show working sets as its root objects</description>
|
|
</setupTask>
|
|
<setupTask
|
|
xsi:type="jdt:JRETask"
|
|
version="JavaSE-1.8"
|
|
location="${jre.location-1.8}">
|
|
<description>Define the JRE needed to compile and run the Java projects of ${scope.project.label}</description>
|
|
</setupTask>
|
|
<setupTask
|
|
xsi:type="setup:VariableTask"
|
|
name="eclipse.target.platform"
|
|
defaultValue="Photon"
|
|
storageURI="scope://Workspace"/>
|
|
<stream name="master">
|
|
<setupTask
|
|
xsi:type="pde:APIBaselineTask"
|
|
id="baseline"
|
|
name="CDT"
|
|
version="9.7"
|
|
location="${workspace.location/../api.baseline}"
|
|
remoteURI="https://download.eclipse.org/tools/cdt/builds/9.7/cdt-9.7.0-simrel-2019-03-rc2a/cdt-9.7.0-simrel-2019-03-rc2a.zip"/>
|
|
<setupTask
|
|
xsi:type="git:GitCloneTask"
|
|
id="git.clone.cdt"
|
|
remoteURI="cdt/org.eclipse.cdt"
|
|
checkoutBranch="master">
|
|
<annotation
|
|
source="http://www.eclipse.org/oomph/setup/InducedChoices">
|
|
<detail
|
|
key="inherit">
|
|
<value>eclipse.git.gerrit.remoteURIs</value>
|
|
</detail>
|
|
<detail
|
|
key="label">
|
|
<value>${scope.project.label} Git or Gerrit Repository</value>
|
|
</detail>
|
|
<detail
|
|
key="target">
|
|
<value>remoteURI</value>
|
|
</detail>
|
|
</annotation>
|
|
<description>CDT</description>
|
|
</setupTask>
|
|
<setupTask
|
|
xsi:type="setup.targlets:TargletTask"
|
|
programArguments="-consolelog"
|
|
vmArguments="-Xms40m -Xmx512M -ea">
|
|
<targlet
|
|
name="CDT"
|
|
activeRepositoryList="${eclipse.target.platform}">
|
|
<requirement
|
|
name="org.eclipse.platform.feature.group"/>
|
|
<requirement
|
|
name="com.sun.xml.bind"/>
|
|
<requirement
|
|
name="javax.activation"/>
|
|
<requirement
|
|
name="javax.xml.bind"/>
|
|
<requirement
|
|
name="javax.xml.stream"/>
|
|
<requirement
|
|
name="org.apache.log4j"/>
|
|
<requirement
|
|
name="org.apache.log4j.source"/>
|
|
<requirement
|
|
name="org.apache.commons.compress"/>
|
|
<requirement
|
|
name="org.assertj"/>
|
|
<requirement
|
|
name="net.sourceforge.lpg.lpgjavaruntime"/>
|
|
<requirement
|
|
name="org.junit"/>
|
|
<requirement
|
|
name="org.junit.source"/>
|
|
<requirement
|
|
name="org.junit.jupiter.api"/>
|
|
<requirement
|
|
name="org.junit.jupiter.api.source"/>
|
|
<requirement
|
|
name="org.mockito"/>
|
|
<requirement
|
|
name="org.hamcrest"/>
|
|
<requirement
|
|
name="org.hamcrest.core"/>
|
|
<requirement
|
|
name="org.eclipse.swtbot.eclipse.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.swtbot.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.swtbot.eclipse.test.junit.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.rse.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.test.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.remote.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.license.feature.group"/>
|
|
<requirement
|
|
name="com.google.gson"/>
|
|
<requirement
|
|
name="org.eclipse.remote.serial.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.remote.console.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.tm.terminal.connector.cdtserial.feature.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.tm.terminal.control"/>
|
|
<requirement
|
|
name="org.eclipse.tm.terminal.feature.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.launchbar.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.launchbar.remote.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.linuxtools.docker.feature.feature.group"/>
|
|
<requirement
|
|
name="org.freemarker"/>
|
|
<requirement
|
|
name="org.bouncycastle.bcpkix"/>
|
|
<requirement
|
|
name="org.bouncycastle.bcprov"/>
|
|
<requirement
|
|
name="org.antlr.runtime"/>
|
|
<requirement
|
|
name="org.eclipse.tools.templates.freemarker"/>
|
|
<requirement
|
|
name="org.eclipse.tools.templates.ui"/>
|
|
<requirement
|
|
name="org.eclipse.ui.trace"/>
|
|
<requirement
|
|
name="tm-feature.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.lsp4e"/>
|
|
<requirement
|
|
name="org.eclipse.epp.logging.aeri.feature.feature.group"/>
|
|
<sourceLocator
|
|
rootFolder="${git.clone.cdt.location}"
|
|
locateNestedProjects="true"/>
|
|
<repositoryList
|
|
name="Photon">
|
|
<repository
|
|
url="https://download.eclipse.org/tools/orbit/downloads/drops/R20190827152740/repository/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/technology/swtbot/releases/2.7.0/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/tools/ptp/builds/remote/3.0.1/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/releases/2019-09/"/>
|
|
<repository
|
|
url="http://download.eclipse.org/cbi/updates/license"/>
|
|
<repository
|
|
url="https://download.eclipse.org/eclipse/updates/4.13/R-4.13-201909161045/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/tools/cdt/launchbar/2.4/launchbar-2.4.0-simrel-2019-09-m1/"/>
|
|
<repository
|
|
url="http://download.eclipse.org/linuxtools/updates-docker-nightly-4.4/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/webtools/downloads/drops/R3.15.0/R-3.15.0-20190830034720/repository/"/>
|
|
<repository
|
|
url="http://download.eclipse.org/technology/epp/logging/stable/"/>
|
|
<repository
|
|
url="http://download.eclipse.org/tm/terminal/updates/4.4milestones/"/>
|
|
<repository
|
|
url="http://download.eclipse.org/tools/cdt/tools.templates/1.1/tools.template-1.1.1-simrel-2018-12a/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/tm4e/releases/0.3.4/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/lsp4e/releases/0.11.0/"/>
|
|
</repositoryList>
|
|
</targlet>
|
|
</setupTask>
|
|
<setupTask
|
|
xsi:type="projects:ProjectsImportTask">
|
|
<sourceLocator
|
|
rootFolder="${git.clone.cdt.location}"
|
|
locateNestedProjects="true"/>
|
|
</setupTask>
|
|
<setupTask
|
|
xsi:type="setup.workingsets:WorkingSetTask">
|
|
<workingSet
|
|
name="CDT">
|
|
<predicate
|
|
xsi:type="predicates:RepositoryPredicate"
|
|
project="org.eclipse.cdt-feature"/>
|
|
</workingSet>
|
|
<description>The dynamic working sets for ${scope.project.label}</description>
|
|
</setupTask>
|
|
</stream>
|
|
<logicalProjectContainer
|
|
xsi:type="setup:ProjectCatalog"
|
|
href="index:/org.eclipse.setup#//@projectCatalogs[name='org.eclipse']"/>
|
|
<description>C/C++ Development Tools</description>
|
|
</setup:Project>
|