Skip to content

releng: build with tracecompass-e4.40 target by default#394

Draft
arfio wants to merge 2 commits intoeclipse-tracecompass:masterfrom
arfio:releng-build
Draft

releng: build with tracecompass-e4.40 target by default#394
arfio wants to merge 2 commits intoeclipse-tracecompass:masterfrom
arfio:releng-build

Conversation

@arfio
Copy link
Copy Markdown
Contributor

@arfio arfio commented Apr 10, 2026

What it does

releng: Build with tracecompass-e4.40 target by default

How to test

Build with default target

Follow-ups

N/A

Review checklist

  • As an author, I have thoroughly tested my changes and carefully followed the instructions in this template

Summary by CodeRabbit

  • Chores
    • Updated the build environment to use Eclipse target platform version 4.40, replacing the previous 4.39 platform.
    • Updated development dependencies including CDT, Orbit, WebTools, and EMF components to newer versions for improved compatibility and performance.
    • Configured JavaSE 21 as the target JRE for the new platform.

arfio added 2 commits April 10, 2026 15:33
Signed-off-by: Arnaud Fiorini <fiorini.arnaud@gmail.com>
Signed-off-by: Arnaud Fiorini <fiorini.arnaud@gmail.com>
@coderabbitai
Copy link
Copy Markdown

coderabbitai bot commented Apr 10, 2026

📝 Walkthrough

Walkthrough

The pull request updates the Eclipse Trace Compass build environment by advancing the target platform from version e4.39 to e4.40. This includes updating the root pom.xml configuration, creating a new e4.40 target definition file, and refreshing the staging target with newer component versions including Eclipse CDT, Orbit, platform, WebTools, and EMF dependencies.

Changes

Cohort / File(s) Summary
Build Configuration
pom.xml
Updated target-platform property from tracecompass-e4.39 to tracecompass-e4.40
Target Platform Definitions
releng/org.eclipse.tracecompass.target/tracecompass-e4.39.target, tracecompass-e4.40.target, tracecompass-eStaging.target
Created new e4.40 target definition with Eclipse 4.40 platform, repositories, JRE 21, and launcher configuration; adjusted e4.39 sequenceNumber to 2; updated eStaging sequenceNumber to 266 and refreshed CDT 12.5.0-m1, Orbit S202604101740, Eclipse 4.40-I-builds, WebTools R3.42.0, and EMF component versions

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~15 minutes

Possibly related PRs

  • PR #391: Modifies target platform configuration (pom.xml and releng target definitions) to advance Eclipse Trace Compass target version
  • PR #388: Updates Maven/Tycho target-platform property and releng target definitions for version advancement
  • PR #353: Modifies releng target definitions including sequenceNumber and repository entries in tracecompass-eStaging.target

Suggested reviewers

  • MatthewKhouzam
  • bhufmann
  • jonahgraham

Poem

🐰 From e4.39 we skip and hop,
To e4.40, never stop!
New Eclipse builds, CDT bounds align,
Staging targets now redesign,
Fresh platform magic—build's divine! ✨

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title directly and clearly describes the main change: updating the default build target from tracecompass-e4.39 to tracecompass-e4.40, which is confirmed by the pom.xml property change and the PR objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@arfio arfio marked this pull request as draft April 10, 2026 19:39
Copy link
Copy Markdown

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (2)
releng/org.eclipse.tracecompass.target/tracecompass-e4.39.target (1)

1-1: Consider avoiding unrelated churn in the legacy target file.

