From 5481522e1fe36a11966bde563374e215fa3505b7 Mon Sep 17 00:00:00 2001 From: Ed Merks Date: Thu, 11 Aug 2022 18:07:53 +0200 Subject: [PATCH] Bug 580505 - Fix and improve CDT.setup (#34) 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 --- releng/CDT.setup | 369 ++++++++++++++++++++++++----------------------- 1 file changed, 185 insertions(+), 184 deletions(-) diff --git a/releng/CDT.setup b/releng/CDT.setup index 4213c85489c..f1c8a142f72 100644 --- a/releng/CDT.setup +++ b/releng/CDT.setup @@ -7,18 +7,15 @@ 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" + 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"> - - - - An API baseline based on the target platform named 'Modular API Baseline Target' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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. - - - - - - - - - - - - - eclipse.git.gerrit.remoteURIs - - - ${scope.project.label} Git or Gerrit Repository - - - remoteURI - - - CDT - - + + An API baseline based on the target platform named 'Modular API Baseline Target' + + + + + github.remoteURIs + + + CDT Github Repository + + + remoteURI + + + CDT + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + 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. + + + + + + + + + + + + + + The dynamic working sets for ${scope.project.label} + + - - - - The dynamic working sets for ${scope.project.label} + 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"> + Set an Oomph redirection system property to redirect the logical location of this setup to its physical location in the Git clone.