metrics/metrics.spec

305 lines
9.7 KiB
RPMSpec
Raw Permalink Normal View History

2020-09-19 20:09:29 +08:00
Name: metrics
Version: 3.1.2
2023-08-02 15:41:09 +08:00
Release: 2
2020-09-19 20:09:29 +08:00
Summary: Java library which gives you what your code does in production
License: ASL 2.0
URL: http://metrics.dropwizard.io
Source0: https://github.com/dropwizard/metrics/archive/v%{version}.tar.gz
Patch0: metrics-3.1.2-amqp-client35.patch
Patch1: metrics-3.1.2-ehcache-core.patch
Patch2: delete-jersey1-module.patch
2023-08-02 15:41:09 +08:00
Patch3: Fix-build-error-for-sphinx-7.0.patch
2020-09-19 20:09:29 +08:00
BuildRequires: maven-local mvn(ch.qos.logback:logback-classic)
BuildRequires: mvn(com.fasterxml.jackson.core:jackson-databind) mvn(com.google.guava:guava)
BuildRequires: mvn(com.rabbitmq:amqp-client) jersey
BuildRequires: mvn(info.ganglia.gmetric4j:gmetric4j) mvn(javax.servlet:javax.servlet-api)
BuildRequires: mvn(javax.ws.rs:javax.ws.rs-api) mvn(log4j:log4j:1.2.17)
BuildRequires: mvn(net.sf.ehcache:ehcache-core) mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.httpcomponents:httpasyncclient)
BuildRequires: mvn(org.apache.httpcomponents:httpclient)
BuildRequires: mvn(org.apache.logging.log4j:log4j-api)
BuildRequires: mvn(org.apache.logging.log4j:log4j-core)
BuildRequires: mvn(org.apache.maven.plugins:maven-release-plugin)
BuildRequires: mvn(org.glassfish.jersey.core:jersey-server) mvn(org.jdbi:jdbi)
BuildRequires: mvn(org.openjdk.jmh:jmh-core) mvn(org.openjdk.jmh:jmh-generator-annprocess)
BuildRequires: mvn(org.slf4j:slf4j-api)
%if 0
BuildRequires: mvn(org.eclipse.jetty:jetty-server:8.1.11.v20130520)
BuildRequires: mvn(org.eclipse.jetty:jetty-client:9.2.2.v20140723)
BuildRequires: mvn(org.eclipse.jetty:jetty-server:9.2.2.v20140723)
BuildRequires: mvn(org.eclipse.jetty:jetty-server:9.0.4.v20130625)
BuildRequires: mvn(org.eclipse.jetty:jetty-client:9.0.4.v20130625)
BuildRequires: mvn(com.sun.jersey.jersey-test-framework:jersey-test-framework-inmemory)
BuildRequires: mvn(org.glassfish.jersey.test-framework.providers:jersey-test-framework-provider-inmemory)
BuildRequires: mvn(junit:junit) mvn(org.assertj:assertj-core:jar:1.6.1)
BuildRequires: mvn(org.eclipse.jetty:jetty-servlet) mvn(org.mockito:mockito-all)
BuildRequires: mvn(org.python:jython-standalone) mvn(org.slf4j:slf4j-simple)
%endif
BuildRequires: python-sphinx /usr/bin/pdflatex
BuildArch: noarch
%description
Metrics is a Java library which gives you unparalleled insight
into what your code does in production.
Developed by Yammer to instrument their JVM-based back-end services,
Metrics provides a powerful toolkit of ways to measure the behavior
of critical components in your production environment.
With modules for common libraries like Jetty, Logback, Log4j,
Apache HttpClient, Ehcache, JDBI, Jersey and reporting back-ends like
Ganglia and Graphite, Metrics provides you with full-stack visibility.
For more information, please see the documentation.
This package provides the Metrics Core Library.
%package annotation
Summary: Annotations for Metrics
%description annotation
A dependency-less package of just the
annotations used by other Metrics modules.
%package benchmarks
Summary: Benchmarks for Metrics
%description benchmarks
A development module for performance benchmarks of
Metrics classes.
%package ehcache
Summary: Metrics Integration for Ehcache
%description ehcache
An Ehcache wrapper providing Metrics instrumentation of caches.
%package ganglia
Summary: Ganglia Integration for Metrics
%description ganglia
A reporter for Metrics which announces measurements
to a Ganglia cluster.
%package graphite
Summary: Graphite Integration for Metrics
%description graphite
A reporter for Metrics which announces measurements
to a Graphite server.
%package healthchecks
Summary: Metrics Health Checks
%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 httpasyncclient
Summary: Metrics Integration for Apache HttpAsyncClient
%description httpasyncclient
An Apache HttpAsyncClient wrapper providing Metrics
instrumentation of connection pools, request
durations and rates, and other useful information.
%package httpclient
Summary: Metrics Integration for Apache HttpClient
%description httpclient
An Apache HttpClient wrapper providing Metrics
instrumentation of connection pools, request
durations and rates, and other useful information.
%package jdbi
Summary: Metrics Integration for JDBI
%description jdbi
A JDBI wrapper providing Metrics instrumentation of
query durations and rates.
%package jersey2
Summary: Metrics Integration for Jersey 2.x
%description jersey2
A set of class providing Metrics integration for Jersey 2.x,
the reference JAX-RS implementation.
%if 0
%package jetty
Summary: Metrics Integration for Jetty 8/9
%description jetty
A set of extensions for Jetty 8/9 which provide instrumentation of
thread pools, connector metrics, and application latency and
utilization.
%endif
%package json
Summary: Jackson Integration for Metrics
%description json
A set of Jackson modules which provide serializers
for most Metrics classes.
%package jvm
Summary: JVM Integration for Metrics
%description jvm
A set of classes which allow you to monitor
critical aspects of your Java Virtual Machine
using Metrics.
%package log4j2
Summary: Metrics Integration for Log4j 2.x
%description log4j2
An instrumented appender for Log4j 2.x.
%package log4j
Summary: Metrics Integration for Log4j
Requires: log4j12
%description log4j
An instrumented appender for Log4j.
%package logback
Summary: Metrics Integration for Logback
%description logback
An instrumented appender for Logback.
%package parent
Summary: Metrics Parent POM
%description parent
This package provides Metrics Parent POM.
%package servlet
Summary: Metrics Integration for Servlets
%description servlet
An instrumented filter for servlet environments.
%package servlets
Summary: Metrics Utility Servlets
%description servlets
A set of utility servlets for Metrics, allowing you
to expose valuable information about your production
environment.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%package doc
Summary: Metrics's user manual
%description doc
This package contains %{name}'s user manual.
%prep
%setup -q -n %{name}-%{version}
find . -name "*.class" -delete
find . -name "*.jar" -type f -delete
%patch0 -p1
%patch1 -p1
%patch2 -p1
2023-08-02 15:41:09 +08:00
%patch3 -p1
2020-09-19 20:09:29 +08:00
%pom_disable_module metrics-jetty8
%pom_disable_module metrics-jetty9
%pom_disable_module metrics-jetty9-legacy
%pom_remove_plugin :findbugs-maven-plugin
%pom_remove_plugin :maven-enforcer-plugin
%pom_remove_plugin -r :maven-shade-plugin
%pom_xpath_remove "pom:plugins/pom:plugin[pom:artifactId='maven-javadoc-plugin']/pom:executions"
%pom_remove_plugin :maven-source-plugin
%pom_add_dep javax.ws.rs:javax.ws.rs-api metrics-jersey2
sed -i "s|jersey.repackaged.||" \
metrics-jersey2/src/main/java/com/codahale/metrics/jersey2/InstrumentedResourceMethodApplicationListener.java
%pom_add_dep com.google.guava:guava metrics-jersey2
%pom_remove_dep -r org.assertj:assertj-core
%if 0
%mvn_package ":%{name}-jetty8" %{name}-jetty
%mvn_package ":%{name}-jetty9" %{name}-jetty
%mvn_package ":%{name}-jetty9-legacy" %{name}-jetty
%endif
%mvn_alias io.dropwizard.metrics: com.codahale.metrics:
%build
%mvn_build -s -f
(
cd docs
%if 0
make %{?_smp_mflags} latexpdf
%endif
make %{?_smp_mflags} singlehtml
make %{?_smp_mflags} man
)
%install
%mvn_install
mkdir -p %{buildroot}%{_mandir}/man1
install -pm 644 docs/target/man/%{name}.1 %{buildroot}%{_mandir}/man1/
rm -rf docs/target/singlehtml/.buildinfo
%files -f .mfiles-%{name}-core
%doc README.md
%license LICENSE NOTICE
%files annotation -f .mfiles-%{name}-annotation
%license LICENSE NOTICE
%files benchmarks -f .mfiles-%{name}-benchmarks
%doc %{name}-benchmarks/README.md
%license LICENSE NOTICE
%files ehcache -f .mfiles-%{name}-ehcache
%license LICENSE NOTICE
%files ganglia -f .mfiles-%{name}-ganglia
%license LICENSE NOTICE
%files graphite -f .mfiles-%{name}-graphite
%license LICENSE NOTICE
%files healthchecks -f .mfiles-%{name}-healthchecks
%license LICENSE NOTICE
%files httpasyncclient -f .mfiles-%{name}-httpasyncclient
%license LICENSE NOTICE
%files httpclient -f .mfiles-%{name}-httpclient
%license LICENSE NOTICE
%files jdbi -f .mfiles-%{name}-jdbi
%license LICENSE NOTICE
%files jersey2 -f .mfiles-%{name}-jersey2
%license LICENSE NOTICE
%if 0
%files jetty -f .mfiles-%{name}-jetty
%license LICENSE NOTICE
%endif
%files json -f .mfiles-%{name}-json
%license LICENSE NOTICE
%files jvm -f .mfiles-%{name}-jvm
%license LICENSE NOTICE
%files log4j2 -f .mfiles-%{name}-log4j2
%license LICENSE NOTICE
%files log4j -f .mfiles-%{name}-log4j
%license LICENSE NOTICE
%files logback -f .mfiles-%{name}-logback
%license LICENSE NOTICE
%files parent -f .mfiles-%{name}-parent
%license LICENSE NOTICE
%files servlet -f .mfiles-%{name}-servlet
%license LICENSE NOTICE
%files servlets -f .mfiles-%{name}-servlets
%license LICENSE NOTICE
%files javadoc -f .mfiles-javadoc
%license LICENSE NOTICE
%files doc
%{_mandir}/man1/%{name}.*
%license LICENSE NOTICE
%doc docs/target/singlehtml
%if 0
%doc docs/target/latex/*.pdf
%endif
%changelog
2023-08-02 15:41:09 +08:00
* Wed Aug 2 2023 liyanan <thistleslyn@163.com> - 3.1.2-2
- Fix build error for sphinx 7.0
2020-09-19 20:09:29 +08:00
* Sat Sep 19 2020 huanghaitao <huanghaitao8@huawei.com> - 3.1.2-1
- package init