Skip to content

Plugin should use Import-Package instead of Require-Bundle for 3rd-party dependencies #540

@sratz

Description

@sratz

The amazon Q bundle currently depends on several third-partly dependencies using Require-Bundle:

Require-Bundle: org.eclipse.core.runtime;bundle-version="3.31.0",
org.tukaani.xz;bundle-version="1.9.0",
org.eclipse.ui;bundle-version="3.205.100",
org.eclipse.core.resources;bundle-version="3.20.100",
org.eclipse.core.filesystem;bundle-version="1.10.400.v20240426-1040",
org.eclipse.jface.text;bundle-version="3.25.100",
org.eclipse.jdt.ui;bundle-version="3.32.100",
org.eclipse.ui.genericeditor;bundle-version="1.3.400",
org.eclipse.lsp4e;bundle-version="0.16.1",
org.eclipse.lsp4j;bundle-version="0.23.1",
org.eclipse.lsp4j.jsonrpc;bundle-version="0.23.1",
com.google.gson;bundle-version="2.11.0",
org.eclipse.ui.ide;bundle-version="3.22.200",
org.eclipse.ui.workbench.texteditor;bundle-version="3.17.400",
org.eclipse.mylyn.commons.ui;bundle-version="4.2.0",
org.eclipse.jetty.server;bundle-version="12.0.9",
org.eclipse.jetty.util;bundle-version="12.0.9",
org.eclipse.core.net;bundle-version="1.5.400",
org.apache.commons.logging;bundle-version="1.2.0",
slf4j.api;bundle-version="2.0.13",
org.apache.commons.lang3;bundle-version="3.14.0",
org.apache.commons.text;bundle-version="1.10.0",
org.eclipse.core.expressions;bundle-version="3.9.400",
org.eclipse.jgit;bundle-version="6.10.0"

This is fragile, as for 3rd-party components the bundle names are not stable.

For example, between Eclipse 2025-12 and 2026-03, the bundle
org.apache.commons.logging (https://download.eclipse.org/releases/2025-12/202512101000/)
was renamed to
org.apache.commons.commons-logging (https://download.eclipse.org/releases/2026-03/202603111000/plugins/)
making it impossible to install Amazon Q into a fresh Eclipse 2026-03 with only the SimRel update site configured:

Image Image

Such 3rd-party (apache, gson, ...) libraries should be imported by importing the needed Java packages via Import-Package instead of importing the whole bundle via Require-Bundle to decouple from the bundle name.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions