%global namedreltag .Final
%global namedversion %{version}%{?namedreltag}
Name: picketlink
Version: 2.7.1
Release: 2%{?dist}
Summary: Features for securing Java EE6 applications
# W3C: modules/federation/src/main/resources/schema modules/federation/src/main/resources/wsdl
License: ASL 2.0 and W3C
URL: http://picketlink.org/
Source0: https://github.com/picketlink/picketlink/archive/v%{namedversion}/%{name}-%{namedversion}.tar.gz
BuildRequires: maven-local
BuildRequires: mvn(com.h2database:h2)
BuildRequires: mvn(javax.enterprise:cdi-api)
BuildRequires: mvn(javax.json:javax.json-api)
BuildRequires: mvn(javax.persistence:persistence-api)
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(org.apache.deltaspike.core:deltaspike-core-api)
BuildRequires: mvn(org.apache.deltaspike.core:deltaspike-core-impl)
BuildRequires: mvn(org.apache.deltaspike.modules:deltaspike-security-module-api)
BuildRequires: mvn(org.apache.deltaspike.modules:deltaspike-security-module-impl)
BuildRequires: mvn(org.apache.httpcomponents:httpclient)
BuildRequires: mvn(org.apache.maven.plugins:maven-enforcer-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-shade-plugin)
BuildRequires: mvn(org.apache.santuario:xmlsec)
BuildRequires: mvn(org.bouncycastle:bcprov-jdk15on)
BuildRequires: mvn(org.bouncycastle:bcpkix-jdk15on)
BuildRequires: mvn(org.codehaus.jackson:jackson-jaxrs)
BuildRequires: mvn(org.codehaus.jettison:jettison)
BuildRequires: mvn(org.glassfish:javax.json)
BuildRequires: mvn(org.glassfish.web:javax.el)
BuildRequires: mvn(org.hibernate:hibernate-core)
BuildRequires: mvn(org.hibernate:hibernate-entitymanager)
BuildRequires: mvn(org.hibernate.javax.persistence:hibernate-jpa-2.0-api)
BuildRequires: mvn(org.jboss.arquillian:arquillian-bom:pom:)
BuildRequires: mvn(org.jboss.jandex:jandex-maven-plugin)
BuildRequires: mvn(org.jboss.logging:jboss-logging)
BuildRequires: mvn(org.jboss.logging:jboss-logging-annotations:1)
BuildRequires: mvn(org.jboss.logging:jboss-logging-processor:1)
BuildRequires: mvn(org.jboss.resteasy:resteasy-cdi)
BuildRequires: mvn(org.jboss.resteasy:resteasy-jaxrs)
BuildRequires: mvn(org.jboss.shrinkwrap:shrinkwrap-bom:pom:)
BuildRequires: mvn(org.jboss.shrinkwrap.descriptors:shrinkwrap-descriptors-bom:pom:)
BuildRequires: mvn(org.jboss.shrinkwrap.resolver:shrinkwrap-resolver-bom:pom:)
BuildRequires: mvn(org.jboss.security:jbossxacml)
BuildRequires: mvn(org.jboss.spec.javax.ejb:jboss-ejb-api_3.1_spec)
BuildRequires: mvn(org.jboss.spec.javax.servlet:jboss-servlet-api_3.0_spec)
BuildRequires: mvn(org.jboss.weld:weld-core)
BuildRequires: mvn(org.jboss.weld.servlet:weld-servlet)
BuildRequires: mvn(org.mockito:mockito-all)
BuildRequires: mvn(org.picketbox:picketbox)
BuildRequires: mvn(org.slf4j:slf4j-ext)
BuildRequires: mvn(org.slf4j:slf4j-log4j12)
BuildRequires: mvn(org.slf4j:slf4j-simple)
BuildArch: noarch
%description
PicketLink is an open source project for simplified security and
identity management for Java Applications.
%package api
Summary: PicketLink API
%description api
PicketLink API.
%package base-parent
Summary: PicketLink Base Parent POM
%description base-parent
PicketLink Base Parent POM.
%package bom-parent
Summary: PicketLink BOM Parent POM
%description bom-parent
Dependency Management for PicketLink.
%package common
Summary: PicketLink Common
%description common
PicketLink Common Code.
%package config
Summary: PicketLink Config
%description config
PicketLink Config.
%package deltaspike
Summary: PicketLink DeltaSpike
%description deltaspike
PicketLink Apache DeltaSpike Extensions.
%package dist-parent
Summary: PicketLink Distribution POM
%description dist-parent
PicketLink Distribution POM.
%package federation
Summary: PicketLink Federation Core
%description federation
PicketLink Federation Core contains the
core infrastructure code.
%package idm-api
Summary: PicketLink Identity Management API
%description idm-api
PicketLink Identity Management API.
%package idm-impl
Summary: PicketLink Identity Management Implementation
%description idm-impl
PicketLink Identity Management Implementation.
%package idm-parent
Summary: PicketLink IDM Parent POM
%description idm-parent
PicketLink IDM Parent POM.
%package idm-simple-schema
Summary: PicketLink Identity Management - Simple JPA Entity Model
%description idm-simple-schema
PicketLink Identity Management - Simple JPA Entity Model.
%package impl
Summary: PicketLink Main Implementation
%description impl
PicketLink Main Implementation.
%package javaee-6.0
Summary: PicketLink Java EE 6 BOM POM
%description javaee-6.0
Java EE 6 Dependency Management for PicketLink.
%package javaee-7.0
Summary: PicketLink Java EE 7 BOM POM
%description javaee-7.0
Java EE 7 Dependency Management for PicketLink.
%package json
Summary: PicketLink JSON
%description json
PicketLink JSON provides an API and implementation
for JSON based on related specifications such as JWT,
JWS and JWE.
%package oauth
Summary: PicketLink OAuth
%description oauth
PicketLink OAuth contains OAuth Implementation
for v1.0 and v2.0.
%package parent
Summary: PicketLink Parent POM
%description parent
PicketLink Parent POM.
%package rest
Summary: PicketLink REST
%description rest
PicketLink REST provides a set of RESTful identity services and
clients, including support for SCIM 1.1.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%prep
%setup -q -n %{name}-%{namedversion}
# Cleanup
find . -name '*.class' -print -delete
find . -name '*.jar' -print -delete
find . -name '*.zip' -print -delete
# org.jboss.spec:jboss-javaee-6.0:pom:2.0.0.Final
%pom_remove_dep -r :jboss-javaee-6.0
# org.jboss.spec:jboss-javaee-7.0:pom:1.0.1.Final
%pom_remove_dep -r :jboss-javaee-7.0
# org.jboss.weld:weld-core-bom:pom:1.2.0.Beta1
%pom_remove_dep -r :weld-core-bom
# org.drools:drools-bom:pom:6.0.0.CR4
%pom_remove_dep -r :drools-bom
%pom_remove_plugin -r :maven-checkstyle-plugin
%pom_xpath_inject pom:properties "
UTF-8
UTF-8"
%pom_disable_module build-config
%pom_disable_module tests modules/idm
# NON available deps
# org.drools:drools-compiler:6.0.0.CR4
%pom_disable_module drools modules/idm
# com.google.oauth-client:google-oauth-client:1.14.1-beta
# com.google.api-client:google-api-client:1.14.1-beta
# com.google.http-client:google-http-client,google-http-client-jackson:1.14.1-beta
# com.google.apis:google-api-services-oauth2:v2-rev36-1.14.2-beta
# Use NON free: org.json:json:20090211 org.twitter4j:twitter4j-core:3.0.3
%pom_disable_module modules/social
# Use glassfish jsonp apis
%pom_change_dep -r org.jboss.spec.javax.json:jboss-json-api_1.0_spec javax.json:javax.json-api:1.0
# Use too old weld (core) version: 1.1.23.Final
# package org.jboss.weld.environment.se.discovery does not exist
rm -r modules/base/impl/src/test/java/org/picketlink/test/weld \
modules/base/impl/src/test/java/org/picketlink/http/test
%pom_remove_dep org.jboss.weld.se:weld-se modules/base/impl
# Use web connections for vailadate xsd files
rm -r modules/federation/src/test/java
# Unavailable test dep: apache-xalan:xalan,serializer:2.7.1.patch01-brew
%pom_remove_dep apache-xalan: modules/federation
# org.picketbox:picketbox-ldap:1.0.2.Final
# org.picketbox:picketbox-ldap::tests:1.0.2.Final
%pom_xpath_remove "pom:dependency[pom:scope = 'test']" modules/oauth
rm -r modules/oauth/src/test/java
%pom_remove_plugin :maven-war-plugin modules/oauth
%pom_remove_dep :jboss-ejb3-api modules/rest
# org.eclipse.jetty:8.1.8.v20121106
%pom_remove_dep org.eclipse.jetty: modules/rest
rm -r modules/rest/src/test/java/org/picketlink/test/scim/EmbeddedWebServerBase.java \
modules/rest/src/test/java/org/picketlink/test/scim/endpoints
# Disable copy of deltaspike
%pom_remove_dep org.picketlink:picketlink-deltaspike dist/full
%pom_add_dep org.jboss.logging:jboss-logging:'${jboss.logging.version}' modules/oauth "true"
%build
%mvn_build -s -- -Ppicketbox4
%install
%mvn_install
%files -f .mfiles-picketlink
%files api -f .mfiles-picketlink-api
%files base-parent -f .mfiles-picketlink-base-parent
%license LICENSE.TXT
%files bom-parent -f .mfiles-picketlink-bom-parent
%license LICENSE.TXT
%files common -f .mfiles-picketlink-common
%doc README.md
%license LICENSE.TXT
%files config -f .mfiles-picketlink-config
%files deltaspike -f .mfiles-picketlink-deltaspike
%files dist-parent -f .mfiles-picketlink-dist-parent
%license LICENSE.TXT
%files federation -f .mfiles-picketlink-federation
%files idm-api -f .mfiles-picketlink-idm-api
%files idm-impl -f .mfiles-picketlink-idm-impl
%files idm-parent -f .mfiles-picketlink-idm-parent
%license LICENSE.TXT
%files idm-simple-schema -f .mfiles-picketlink-idm-simple-schema
%files impl -f .mfiles-picketlink-impl
%files javaee-6.0 -f .mfiles-picketlink-javaee-6.0
%license LICENSE.TXT
%files javaee-7.0 -f .mfiles-picketlink-javaee-7.0
%license LICENSE.TXT
%files json -f .mfiles-picketlink-json
%files oauth -f .mfiles-picketlink-oauth
%files parent -f .mfiles-picketlink-parent
%license LICENSE.TXT
%files rest -f .mfiles-picketlink-rest
%files javadoc -f .mfiles-javadoc
%license LICENSE.TXT
%changelog
* Tue Jul 05 2016 gil cattaneo 2.7.1-2
- add missing BuildRequires
* Sun Jun 05 2016 gil cattaneo 2.7.1-1
- initial rpm