File codahale-metrics.spec of Package codahale-metrics

#
# spec file for package codahale-metrics
#
# Copyright (c) 2023 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:           codahale-metrics
Version:        3.0.2
Release:        0
Summary:        The Metrics library
License:        Apache-2.0
Group:          Development/Libraries/Java
URL:            https://github.com/dropwizard/metrics
Source0:        metrics-%{version}.tar.xz
BuildRequires:  fdupes
BuildRequires:  maven-local
BuildRequires:  mvn(ch.qos.logback:logback-classic)
BuildRequires:  mvn(com.fasterxml.jackson.core:jackson-databind)
BuildRequires:  mvn(javax.servlet:javax.servlet-api)
BuildRequires:  mvn(log4j:log4j)
BuildRequires:  mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires:  mvn(org.apache.httpcomponents:httpclient)
BuildRequires:  mvn(org.slf4j:slf4j-api)
BuildArch:      noarch

%description
Metrics is a Java library which gives you unparalleled insight into what your
code does in production. Metrics provides a powerful toolkit of ways to measure
the behavior of critical components in your production environment.

%package javadoc
Summary:        API documentation for %{name}
Group:          Documentation/HTML

%description javadoc
API documentation for %{name}.

%package annotation
Summary:        Annotations for Metrics
Group:          Development/Libraries/Java

%description annotation
A dependency-less package of just the annotations used by other Metrics
modules.

%package core
Summary:        Metrics Core
Group:          Development/Libraries/Java

%description core
Metrics is a Java library which gives you unparalleled insight into what your
code does in production. Metrics provides a powerful toolkit of ways to measure
the behavior of critical components in your production environment.

%package graphite
Summary:        Graphite Integration for Metrics
Group:          Development/Libraries/Java

%description graphite
A reporter for Metrics which announces measurements to a Graphite server.

%package healthchecks
Summary:        Metrics Health Checks
Group:          Development/Libraries/Java

%description healthchecks
An addition to Metrics which provides the ability to run application-specific
health checks, allowing you to check your application’s heath in production.

%package httpclient
Summary:        Metrics Integration for Apache HttpClient
Group:          Development/Libraries/Java

%description httpclient
An Apache HttpClient wrapper providing Metrics instrumentation of connection
pools, request durations and rates, and other useful information.

%package json
Summary:        Jackson Integration for Metrics
Group:          Development/Libraries/Java

%description json
A set of Jackson modules which provide serializers for most Metrics classes.

%package jvm
Summary:        JVM Integration for Metrics
Group:          Development/Libraries/Java

%description jvm
A set of classes which allow you to monitor critical aspects of your Java
Virtual Machine using Metrics.

%package log4j
Summary:        The Log4j module for %{name}
Group:          Development/Libraries/Java

%description log4j
An instrumented appender for Log4j.

%package logback
Summary:        The Logback module for %{name}
Group:          Development/Libraries/Java

%description logback
An instrumented appender for Logback.

%package servlet
Summary:        The Setvlet module for %{name}
Group:          Development/Libraries/Java

%description servlet
An instrumented filter for servlet environments.

%package servlets
Summary:        The Setvlets module for %{name}
Group:          Development/Libraries/Java

%description servlets
A set of utility servlets for Metrics, allowing you to expose valuable
information about your production environment.

%prep
%setup -q -n metrics-%{version}

%pom_xpath_replace 'pom:plugin[pom:artifactId="maven-compiler-plugin"]/pom:configuration/pom:*/text()' 8

%pom_remove_plugin :maven-release-plugin
%pom_remove_plugin :maven-source-plugin
%pom_remove_plugin :maven-enforcer-plugin
%pom_remove_plugin :maven-javadoc-plugin
%pom_remove_plugin org.codehaus.mojo:findbugs-maven-plugin

%pom_disable_module metrics-benchmarks
# No net.sf.ehcache:ehcache-core
%pom_disable_module metrics-ehcache
# No info.ganglia.gmetric4j:gmetric4j
%pom_disable_module metrics-ganglia
# No org.jdbi:jdbi
%pom_disable_module metrics-jdbi
%pom_disable_module metrics-jersey
%pom_disable_module metrics-jetty8
# Errors:
%pom_disable_module metrics-jetty9

%{mvn_package} ":metrics-{*}" @1

%build
%{mvn_build} -f -s -- \
    -Dproject.build.outputTimestamp=$(date -u -d @${SOURCE_DATE_EPOCH:-$(date +%%s)} +%%Y-%%m-%%dT%%H:%%M:%%SZ) \

%install
%mvn_install
%fdupes %{buildroot}%{_javadocdir}/%{name}

%files javadoc -f .mfiles-javadoc
%license LICENSE NOTICE

%files -f .mfiles-parent
%license LICENSE NOTICE
%doc README.md

%files annotation -f .mfiles-annotation
%license LICENSE NOTICE

%files core -f .mfiles-core
%license LICENSE NOTICE

%files graphite -f .mfiles-graphite
%license LICENSE NOTICE

%files healthchecks -f .mfiles-healthchecks
%license LICENSE NOTICE

%files httpclient -f .mfiles-httpclient
%license LICENSE NOTICE

%files json -f .mfiles-json
%license LICENSE NOTICE

%files jvm -f .mfiles-jvm
%license LICENSE NOTICE

%files log4j -f .mfiles-log4j
%license LICENSE NOTICE

%files servlet -f .mfiles-servlet
%license LICENSE NOTICE

%files servlets -f .mfiles-servlets
%license LICENSE NOTICE

%files logback -f .mfiles-logback
%license LICENSE NOTICE

%changelog
openSUSE Build Service is sponsored by