1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-23 17:05:26 +02:00
cdt/releng/CDT.setup
Marc-Andre Laperle 0c577f6e7e Bug 548730 - Compilation database (CDB) language settings provider
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>
2019-10-23 21:47:54 -04:00

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="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?>&#xD;&#xA;&lt;section name=&quot;Workbench&quot;>&#xD;&#xA;&#x9;&lt;section name=&quot;org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart&quot;>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;true&quot; key=&quot;group_libraries&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;false&quot; key=&quot;linkWithEditor&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;2&quot; key=&quot;layout&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;2&quot; key=&quot;rootMode&quot;/>&#xD;&#xA;&#x9;&#x9;&lt;item value=&quot;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;packageExplorer configured=&amp;quot;true&amp;quot; group_libraries=&amp;quot;1&amp;quot; layout=&amp;quot;2&amp;quot; linkWithEditor=&amp;quot;0&amp;quot; rootMode=&amp;quot;2&amp;quot; sortWorkingSets=&amp;quot;false&amp;quot; workingSetName=&amp;quot;&amp;quot;&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;localWorkingSetManager&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;workingSet editPageId=&amp;quot;org.eclipse.jdt.internal.ui.OthersWorkingSet&amp;quot; factoryID=&amp;quot;org.eclipse.ui.internal.WorkingSetFactory&amp;quot; id=&amp;quot;1382792884467_1&amp;quot; label=&amp;quot;Other Projects&amp;quot; name=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;/localWorkingSetManager&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;activeWorkingSet workingSetName=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;allWorkingSets workingSetName=&amp;quot;Other Projects&amp;quot;/&amp;gt;&amp;#x0D;&amp;#x0A;&amp;lt;/packageExplorer&amp;gt;&quot; key=&quot;memento&quot;/>&#xD;&#xA;&#x9;&lt;/section>&#xD;&#xA;&lt;/section>&#xD;&#xA;"
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>