Skip to content

Migrate Tycho from 4.0.13 to 5.0.0 to fix CodeQL autobuild ProvisionException#201

Closed
Copilot wants to merge 3 commits intomainfrom
copilot/migrate-maven-tycho-to-5-0-0
Closed

Migrate Tycho from 4.0.13 to 5.0.0 to fix CodeQL autobuild ProvisionException#201
Copilot wants to merge 3 commits intomainfrom
copilot/migrate-maven-tycho-to-5-0-0

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Nov 23, 2025

CodeQL autobuild downloads tycho-maven-plugin 5.0.0 while pom.xml specifies 4.0.13, causing Guice injection failure: No implementation for TargetPlatformArtifactResolver was bound.

Changes

pom.xml

  • Bump tycho-version from 4.0.13 to 5.0.0
  • All plugins (tycho-maven-plugin, target-platform-configuration, tycho-packaging-plugin, tycho-surefire-plugin) already reference ${tycho-version}

.github/workflows/codeql.yml

  • Replace autobuild with explicit mvn -B -DskipTests clean package
  • Prevents autobuild from downloading mismatched Tycho versions

No functional changes. All test modules already use ${tycho-version} for tycho-surefire-plugin. target-platform-configuration syntax unchanged (Tycho 5 compatible).

Original prompt

Ziel: Vollständige Migration des Maven/Tycho Builds von Version 4.0.13 auf 5.0.0, um den CodeQL Autobuild Fehler (ProvisionException: No implementation for TargetPlatformArtifactResolver was bound) zu beheben, der durch eine gemischte Tycho-Version-Konfiguration entsteht.

Aktueller Zustand:

  • Zentrale pom.xml (main) nutzt 4.0.13 und bindet Plugins: tycho-maven-plugin, target-platform-configuration, tycho-packaging-plugin, tycho-surefire-plugin (in den Test-Modul POMs) implizit über ${tycho-version}.
  • CodeQL Workflow Autobuild lädt tycho-maven-plugin 5.0.0 (Log ref 4bd57c9), wodurch eine gemischte Umgebung entsteht: Tycho 5 Kern + Tycho 4 Nebenkomponenten → Guice Binding Fehler TargetPlatformArtifactResolver.
  • Fehlerauszug: "No implementation for TargetPlatformArtifactResolver was bound while locating TargetPlatformWorkspaceReader".

Geplante Änderungen (nur Build/Migration, kein fachlicher Code):

  1. Zentrale Versionserhöhung:
    • von 4.0.13 auf 5.0.0 anheben.
  2. Plugin-Versionen vereinheitlichen:
    • tycho-maven-plugin, target-platform-configuration, tycho-packaging-plugin in zentraler pom.xml auf ${tycho-version} (bleibt so, nur neuer Wert).
    • Prüfen Test-POMs (z. B. sandbox_encoding_quickfix_test, sandbox_platform_helper_test etc.) ob tycho-surefire-plugin Version mit ${tycho-version} gesetzt ist. Falls Hardcodierung existiert, auf ${tycho-version} ändern.
  3. Tycho 5 spezifische Anpassungen:
    • target-platform-configuration: Validieren, dass , weiterhin syntaktisch unverändert bleiben (Tycho 5 behält diese Struktur). Keine Änderung nötig, sofern keine Deprecated Elemente verwendet werden.
    • Entfernen veralteter Konfigurationsoptionen falls vorhanden (z. B. alte PDE Quirks; im vorhandenen pom aktuell nicht ersichtlich).
  4. CodeQL Workflow Empfehlung (nicht zwingend Teil dieses PR, optionaler Schritt):
    • In .github/workflows/codeql.yml statt autobuild ein manueller Build Step (mvn -B -DskipTests clean package), damit Analyse stabil läuft. (Wenn gewünscht in diesem PR anpassen.)
  5. Konsistenz Check: Nach Versionserhöhung einmal mvn -U clean verify lokal oder CI, um neue Tycho 5 Artefakte zu laden und Injection Fehler auszuschließen.
  6. Dokumentation: Kommentar oberhalb Block: "Upgraded to Tycho 5.0.0 – resolves CodeQL autobuild TargetPlatformArtifactResolver injection error (mixed Tycho versions)."

Nicht Bestandteil:

  • Funktionale Änderungen an Plugins/Features/Bundles.
  • JUnit / Orbit Anpassungen über das hinaus, was bereits erledigt wurde.
  • Änderung Bouncy Castle Version.

Akzeptanzkriterien:

  • CI (regulärer Build) läuft mit Tycho 5 ohne ProvisionException.
  • CodeQL Autobuild (falls weiterhin genutzt) lädt konsistent Tycho 5.0.0 ohne Guice Fehler.
  • Keine Regressionsfehler in Tycho Surefire OSGi Tests (alle bisherigen 161+ Tests laufen weiter grün).
  • target-platform-configuration löst weiterhin alle extraRequirements (keine neuen "could not be found" Meldungen).

