Files
opentelemetry-java/opentelemetry-java.spec

238 lines
9.7 KiB
RPMSpec

#
# spec file for package opentelemetry-java
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: opentelemetry-java
Version: 1.44.0
Release: 0
Summary: OpenTelemetry Java
License: Apache-2.0
Group: Productivity/Networking/Web/Servers
URL: https://github.com/open-telemetry
Source0: https://github.com/open-telemetry/%{name}/archive/refs/tags/v%{version}.tar.gz
Source1: https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-api/%{version}/opentelemetry-api-%{version}.pom
Source2: https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-bom/%{version}/opentelemetry-bom-%{version}.pom
Source3: https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-context/%{version}/opentelemetry-context-%{version}.pom
Source4: https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-exporter-common/%{version}/opentelemetry-exporter-common-%{version}.pom
Source5: https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-exporter-otlp-common/%{version}/opentelemetry-exporter-otlp-common-%{version}.pom
Source6: https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-exporter-otlp/%{version}/opentelemetry-exporter-otlp-%{version}.pom
Source7: https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-exporter-sender-okhttp/%{version}/opentelemetry-exporter-sender-okhttp-%{version}.pom
Source8: https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-sdk-common/%{version}/opentelemetry-sdk-common-%{version}.pom
Source9: https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-sdk-extension-autoconfigure-spi/%{version}/opentelemetry-sdk-extension-autoconfigure-spi-%{version}.pom
Source10: https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-sdk-extension-autoconfigure/%{version}/opentelemetry-sdk-extension-autoconfigure-%{version}.pom
Source11: https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-sdk-logs/%{version}/opentelemetry-sdk-logs-%{version}.pom
Source12: https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-sdk-metrics/%{version}/opentelemetry-sdk-metrics-%{version}.pom
Source13: https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-sdk-trace/%{version}/opentelemetry-sdk-trace-%{version}.pom
Source14: https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-sdk/%{version}/opentelemetry-sdk-%{version}.pom
Source15: https://repo1.maven.org/maven2/io/opentelemetry/opentelemetry-api-incubator/%{version}-alpha/opentelemetry-api-incubator-%{version}-alpha.pom
Source100: aggregator.pom
Source200: OtelVersionGenerator.sh
BuildRequires: bash
BuildRequires: fdupes
BuildRequires: jurand
BuildRequires: maven-local
BuildRequires: mvn(com.fasterxml.jackson.core:jackson-core)
BuildRequires: mvn(com.google.auto.value:auto-value)
BuildRequires: mvn(com.google.auto.value:auto-value-annotations)
BuildRequires: mvn(com.google.code.findbugs:jsr305)
BuildRequires: mvn(com.google.errorprone:error_prone_annotations)
BuildRequires: mvn(org.jctools:jctools-core)
%description
OpenTelemetry is the merging of OpenCensus and OpenTracing into
a single project.
This project contains the following top level components:
- OpenTelemetry API:
* stable apis including Tracer, Span, SpanContext, Meter, and
Baggage.
* context api The OpenTelemetry Context implementation.
* incubating apis incubating APIs, including Events.
- extensions define additional API extensions not part of the core
API, including propagators.
- sdk defines the implementation of the OpenTelemetry API.
- exporters trace, metric, and log exporters for the SDK.
- sdk-extensions defines additional SDK extensions, which are not
part of the core SDK.
- OpenTracing shim defines a bridge layer from OpenTracing to the
OpenTelemetry API.
- OpenCensus shim defines a bridge layer from OpenCensus to the
OpenTelemetry API.
%package api
Summary: OpenTelemetry API
Group: Productivity/Networking/Web/Servers
%description api
OpenTelemetry API: Stable apis including Tracer, Span, SpanContext,
Meter, and Baggage.
%package api-incubator
Summary: OpenTelemetry API Incubator
Group: Productivity/Networking/Web/Servers
%description api-incubator
OpenTelemetry API Incubator: Incubating APIs, including Events
%package context
Summary: OpenTelemetry Context
Group: Productivity/Networking/Web/Servers
%description context
The OpenTelemetry Context implementation.
%package sdk
Summary: OpenTelemetry SDK
Group: Productivity/Networking/Web/Servers
%description sdk
OpenTelemetry SDK defines the implementation of the OpenTelemetry API.
%package sdk-common
Summary: OpenTelemetry SDK Common
Group: Productivity/Networking/Web/Servers
%description sdk-common
OpenTelemetry SDK Common.
%package sdk-extension-autoconfigure
Summary: OpenTelemetry SDK Auto-configuration
Group: Productivity/Networking/Web/Servers
%description sdk-extension-autoconfigure
OpenTelemetry SDK Auto-configuration.
%package sdk-extension-autoconfigure-spi
Summary: OpenTelemetry SDK Auto-configuration SPI
Group: Productivity/Networking/Web/Servers
%description sdk-extension-autoconfigure-spi
OpenTelemetry SDK Auto-configuration SPI.
%package sdk-logs
Summary: OpenTelemetry Log SDK
Group: Productivity/Networking/Web/Servers
%description sdk-logs
OpenTelemetry Log SDK.
%package sdk-metrics
Summary: OpenTelemetry SDK Metrics
Group: Productivity/Networking/Web/Servers
%description sdk-metrics
OpenTelemetry SDK Metrics.
%package sdk-trace
Summary: OpenTelemetry SDK For Tracing
Group: Productivity/Networking/Web/Servers
%description sdk-trace
OpenTelemetry SDK For Tracing.
%package javadoc
Summary: API documentation for %{name}
Group: Documentation/HTML
%description javadoc
API documentation for %{name}.
%prep
%setup -q
cp %{SOURCE100} pom.xml
cp %{SOURCE1} api/all/pom.xml
cp %{SOURCE2} bom/pom.xml
cp %{SOURCE3} context/pom.xml
cp %{SOURCE4} exporters/common/pom.xml
cp %{SOURCE5} exporters/otlp/common/pom.xml
cp %{SOURCE6} exporters/otlp/all/pom.xml
cp %{SOURCE7} exporters/sender/okhttp/pom.xml
cp %{SOURCE8} sdk/common/pom.xml
cp %{SOURCE9} sdk-extensions/autoconfigure-spi/pom.xml
cp %{SOURCE10} sdk-extensions/autoconfigure/pom.xml
cp %{SOURCE11} sdk/logs/pom.xml
cp %{SOURCE12} sdk/metrics/pom.xml
cp %{SOURCE13} sdk/trace/pom.xml
cp %{SOURCE14} sdk/all/pom.xml
cp %{SOURCE15} api/incubator/pom.xml
bash %{SOURCE200} io.opentelemetry.opentracing.shim.internal %{version} opentracing-shim/src/main/java
bash %{SOURCE200} io.opentelemetry.exporter.otlp.all.internal %{version} exporters/otlp/all/src/main/java
bash %{SOURCE200} io.opentelemetry.opencensus.shim.internal %{version} opencensus-shim/src/main/java
bash %{SOURCE200} io.opentelemetry.sdk.common.internal %{version} sdk/common/src/main/java
%pom_add_dep com.google.errorprone:error_prone_annotations:2.35.1:provided context
%pom_add_dep com.google.code.findbugs:jsr305:3.0.2:provided context exporters/common sdk/all sdk/logs sdk/metrics sdk/trace sdk-extensions/autoconfigure sdk-extensions/autoconfigure-spi
%pom_add_dep com.google.auto.value:auto-value:1.11.0:provided api/all exporters/common sdk/all sdk/common sdk/logs sdk/metrics sdk/trace sdk-extensions/autoconfigure
%pom_add_dep com.google.auto.value:auto-value-annotations:1.11.0:provided api/all exporters/common sdk/all sdk/logs sdk/common sdk/metrics sdk/trace sdk-extensions/autoconfigure
%pom_add_dep com.google.code.findbugs:jsr305:3.0.2:provided api/incubator
%pom_change_dep :opentelemetry-api-incubator :::compile sdk/logs sdk/metrics sdk/trace sdk-extensions/autoconfigure
%pom_add_dep com.fasterxml.jackson.core:jackson-core:2.18.1 exporters/common
%pom_add_dep org.jctools:jctools-core:4.0.5 sdk/trace
cp -r sdk/trace-shaded-deps/src/main/resources sdk/trace/src/main/resources
cp sdk/trace-shaded-deps/src/main/java/io/opentelemetry/sdk/trace/internal/JcTools.java \
sdk/trace/src/main/java/io/opentelemetry/sdk/trace/internal/
%{java_remove_annotations} sdk/metrics -n IgnoreJRERequirement
%pom_disable_module bom
%pom_disable_module exporters/common
%pom_disable_module exporters/otlp/common
%pom_disable_module exporters/otlp/all
%pom_disable_module exporters/sender/okhttp
%{mvn_package} :aggregator __noinstall
%build
%{mvn_build} -f -s -- -Dmaven.compiler.{source,target}=8
%install
%mvn_install
%fdupes -s %{buildroot}%{_javadocdir}
%files api -f .mfiles-opentelemetry-api
%license LICENSE
%doc README.md
%files api-incubator -f .mfiles-opentelemetry-api-incubator
%files context -f .mfiles-opentelemetry-context
%files sdk -f .mfiles-opentelemetry-sdk
%files sdk-common -f .mfiles-opentelemetry-sdk-common
%files sdk-extension-autoconfigure -f .mfiles-opentelemetry-sdk-extension-autoconfigure
%files sdk-extension-autoconfigure-spi -f .mfiles-opentelemetry-sdk-extension-autoconfigure-spi
%files sdk-logs -f .mfiles-opentelemetry-sdk-logs
%files sdk-metrics -f .mfiles-opentelemetry-sdk-metrics
%files sdk-trace -f .mfiles-opentelemetry-sdk-trace
%files javadoc -f .mfiles-javadoc
%license LICENSE
%changelog