Blob Blame History Raw
%global namedreltag %nil
%global namedversion %{version}%{?namedreltag}
Name:          swagger-core
Version:       1.5.8
Release:       1%{?dist}
Summary:       Java implementation of Swagger
# Source files without license headers https://github.com/swagger-api/swagger-core/issues/1882
License:       ASL 2.0
URL:           http://swagger.io/
Source0:       https://github.com/swagger-api/swagger-core/archive/v%{namedversion}/%{name}-%{namedversion}.tar.gz

BuildRequires: maven-local
BuildRequires: mvn(asm:asm)
BuildRequires: mvn(ch.qos.logback:logback-classic)
BuildRequires: mvn(ch.qos.logback:logback-core)
BuildRequires: mvn(com.fasterxml.jackson.core:jackson-annotations)
BuildRequires: mvn(com.fasterxml.jackson.core:jackson-databind)
BuildRequires: mvn(com.fasterxml.jackson.dataformat:jackson-dataformat-xml)
BuildRequires: mvn(com.fasterxml.jackson.dataformat:jackson-dataformat-yaml)
BuildRequires: mvn(com.fasterxml.jackson.datatype:jackson-datatype-guava)
BuildRequires: mvn(com.fasterxml.jackson.datatype:jackson-datatype-joda)
BuildRequires: mvn(com.fasterxml.jackson.jaxrs:jackson-jaxrs-json-provider)
BuildRequires: mvn(com.google.guava:guava)
BuildRequires: mvn(com.sun.jersey:jersey-client:1)
BuildRequires: mvn(com.sun.jersey:jersey-core:1)
BuildRequires: mvn(com.sun.jersey:jersey-server:1)
BuildRequires: mvn(com.sun.jersey:jersey-servlet:1)
BuildRequires: mvn(com.sun.jersey.contribs:jersey-multipart:1)
BuildRequires: mvn(commons-io:commons-io)
BuildRequires: mvn(javax.inject:javax.inject)
BuildRequires: mvn(javax.servlet:javax.servlet-api)
BuildRequires: mvn(javax.validation:validation-api)
BuildRequires: mvn(javax.ws.rs:jsr311-api)
BuildRequires: mvn(joda-time:joda-time)
BuildRequires: mvn(org.apache.commons:commons-lang3)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-failsafe-plugin)
BuildRequires: mvn(org.glassfish.jersey.containers:jersey-container-servlet-core)
BuildRequires: mvn(org.glassfish.jersey.media:jersey-media-multipart)
BuildRequires: mvn(org.hibernate:hibernate-validator)
BuildRequires: mvn(org.joda:joda-convert)
BuildRequires: mvn(org.mockito:mockito-all)
BuildRequires: mvn(org.mockito:mockito-core)
BuildRequires: mvn(org.powermock:powermock-api-mockito)
BuildRequires: mvn(org.reflections:reflections)
BuildRequires: mvn(org.slf4j:slf4j-api)
BuildRequires: mvn(org.sonatype.oss:oss-parent:pom:)
BuildRequires: mvn(org.testng:testng)

BuildArch:     noarch

%description
The goal of Swagger is to define a standard, language-agnostic interface
to REST APIs which allows both humans and computers to discover and
understand the capabilities of the service without access to source code,
documentation, or through network traffic inspection. When properly defined
via Swagger, a consumer can understand and interact with the remote service
with a minimal amount of implementation logic. Similar to what interfaces
have done for lower level programming, Swagger removes the guesswork
in calling the service.

%package annotations
Summary:       Swagger Annotations

%description annotations
Swagger Annotations that configures definition level metadata.

%package hibernate-validations
Summary:       Swagger Hibernate Validations

%description hibernate-validations
Swagger Hibernate Validations support.

%package jaxrs
Summary:       Swagger JAXRS

%description jaxrs
Swagger *JAX-RS* support.

%package jersey-jaxrs
Summary:       Swagger Models

%description jersey-jaxrs
Swagger Jersey 1.x *JAX-RS* support.

%package jersey2-jaxrs
Summary:       Swagger Models

%description jersey2-jaxrs
Swagger Jersey 2.x *JAX-RS* support.

%package models
Summary:       Swagger Models

%description models
Swagger Models module.

%package mule
Summary:       Swagger Mule

%description mule
Swagger Mule.

