GithubHelp home page GithubHelp logo

Improve CDT's setup about cdt HOT 3 CLOSED

eclipse-cdt avatar eclipse-cdt commented on July 24, 2024
Improve CDT's setup

from cdt.

Comments (3)

merks avatar merks commented on July 24, 2024

@jonahgraham @ruspl-afed

The API baseline in the setup still looks over complicated to me. But looking at /org.eclipse.cdt.target/cdt-baseline.target I think that too is overly complicated and that it is not up-to-date. It uses this p2 site:

image

But the latest release is

image

So why not use this URL?

https://download.eclipse.org/tools/cdt/releases/latest/

I've not used API baseline tools in any of my projects so forgive if this is a stupid question, but what is the purpose of the other locations? Probably because planner mode is used but in the end, only the plugins and features present in the git repository need to be in the API base for comparison, right? So one could just have the single location of the most recent release and use slicer mode I think. Or am I misguided?

I believe the API baseline target could be reduced to this:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?pde version="3.8"?>
<target name="Generated from CDT" sequenceNumber="36">
  <locations>
    <location includeAllPlatforms="true" includeConfigurePhase="true" includeMode="slicer" includeSource="false" type="InstallableUnit">
      <unit id="org.eclipse.cdt.autotools.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.build.crossgcc.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.cmake.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.core.autotools.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.debug.dap.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.debug.dap.gdbjtag.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.debug.gdbjtag.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.debug.standalone.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.debug.ui.memory.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.docker.launcher.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.examples.dsf.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.gnu.multicorevisualizer.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.jsoncdb.arm" version="0.0.0"/>
      <unit id="org.eclipse.cdt.jsoncdb.hpenonstop" version="0.0.0"/>
      <unit id="org.eclipse.cdt.jsoncdb.intel" version="0.0.0"/>
      <unit id="org.eclipse.cdt.jsoncdb.microsoft" version="0.0.0"/>
      <unit id="org.eclipse.cdt.jsoncdb.nvidia" version="0.0.0"/>
      <unit id="org.eclipse.cdt.launch.remote.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.launch.serial.feature.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.llvm.dsf.lldb.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.lsp.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.managedbuilder.llvm.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.meson.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.msw.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.qt.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.sdk.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.testsrunner.feature.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.unittest.feature.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.cdt.util" version="0.0.0"/>
      <unit id="org.eclipse.cdt.visualizer.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.launchbar.remote.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.remote.console.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.remote.proxy.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.remote.serial.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.remote.telnet.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.tm.terminal.connector.cdtserial.feature.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.tm.terminal.connector.remote.feature.feature.group" version="0.0.0"/>
      <unit id="org.eclipse.tm.terminal.feature.feature.group" version="0.0.0"/>
      <repository location="https://download.eclipse.org/tools/cdt/releases/latest"/>
    </location>
  </locations>
</target>

This would always follow the latest release properly and the set of IUs would need to be updated only if you added a plugin or feature but do not also include it in any existing feature but rather add it directly to the category.xml. In other words, the above list is minimized to eliminate IUs that are included but other IUs in the list, so the above are the root IUs of the inclusion tree.

Based on this, I can minimize the targlet for the API baseline to match...

from cdt.

jonahgraham avatar jonahgraham commented on July 24, 2024

I haven’t tried planner vs slicer in the past to see if that solves the dependencies. But CDT has very many dependencies, so it doesn’t surprise me we have these projects listed

As for 10.6 vs 10.7 as baseline. The main branch has not actually been setup for post 10.7 dev yet. I need to find time to run through that checklist. IE what is needed is eclipse-cdt/cdt-infra#59 done for next version.

from cdt.

jonahgraham avatar jonahgraham commented on July 24, 2024

Thanks Ed for all the improvements. If there is more ideas please let us know.

from cdt.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.