Validierung nach Merge:

  • Prüfen erster CI Log auf Tycho Plugin Versionen (5.0.0) und fehlende ProvisionException.
  • Falls neue Fehler: Rückfallplan dokumentieren (Downgrade oder manuelles CodeQL Build).

This pull request was created as a result of the following prompt from Copilot chat.

Ziel: Vollständige Migration des Maven/Tycho Builds von Version 4.0.13 auf 5.0.0, um den CodeQL Autobuild Fehler (ProvisionException: No implementation for TargetPlatformArtifactResolver was bound) zu beheben, der durch eine gemischte Tycho-Version-Konfiguration entsteht.

Aktueller Zustand:

  • Zentrale pom.xml (main) nutzt 4.0.13 und bindet Plugins: tycho-maven-plugin, target-platform-configuration, tycho-packaging-plugin, tycho-surefire-plugin (in den Test-Modul POMs) implizit über ${tycho-version}.
  • CodeQL Workflow Autobuild lädt tycho-maven-plugin 5.0.0 (Log ref 4bd57c9), wodurch eine gemischte Umgebung entsteht: Tycho 5 Kern + Tycho 4 Nebenkomponenten → Guice Binding Fehler TargetPlatformArtifactResolver.
  • Fehlerauszug: "No implementation for TargetPlatformArtifactResolver was bound while locating TargetPlatformWorkspaceReader".

Geplante Änderungen (nur Build/Migration, kein fachlicher Code):

  1. Zentrale Versionserhöhung:
    • von 4.0.13 auf 5.0.0 anheben.
  2. Plugin-Versionen vereinheitlichen:
    • tycho-maven-plugin, target-platform-configuration, tycho-packaging-plugin in zentraler pom.xml auf ${tycho-version} (bleibt so, nur neuer Wert).
    • Prüfen Test-POMs (z. B. sandbox_encoding_quickfix_test, sandbox_platform_helper_test etc.) ob tycho-surefire-plugin Version mit ${tycho-version} gesetzt ist. Falls Hardcodierung existiert, auf ${tycho-version} ändern.
  3. Tycho 5 spezifische Anpassungen:
    • target-platform-configuration: Validieren, dass , weiterhin syntaktisch unverändert bleiben (Tycho 5 behält diese Struktur). Keine Änderung nötig, sofern keine Deprecated Elemente verwendet werden.
    • Entfernen veralteter Konfigurationsoptionen falls vorhanden (z. B. alte PDE Quirks; im vorhandenen pom aktuell nicht ersichtlich).
  4. CodeQL Workflow Empfehlung (nicht zwingend Teil dieses PR, optionaler Schritt):
    • In .github/workflows/codeql.yml statt autobuild ein manueller Build Step (mvn -B -DskipTests clean package), damit Analyse stabil läuft. (Wenn gewünscht in diesem PR anpassen.)
  5. Konsistenz Check: Nach Versionserhöhung einmal mvn -U clean verify lokal oder CI, um neue Tycho 5 Artefakte zu laden und Injection Fehler auszuschließen.
  6. Dokumentation: Kommentar oberhalb Block: "Upgraded to Tycho 5.0.0 – resolves CodeQL autobuild TargetPlatformArtifactResolver injection error (mixed Tycho versions)."

Nicht Bestandteil:

  • Funktionale Änderungen an Plugins/Features/Bundles.
  • JUnit / Orbit Anpassungen über das hinaus, was bereits erledigt wurde.
  • Änderung Bouncy Castle Version.

Akzeptanzkriterien:

  • CI (regulärer Build) läuft mit Tycho 5 ohne ProvisionException.
  • CodeQL Autobuild (falls weiterhin genutzt) lädt konsistent Tycho 5.0.0 ohne Guice Fehler.
  • Keine Regressionsfehler in Tycho Surefire OSGi Tests (alle bisherigen 161+ Tests laufen weiter grün).
  • target-platform-configuration löst weiterhin alle extraRequirements (keine neuen "could not be found" Meldungen).

Validierung nach Merge:

  • Prüfen erster CI Log auf Tycho Plugin Versionen (5.0.0) und fehlende ProvisionException.
  • Falls neue Fehler: Rückfallplan dokumentieren (Downgrade oder manuelles CodeQL Build).

✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits November 23, 2025 09:38
Co-authored-by: carstenartur <3164220+carstenartur@users.noreply.github.com>
Co-authored-by: carstenartur <3164220+carstenartur@users.noreply.github.com>
Copilot AI changed the title [WIP] Migrate Maven/Tycho build from version 4.0.13 to 5.0.0 Migrate Tycho from 4.0.13 to 5.0.0 to fix CodeQL autobuild ProvisionException Nov 23, 2025
Copilot AI requested a review from carstenartur November 23, 2025 09:46
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.

2 participants