%package project
Summary:       Swagger Parent POM

%description project
Swagger Parent POM.

%package servlet
Summary:       Swagger Servlet

%description servlet
Swagger Servlet.

%package javadoc
Summary:       Javadoc for %{name}

%description javadoc
This package contains javadoc for %{name}.

%prep
%setup -q -n %{name}-%{namedversion}

# Dependency convergence error
%pom_remove_plugin :maven-enforcer-plugin

# Unwanted plugins
%pom_xpath_remove "pom:build/pom:extensions"
%pom_remove_plugin org.jacoco:jacoco-maven-plugin
%pom_remove_plugin :maven-source-plugin
%pom_remove_plugin :maven-dependency-plugin
%pom_remove_plugin :maven-site-plugin
%pom_remove_plugin :maven-release-plugin
%pom_remove_plugin -r :jetty-maven-plugin

# Unwanted task
%pom_xpath_remove "pom:plugin[pom:artifactId = 'maven-javadoc-plugin']/pom:executions"

%pom_change_dep -r org.glassfish.hk2.external:javax.inject javax.inject:javax.inject:1

%pom_xpath_set "pom:properties/pom:jersey-version" 1

# Force glassfish-servlet-api use
%pom_xpath_set "pom:properties/pom:servlet-api-version" 3.1.0
%pom_change_dep -r javax.servlet:servlet-api javax.servlet:javax.servlet-api:'${servlet-api-version}'

# Unavailable Test deps
# com.openpojo:openpojo:0.8.0
%pom_remove_dep com.openpojo:openpojo modules/swagger-models
rm modules/swagger-models/src/test/java/io/swagger/PojosTest.java
# org.powermock:powermock-module-testng:1.6.4
%pom_remove_dep org.powermock:powermock-module-testng modules/swagger-models
rm modules/swagger-models/src/test/java/io/swagger/models/ArrayModelTest.java \
 modules/swagger-models/src/test/java/io/swagger/models/ModelImplTest.java

#java.lang.AssertionError: expected [4] but found [2]
rm modules/swagger-core/src/test/java/io/swagger/ModelConverterTest.java
#java.lang.AssertionError: Serialized object:
#{"in":"query","required":false,"type":"integer","default":1234,"format":"1nt64"}
#does not equal to expected serialized string:
#{"in":"query","required":false,"type":"integer","default":1234,"format":"1nt64"}
rm modules/swagger-core/src/test/java/io/swagger/parameter/ParameterSerializationTest.java

# com.jayway.restassured:rest-assured:2.8.0
%pom_remove_dep -r com.jayway.restassured:rest-assured
rm modules/swagger-jaxrs/src/test/java/io/swagger/functional/test/ApiListingResourceIT.java

%build

%mvn_build -s

%install
%mvn_install

%files -f .mfiles-swagger-core
%doc README.md

%files annotations -f .mfiles-swagger-annotations
%license LICENSE

%files hibernate-validations -f .mfiles-swagger-hibernate-validations
%files jaxrs -f .mfiles-swagger-jaxrs
%files jersey-jaxrs -f .mfiles-swagger-jersey-jaxrs
%files jersey2-jaxrs -f .mfiles-swagger-jersey2-jaxrs
%files models -f .mfiles-swagger-models
%files mule -f .mfiles-swagger-mule
%files project -f .mfiles-swagger-project
%license LICENSE

%files servlet -f .mfiles-swagger-servlet

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

%changelog
* Sat Aug 20 2016 gil cattaneo <puntogil@libero.it> 1.5.8-1
- update to 1.5.8

* Sun Aug 14 2016 gil cattaneo <puntogil@libero.it> 1.5.7-2
- Initial import (#1276624).
- some review fixes

* Thu Mar 03 2016 gil cattaneo <puntogil@libero.it> 1.5.7-1
- update to 1.5.7

* Sat Jan 02 2016 gil cattaneo <puntogil@libero.it> 1.5.5-1
- update to 1.5.5

* Fri Oct 30 2015 gil cattaneo <puntogil@libero.it> 1.5.4-1
- update to 1.5.4

* Tue Aug 25 2015 gil cattaneo <puntogil@libero.it> 1.5.3-1
- update to 1.5.3

* Sun Mar 08 2015 gil cattaneo <puntogil@libero.it> 1.5.2-0.1.M1
- initial rpm