releng: build with tracecompass-e4.40 target by default#394
releng: build with tracecompass-e4.40 target by default#394arfio wants to merge 2 commits intoeclipse-tracecompass:masterfrom
Conversation
Signed-off-by: Arnaud Fiorini <fiorini.arnaud@gmail.com>
Signed-off-by: Arnaud Fiorini <fiorini.arnaud@gmail.com>
📝 WalkthroughWalkthroughThe 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
Estimated code review effort🎯 2 (Simple) | ⏱️ ~15 minutes Possibly related PRs
Suggested reviewers
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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. Comment |
There was a problem hiding this comment.
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 1only updates metadata ontracecompass-e4.39; since this PR’s functional move is totracecompass-e4.40, keepinge4.39unchanged 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
📒 Files selected for processing (4)
pom.xmlreleng/org.eclipse.tracecompass.target/tracecompass-e4.39.targetreleng/org.eclipse.tracecompass.target/tracecompass-e4.40.targetreleng/org.eclipse.tracecompass.target/tracecompass-eStaging.target
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
Summary by CodeRabbit