open-telemetry / opentelemetry-java-instrumentation

OpenTelemetry auto-instrumentation and instrumentation libraries for Java
https://opentelemetry.io
Apache License 2.0
1.95k stars 855 forks source link

Add OSGi manifest headers to JARs #12099

Open bdhoine opened 2 months ago

bdhoine commented 2 months ago

Is your feature request related to a problem? Please describe.

The current build of the opentelemetry-java-instrumentation project lacks the necessary OSGi manifest headers in its generated JAR files. This omission prevents the JARs from being used directly as OSGi bundles. To ensure compatibility and ease of integration with OSGi environments, it is important to include the appropriate OSGi headers in the manifest files of these JARs.

Describe the solution you'd like

Modify the build configuration to automatically include the necessary OSGi headers in the manifest files of all JARs produced by this project.

The following headers should be included in the manifest:

Describe alternatives you've considered

No response

Additional context

Adding these headers would significantly enhance the usability of this library in OSGi-based projects, allowing for seamless integration into environments that rely on modularity and dynamic loading of components. It would also align this project with best practices for Java library distribution in modular systems.

trask commented 2 months ago

hi @bdhoine! do the jars in https://github.com/open-telemetry/opentelemetry-java have these headers? if so, we would be happy if someone copies over the same mechanism for creating those headers to this repo

bdhoine commented 2 months ago

@trask this is ongoing work by myself and @royteeuwen, I have a draft pr open in https://github.com/open-telemetry/semantic-conventions-java/pull/87 for example and we are also working on this one https://github.com/open-telemetry/opentelemetry-java/issues/768, when that is completed I will contribute here also