Line 1 only updates metadata on tracecompass-e4.39; since this PR’s functional move is to tracecompass-e4.40, keeping e4.39 unchanged would make history/bisect cleaner.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@releng/org.eclipse.tracecompass.target/tracecompass-e4.39.target` at line 1,
Revert the unnecessary metadata change to the legacy target element so the
tracecompass-e4.39 target remains exactly as before: locate the XML
header/processing instruction and the target element with
name="tracecompass-e4.39" and restore the original content (undo the single-line
modification), leaving only the new tracecompass-e4.40 changes in this PR to
avoid unrelated churn in the e4.39 target file.
releng/org.eclipse.tracecompass.target/tracecompass-e4.40.target (1)

13-13: Implement a p2 repository health check probe for monitoring endpoint availability.

A periodic validation script would proactively catch repository endpoint failures or metadata regressions before they break builds. The provided probe checks all 12 repositories in this target file for standard p2 metadata files (content.xml/jar, compositeContent.xml/jar).

Probe script
#!/usr/bin/env python3
import xml.etree.ElementTree as ET
import urllib.request
from pathlib import Path

files = [
    Path("releng/org.eclipse.tracecompass.target/tracecompass-e4.40.target"),
    Path("releng/org.eclipse.tracecompass.target/tracecompass-eStaging.target"),
]
candidates = ("compositeContent.jar", "compositeContent.xml", "content.jar", "content.xml")

for f in files:
    print(f"\n== Checking {f} ==")
    tree = ET.parse(f)
    for repo in tree.findall(".//repository"):
        base = repo.attrib["location"].rstrip("/") + "/"
        ok = False
        for c in candidates:
            url = base + c
            try:
                with urllib.request.urlopen(url, timeout=10) as r:
                    if 200 <= r.status < 400:
                        print(f"OK   {url} [{r.status}]")
                        ok = True
                        break
            except Exception:
                pass
        if not ok:
            print(f"FAIL {base} (no p2 metadata probe succeeded)")

Also applies to lines: 65, 92, 102, 108 (other repository references in the target files).

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@releng/org.eclipse.tracecompass.target/tracecompass-e4.40.target` at line 13,
Add a p2 repository health-check probe that parses the target XML(s) (e.g.,
tracecompass-e4.40.target and tracecompass-eStaging.target), iterates over each
<repository location="..."> entry, and attempts HTTP GETs against the standard
p2 metadata candidates ("compositeContent.jar", "compositeContent.xml",
"content.jar", "content.xml") for each repository base URL; report success when
any candidate returns a 2xx/3xx status and report failure when none succeed
(apply the check for repository entries referenced at the other locations noted
in the comment such as the repository tags around the other lines). Ensure the
probe has a short timeout, handles exceptions (network/DNS/HTTP errors)
gracefully, and prints clear OK/FAIL output per repository as in the provided
script.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@pom.xml`:
- Line 60: The pom change sets <target-platform> to the nonexistent classifier
tracecompass-e4.40; fix by either adding a matching target definition for
tracecompass-e4.40 in the target module or revert the <target-platform> value
back to one of the existing classifiers (tracecompass-e4.20, -e4.21, -e4.22,
-e4.23, -e4.24, -e4.25, or -eStaging) so Tycho can resolve the target; update
the <target-platform> element accordingly and ensure the target-module’s
definitions include the chosen classifier name.

---

Nitpick comments:
In `@releng/org.eclipse.tracecompass.target/tracecompass-e4.39.target`:
- Line 1: Revert the unnecessary metadata change to the legacy target element so
the tracecompass-e4.39 target remains exactly as before: locate the XML
header/processing instruction and the target element with
name="tracecompass-e4.39" and restore the original content (undo the single-line
modification), leaving only the new tracecompass-e4.40 changes in this PR to
avoid unrelated churn in the e4.39 target file.

In `@releng/org.eclipse.tracecompass.target/tracecompass-e4.40.target`:
- Line 13: Add a p2 repository health-check probe that parses the target XML(s)
(e.g., tracecompass-e4.40.target and tracecompass-eStaging.target), iterates
over each <repository location="..."> entry, and attempts HTTP GETs against the
standard p2 metadata candidates ("compositeContent.jar", "compositeContent.xml",
"content.jar", "content.xml") for each repository base URL; report success when
any candidate returns a 2xx/3xx status and report failure when none succeed
(apply the check for repository entries referenced at the other locations noted
in the comment such as the repository tags around the other lines). Ensure the
probe has a short timeout, handles exceptions (network/DNS/HTTP errors)
gracefully, and prints clear OK/FAIL output per repository as in the provided
script.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 61388da4-6df3-4bfb-8432-27e8266c8ef8

📥 Commits

Reviewing files that changed from the base of the PR and between fa08339 and 697b64f.

📒 Files selected for processing (4)
  • pom.xml
  • releng/org.eclipse.tracecompass.target/tracecompass-e4.39.target
  • releng/org.eclipse.tracecompass.target/tracecompass-e4.40.target
  • releng/org.eclipse.tracecompass.target/tracecompass-eStaging.target

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant