%global namedreltag .RELEASE %global namedversion %{version}%{?namedreltag} %global oname spring-social Name: springframework-social # Newer release require springframework >= 4.0.6.RELEASE Version: 1.0.3 Release: 1%{?dist} Summary: Connect your applications with SaaS providers such as Facebook and Twitter License: ASL 2.0 URL: http://projects.spring.io/spring-social/ Source0: https://github.com/spring-projects/spring-social/archive/v%{namedversion}.tar.gz Source1: http://repo1.maven.org/maven2/org/springframework/social/%{oname}-core/%{namedversion}/%{oname}-core-%{namedversion}.pom Source2: http://repo1.maven.org/maven2/org/springframework/social/%{oname}-test/%{namedversion}/%{oname}-test-%{namedversion}.pom Source3: http://repo1.maven.org/maven2/org/springframework/social/%{oname}-web/%{namedversion}/%{oname}-web-%{namedversion}.pom BuildRequires: maven-local BuildRequires: mvn(com.h2database:h2) BuildRequires: mvn(commons-codec:commons-codec) BuildRequires: mvn(javax.inject:javax.inject) BuildRequires: mvn(javax.servlet:javax.servlet-api) BuildRequires: mvn(javax.servlet.jsp:javax.servlet.jsp-api) BuildRequires: mvn(junit:junit) BuildRequires: mvn(org.apache.httpcomponents:httpclient) BuildRequires: mvn(org.codehaus.jackson:jackson-mapper-asl) BuildRequires: mvn(org.hamcrest:hamcrest-library) BuildRequires: mvn(org.mockito:mockito-core) BuildRequires: mvn(org.springframework:spring-jdbc) BuildRequires: mvn(org.springframework:spring-test) BuildRequires: mvn(org.springframework:spring-web) BuildRequires: mvn(org.springframework:spring-webmvc) BuildRequires: mvn(org.springframework.security:spring-security-crypto) BuildArch: noarch %description The Spring Social project allows you to integrate the APIs exposed by Software-as-a-Service (SaaS) providers such as Facebook and Twitter into your applications. It consists of a service provider 'connect' framework, sign-in support, and strongly-typed Java API bindings. %package javadoc Summary: Javadoc for %{name} %description javadoc This package contains javadoc for %{name}. %prep %setup -q -n %{oname}-%{namedversion} find . -name "*.bat" -delete find . -name "*.class" -delete find . -name "*.jar" -delete cp -p %{SOURCE1} %{oname}-core/pom.xml cp -p %{SOURCE2} %{oname}-test/pom.xml cp -p %{SOURCE3} %{oname}-web/pom.xml # This is a dummy POM added just to ease building in the RPM platforms cat > pom.xml << EOF 4.0.0 org.springframework.social spring-social %{namedversion} pom Spring Social spring-social-core spring-social-test spring-social-web EOF # Add OSGi support for p in core test web; do %pom_xpath_inject "pom:project" "bundle" %{oname}-${p} %pom_add_plugin org.apache.felix:maven-bundle-plugin:2.5.4 %{oname}-${p} " true \${project.groupId}.${p} \${project.name} \${project.version} bundle-manifest process-classes manifest " done # Use commons-codec instead of unbundle spring-security-crypto Base64 class sed -i "s|org.springframework.security.crypto.codec.Base64|org.apache.commons.codec.binary.Base64|" \ spring-social-core/src/main/java/org/springframework/social/oauth1/SigningSupport.java \ spring-social-core/src/main/java/org/springframework/social/oauth2/PreemptiveBasicAuthClientHttpRequestInterceptor.java sed -i "s|Base64.encode|Base64.encodeBase64|" \ spring-social-core/src/main/java/org/springframework/social/oauth1/SigningSupport.java \ spring-social-core/src/main/java/org/springframework/social/oauth2/PreemptiveBasicAuthClientHttpRequestInterceptor.java %pom_add_dep commons-codec:commons-codec:1.10:compile %{oname}-core # Fix test dep %pom_add_dep com.h2database:h2:1.3.170:test %{oname}-core %pom_add_dep junit:junit:4.11:test %{oname}-core %pom_add_dep org.mockito:mockito-core:1.9.5:test %{oname}-core %pom_add_dep junit:junit:4.11:test %{oname}-test %pom_add_dep org.codehaus.jackson:jackson-mapper-asl:1.9.9:test %{oname}-test %pom_add_dep org.codehaus.jackson:jackson-mapper-asl:1.9.9:test %{oname}-web %pom_add_dep junit:junit:4.11:test %{oname}-web %pom_add_dep org.springframework:spring-test:3.1.4.RELEASE:test %{oname}-web %pom_add_dep org.hamcrest:hamcrest-library:1.3:test %{oname}-web # Copy test resources in default maven location mkdir -p %{oname}-core/src/test/resources/org/springframework/social/connect/jdbc cp -p %{oname}-core/src/test/java/org/springframework/social/connect/jdbc/PrefixedJdbcUsersConnectionRepository.sql \ %{oname}-core/src/test/resources/org/springframework/social/connect/jdbc/ mkdir -p %{oname}-test/src/test/resources/org/springframework/social/connect/{oauth1,oauth2} cp -p %{oname}-test/src/test/java/org/springframework/social/connect/oauth1/*.formencoded \ %{oname}-test/src/test/resources/org/springframework/social/connect/oauth1/ cp -p %{oname}-test/src/test/java/org/springframework/social/connect/oauth2/*.facebook \ %{oname}-test/src/test/resources/org/springframework/social/connect/oauth2/ cp -p %{oname}-test/src/test/java/org/springframework/social/connect/oauth2/*.json \ %{oname}-test/src/test/resources/org/springframework/social/connect/oauth2/ mkdir -p %{oname}-test/src/test/resources/org/springframework/social/{oauth1,oauth2} cp -p %{oname}-test/src/test/java/org/springframework/social/oauth1/*.formencoded \ %{oname}-test/src/test/resources/org/springframework/social/oauth1/ cp -p %{oname}-test/src/test/java/org/springframework/social/oauth2/*.facebook \ %{oname}-test/src/test/resources/org/springframework/social/oauth2/ cp -p %{oname}-test/src/test/java/org/springframework/social/oauth2/*.json \ %{oname}-test/src/test/resources/org/springframework/social/oauth2/ mkdir -p %{oname}-web/src/main/resources/META-INF cp -p %{oname}-web/src/main/resources/tld/*.tld %{oname}-web/src/main/resources/META-INF/ # ComparisonFailure: expected: but was: rm -r %{oname}-core/src/test/java/org/springframework/social/oauth1/SigningSupportTest.java # Require spring-test-mvc rm -r %{oname}-web/src/test/java/org/springframework/social/connect/web/ProviderSignInControllerTest.java \ %{oname}-web/src/test/java/org/springframework/social/connect/web/ConnectControllerTest.java # Force use of servlet 3.1 apis %pom_change_dep :servlet-api :javax.servlet-api:3.1.0 %{oname}-web sed -i 's/\r//' src/dist/*.txt %mvn_package :%{oname} __noinstall %build %mvn_build -- -Dproject.build.sourceEncoding=UTF-8 %install %mvn_install %files -f .mfiles %doc README src/dist/changelog.txt src/dist/readme.txt %license LICENSE NOTICE src/dist/license.txt src/dist/notice.txt %files javadoc -f .mfiles-javadoc %license LICENSE NOTICE src/dist/license.txt src/dist/notice.txt %changelog * Sun Sep 27 2015 gil cattaneo 1.0.3-1 - initial rpm