%if 0%{?fedora} # Unavailable deps # https://bugzilla.redhat.com/show_bug.cgi?id=1325689 %bcond_with jdk8 # https://bugzilla.redhat.com/show_bug.cgi?id=1325688 %bcond_with jsr310 %endif Name: airlift Version: 0.126 Release: 1%{?dist} Summary: Java Framework for building REST services License: ASL 2.0 URL: https://github.com/airlift/airlift Source0: https://github.com/airlift/airlift/archive/%{version}.tar.gz BuildRequires: maven-local BuildRequires: mvn(cglib:cglib) BuildRequires: mvn(ch.qos.logback:logback-core) BuildRequires: mvn(com.fasterxml.jackson.core:jackson-annotations) BuildRequires: mvn(com.fasterxml.jackson.core:jackson-core) BuildRequires: mvn(com.fasterxml.jackson.core:jackson-databind) BuildRequires: mvn(com.fasterxml.jackson.dataformat:jackson-dataformat-smile) BuildRequires: mvn(com.fasterxml.jackson.datatype:jackson-datatype-guava) %if %{with jdk8} BuildRequires: mvn(com.fasterxml.jackson.datatype:jackson-datatype-jdk8) %endif BuildRequires: mvn(com.fasterxml.jackson.datatype:jackson-datatype-joda) %if %{with jsr310} BuildRequires: mvn(com.fasterxml.jackson.datatype:jackson-datatype-jsr310) %endif BuildRequires: mvn(com.google.code.findbugs:annotations) BuildRequires: mvn(com.google.code.findbugs:jsr305) BuildRequires: mvn(com.google.guava:guava) BuildRequires: mvn(com.google.inject:guice) BuildRequires: mvn(com.google.inject.extensions:guice-multibindings) BuildRequires: mvn(com.h2database:h2) # https://bugzilla.redhat.com/show_bug.cgi?id=1325690 BuildRequires: mvn(io.airlift:slice) BuildRequires: mvn(javax.inject:javax.inject) BuildRequires: mvn(javax.servlet:javax.servlet-api) BuildRequires: mvn(javax.validation:validation-api) BuildRequires: mvn(javax.ws.rs:javax.ws.rs-api) BuildRequires: mvn(joda-time:joda-time) BuildRequires: mvn(mysql:mysql-connector-java) BuildRequires: mvn(org.apache.bval:bval-jsr) BuildRequires: mvn(org.eclipse.jetty:jetty-client) BuildRequires: mvn(org.eclipse.jetty:jetty-http) BuildRequires: mvn(org.eclipse.jetty:jetty-io) BuildRequires: mvn(org.eclipse.jetty:jetty-jmx) BuildRequires: mvn(org.eclipse.jetty:jetty-security) BuildRequires: mvn(org.eclipse.jetty:jetty-server) BuildRequires: mvn(org.eclipse.jetty:jetty-servlet) BuildRequires: mvn(org.eclipse.jetty:jetty-util) BuildRequires: mvn(org.glassfish.jersey.containers:jersey-container-servlet) BuildRequires: mvn(org.glassfish.jersey.containers:jersey-container-servlet-core) BuildRequires: mvn(org.glassfish.jersey.core:jersey-common) BuildRequires: mvn(org.glassfish.jersey.core:jersey-server) BuildRequires: mvn(org.mockito:mockito-core) BuildRequires: mvn(org.openjdk.jmh:jmh-core) # https://bugzilla.redhat.com/show_bug.cgi?id=1325671 BuildRequires: mvn(org.openjdk.jol:jol-core) BuildRequires: mvn(org.slf4j:jcl-over-slf4j) BuildRequires: mvn(org.slf4j:log4j-over-slf4j) BuildRequires: mvn(org.slf4j:slf4j-jdk14) BuildRequires: mvn(org.testng:testng) # https://bugzilla.redhat.com/show_bug.cgi?id=1325672 BuildRequires: mvn(org.weakref:jmxutils) BuildArch: noarch %description Airlift is a framework for building REST services in Java. %package javadoc Summary: Javadoc for %{name} %description javadoc This package contains javadoc for %{name}. %prep %setup -q -n airlift-%{version} find -name '*.class' -print -delete find -name '*.jar' -print -delete # https://github.com/airlift/procname rm -r launcher/src/main/resources/procname/Linux-x86_64/ %pom_disable_module launcher %pom_disable_module packaging # io.airlift:airbase:pom:51 %pom_remove_parent %pom_xpath_inject "pom:project" "io.airlift" %pom_add_plugin org.apache.maven.plugins:maven-compiler-plugin:3.0 . ' 1.8 1.8 ' %pom_change_dep -r org.eclipse.jetty: ::9.3.8.v20160314 %pom_change_dep -r :testng ::6.9.6 %pom_change_dep -r :guava ::18.0 %pom_change_dep -r :cglib-nodep :cglib # use bval 1.1.1 %pom_change_dep -r :bval-jsr303 :bval-jsr:1.1.1 sed -i "s|org.apache.bval.jsr303|org.apache.bval.jsr|" \ testing/src/main/java/io/airlift/testing/ValidationAssertions.java \ configuration/src/main/java/io/airlift/configuration/ConfigurationFactory.java \ units/src/test/java/io/airlift/units/TestDurationValidator.java \ units/src/test/java/io/airlift/units/TestDataSizeValidator.java \ jaxrs/src/main/java/io/airlift/jaxrs/JsonMapper.java # com.fasterxml.jackson.datatype:jackson-datatype-jdk7 This module is deprecate %pom_remove_dep :jackson-datatype-jdk7 json sed -i '/dk7/d' \ json/src/main/java/io/airlift/json/ObjectMapperProvider.java %if %{without jdk8} %pom_remove_dep :jackson-datatype-jdk8 json sed -i '/dk8/d' \ json/src/main/java/io/airlift/json/ObjectMapperProvider.java %endif %if %{without jsr310} %pom_remove_dep :jackson-datatype-jsr310 json sed -i '/310/d' \ json/src/main/java/io/airlift/json/ObjectMapperProvider.java %endif # NoClassDefFoundError: net/sf/cglib/proxy/CallbackFilter %pom_add_dep cglib:cglib::test json # package javax.annotation.concurrent does not exist %pom_add_dep com.google.code.findbugs:jsr305:2.0.3 log-manager %pom_add_dep com.google.code.findbugs:jsr305:2.0.3 concurrent # Use org.openjdk.jmh::0.3 cannot find symbol org.openjdk.jmh.annotations.GenerateMicroBenchmark rm stats/src/test/java/io/airlift/stats/cardinality/BenchmarkDenseHll.java \ stats/src/test/java/io/airlift/stats/cardinality/BenchmarkSparseHll.java # AssertionError: socket backlog is too large (41 connections accepted) rm http-client/src/test/java/io/airlift/http/client/jetty/TestAsyncJettyHttpClient.java \ http-client/src/test/java/io/airlift/http/client/jetty/TestJettyHttpClient.java \ http-client/src/test/java/io/airlift/http/client/jetty/TestJettyHttpsClient.java # Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol # (protocol is disabled or cipher suites are inappropriate) rm -r http-server/src/test/java/* %build %mvn_build -- -Dproject.build.sourceEncoding=UTF-8 %install %mvn_install %files -f .mfiles %doc CHANGES NEWS README.md %license LICENSE %files javadoc -f .mfiles-javadoc %license LICENSE %changelog * Sun Apr 10 2016 gil cattaneo 0.126-1 - initial rpm