mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-08-04 06:45:43 +02:00

Don't install org.eclipse.pde.api.tools.ee.feature.feature.group because it's no longer in the latest update site, and that causes problems like this one as noticed by a user: https://www.eclipse.org/forums/index.php?t=msg&th=1111320&goto=1854139&#msg_1854139 Move all the tasks up to the project level. Include a * requirement on the CDT targlet so that all projects are imported by the targlet task with no need for a separate import task. Probably many of the explicitly listed requirements are no longer needed because all requirements of all projects in the clone are resolved now automatically. Also ensure that all platforms are resolved so that all of CDT fragments are imported. Move the Git clone task before the modular targlet task so that the clone is available during the first resolution. Add an EclipseIni task so that the CDT.setup is redirected into the local clone's version such that you can modify that setup and test it locally via Help -> Perform Setup tasks (and so that Navigate -> Open Setup -> CDT opens the editable workspace version). https://bugs.eclipse.org/bugs/show_bug.cgi?id=580505
393 lines
17 KiB
XML
393 lines
17 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: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/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.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"/>
|
|
<requirement
|
|
name="org.sonatype.tycho.m2e.feature.feature.group"/>
|
|
<repository
|
|
url="http://download.eclipse.org/technology/swtbot/releases/latest"/>
|
|
<repository
|
|
url="https://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-tycho/0.9.0/N/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"
|
|
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>
|
|
<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>
|
|
|
|
</content>
|
|
</setupTask>
|
|
<setupTask
|
|
xsi:type="jdt:JRETask"
|
|
version="JavaSE-11"
|
|
location="${jre.location-11}">
|
|
<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="${eclipse.target.platform.latest}"
|
|
storageURI="scope://Workspace"/>
|
|
<setupTask
|
|
xsi:type="setup.targlets:TargletTask"
|
|
id="api.baseline.targlet"
|
|
targetName="Modular API Baseline Target"
|
|
activateTarget="false">
|
|
<targlet
|
|
name="${scope.project.label}"
|
|
activeRepositoryList="CDT Latest Released">
|
|
<requirement
|
|
name="org.eclipse.cdt.autotools.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.build.crossgcc.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.cmake.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.core.autotools.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.debug.dap.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.debug.dap.gdbjtag.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.debug.gdbjtag.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.debug.standalone.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.debug.ui.memory.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.docker.launcher.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.gdb.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.gnu.build.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.gnu.debug.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.gnu.dsf.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.gnu.multicorevisualizer.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.examples.dsf.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.launch.remote.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.launch.serial.feature.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.llvm.dsf.lldb.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.managedbuilder.llvm.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.meson.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.msw.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.native.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.platform.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.qt.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.sdk.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.testsrunner.feature.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.cdt.visualizer.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.launchbar.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.launchbar.remote.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.tm.terminal.connector.cdtserial.feature.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.tm.terminal.connector.local.feature.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.tm.terminal.connector.remote.feature.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.tm.terminal.connector.ssh.feature.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.tm.terminal.connector.telnet.feature.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.tm.terminal.control.feature.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.tm.terminal.feature.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.tm.terminal.view.feature.feature.group"/>
|
|
<repositoryList
|
|
name="CDT Latest Released">
|
|
<repository
|
|
url="https://download.eclipse.org/eclipse/updates/4.23/R-4.23-202203080310"/>
|
|
<repository
|
|
url="https://download.eclipse.org/egit/updates-6.1/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/linuxtools/update-docker-5.6.0/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/lsp4e/releases/0.20.2/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/modeling/emf/emf/builds/release/2.28/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/mylyn/docs/releases/3.0.42/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/mylyn/drops/3.25.2/v20200831-1956"/>
|
|
<repository
|
|
url="https://download.eclipse.org/tm4e/releases/0.4.3/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/tools/cdt/releases/10.6/cdt-10.6.0/">
|
|
<annotation>
|
|
<detail
|
|
key="description">
|
|
<value>
|
|
OMG! We have circular dependency that involves 'java.package; org.eclipse.cdt.utils.pty 0.0.0'
|
|
but it gets resolved here as we have CDT repo below.
|
|
</value>
|
|
</detail>
|
|
</annotation>
|
|
</repository>
|
|
<repository
|
|
url="https://download.eclipse.org/tools/orbit/downloads/drops/R20220302172233/repository/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/tools/ptp/builds/remote/3.0/2021-09/"/>
|
|
</repositoryList>
|
|
</targlet>
|
|
</setupTask>
|
|
<setupTask
|
|
xsi:type="pde:APIBaselineFromTargetTask"
|
|
predecessor="api.baseline.targlet"
|
|
name="Modular API Baseline"
|
|
targetName="Modular API Baseline Target"
|
|
version="0.0.0">
|
|
<description>An API baseline based on the target platform named 'Modular API Baseline Target'</description>
|
|
</setupTask>
|
|
<setupTask
|
|
xsi:type="git:GitCloneTask"
|
|
id="github.clone.cdt"
|
|
remoteURI="eclipse-cdt/cdt"
|
|
checkoutBranch="main">
|
|
<annotation
|
|
source="http://www.eclipse.org/oomph/setup/InducedChoices">
|
|
<detail
|
|
key="inherit">
|
|
<value>github.remoteURIs</value>
|
|
</detail>
|
|
<detail
|
|
key="label">
|
|
<value>CDT Github 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"
|
|
includeAllPlatforms="true">
|
|
<requirement
|
|
name="org.eclipse.license.feature.group"/>
|
|
<requirement
|
|
name="com.google.gson"/>
|
|
<requirement
|
|
name="com.sun.jna"
|
|
versionRange="5.8.0"/>
|
|
<requirement
|
|
name="com.sun.jna.platform"
|
|
versionRange="5.8.0"/>
|
|
<requirement
|
|
name="com.sun.xml.bind"
|
|
versionRange="2.3.3"/>
|
|
<requirement
|
|
name="jakarta.xml.bind"
|
|
versionRange="2.3.3"/>
|
|
<requirement
|
|
name="javax.activation"
|
|
versionRange="1.2.2"/>
|
|
<requirement
|
|
name="javax.xml.stream"/>
|
|
<requirement
|
|
name="net.sourceforge.lpg.lpgjavaruntime"/>
|
|
<requirement
|
|
name="org.antlr.runtime"/>
|
|
<requirement
|
|
name="org.apache.commons.compress"/>
|
|
<requirement
|
|
name="org.apache.log4j"/>
|
|
<requirement
|
|
name="org.assertj"/>
|
|
<requirement
|
|
name="org.eclipse.egit.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.equinox.executable.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.jdt.annotation"/>
|
|
<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.eclipse.lsp4e"/>
|
|
<requirement
|
|
name="org.eclipse.lsp4e.debug"/>
|
|
<requirement
|
|
name="org.eclipse.remote.console.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.remote.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.remote.serial.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.sdk.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.swtbot.eclipse.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.swtbot.eclipse.test.junit.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.swtbot.feature.group"/>
|
|
<requirement
|
|
name="org.eclipse.test.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.tm4e.feature.feature.group"/>
|
|
<requirement
|
|
name="org.freemarker"/>
|
|
<requirement
|
|
name="org.hamcrest"/>
|
|
<requirement
|
|
name="org.hamcrest.core"/>
|
|
<requirement
|
|
name="org.junit"/>
|
|
<requirement
|
|
name="org.junit.jupiter.api"/>
|
|
<requirement
|
|
name="org.mockito"/>
|
|
<requirement
|
|
name="org.slf4j.impl.log4j12"/>
|
|
<requirement
|
|
name="org.yaml.snakeyaml"/>
|
|
<requirement
|
|
name="org.eclipse.unittest.ui"/>
|
|
<requirement
|
|
name="*"/>
|
|
<sourceLocator
|
|
rootFolder="${github.clone.cdt.location}"
|
|
locateNestedProjects="true"/>
|
|
<repositoryList>
|
|
<repository
|
|
url="https://download.eclipse.org/cbi/updates/license/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/eclipse/updates/4.22/R-4.22-202111241800/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/egit/updates/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/linuxtools/updates-docker-nightly/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/lsp4e/releases/0.20.2/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/modeling/emf/emf/builds/release/latest/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/mylyn/docs/releases/3.0.42/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/mylyn/drops/3.25.2/v20200831-1956"/>
|
|
<repository
|
|
url="https://download.eclipse.org/technology/swtbot/releases/3.1.0/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/tm4e/releases/0.4.3/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/tools/cdt/releases/10.6/cdt-10.6.0/">
|
|
<annotation>
|
|
<detail
|
|
key="description">
|
|
<value>We explicitly have CDT in target platform so that developers can develop org.eclipse.cdt.core/ui without requiring all the projects from CDT in their workspace.</value>
|
|
</detail>
|
|
</annotation>
|
|
</repository>
|
|
<repository
|
|
url="https://download.eclipse.org/tools/orbit/downloads/drops/R20220302172233/repository/"/>
|
|
<repository
|
|
url="https://download.eclipse.org/tools/ptp/builds/remote/3.0/2021-09"/>
|
|
<repository
|
|
url="https://download.eclipse.org/wildwebdeveloper/snapshots/"/>
|
|
</repositoryList>
|
|
</targlet>
|
|
</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 name="main">
|
|
<setupTask
|
|
xsi:type="setup:EclipseIniTask"
|
|
option="-Doomph.redirection.cdt"
|
|
value="=https://raw.githubusercontent.com/eclipse-cdt/cdt/main/releng/CDT.setup->${github.clone.cdt.location|uri}/releng/CDT.setup"
|
|
vm="true">
|
|
<description>Set an Oomph redirection system property to redirect the logical location of this setup to its physical location in the Git clone.</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>
|