Name: tyrus
Version: 1.12
Release: 2%{?dist}
Summary: JSR 356: Java API for WebSocket - Reference Implementation
License: CDDL and GPLv2 with exceptions
URL: https://tyrus.java.net/
Source0: https://github.com/tyrus-project/tyrus/archive/%{version}.tar.gz
BuildRequires: maven-local
BuildRequires: mvn(com.sun.istack:istack-commons-maven-plugin)
# https://bugzilla.redhat.com/show_bug.cgi?id=995433
# BuildRequires: mvn(javax.ejb:javax.ejb-api)
BuildRequires: mvn(javax.enterprise:cdi-api)
BuildRequires: mvn(javax.servlet:javax.servlet-api)
# https://bugzilla.redhat.com/show_bug.cgi?id=995444
# BuildRequires: mvn(javax.websocket:javax.websocket-api)
BuildRequires: mvn(jline:jline)
BuildRequires: mvn(junit:junit)
BuildRequires: mvn(net.java:jvnet-parent:pom:)
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-release-plugin)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: mvn(org.codehaus.mojo:exec-maven-plugin)
BuildRequires: mvn(org.glassfish.grizzly:grizzly-framework)
BuildRequires: mvn(org.glassfish.grizzly:grizzly-http-server)
BuildRequires: mvn(org.jboss.spec.javax.ejb:jboss-ejb-api_3.2_spec)
BuildRequires: mvn(org.jboss.spec.javax.websocket:jboss-websocket-api_1.1_spec)
BuildRequires: mvn(org.jvnet.jaxb2.maven2:maven-jaxb22-plugin)
BuildRequires: mvn(org.osgi:org.osgi.core)
BuildArch: noarch
%description
Tyrus is the open source JSR 356 - Java API for WebSocket reference
implementation for easy development of WebSocket applications.
WebSocket protocol defined by IETF provides bi-directional
communication between the server and the remote host. The pros
are mainly the ability to communicate both ways, low latency and
small communication overhead. Therefore Tyrus and WebSocket in
general are suitable for web applications that require sending a
huge volume of relatively small messages like online games or
market ticker broadcasting.
%package bom
Summary: Tyrus BOM
%description bom
Tyrus Bill of Materials (BOM).
%package client
Summary: Tyrus Client
%description client
Tyrus Client.
%package client-cli
Summary: Tyrus CLI Client
%description client-cli
Tyrus CLI Client.
%package client-java8
Summary: Tyrus Java8 Client Extension
%description client-java8
Tyrus Java8 Client Extension.
%package container-glassfish-cdi
Summary: Tyrus CDI Component Provider
%description container-glassfish-cdi
Tyrus CDI Component Provider.
%package container-glassfish-ejb
Summary: Tyrus EJB Component Provider
%description container-glassfish-ejb
Tyrus EJB Component Provider.
%package containers-glassfish-project
Summary: Tyrus Containers For Glassfish Parent POM
%description containers-glassfish-project
Tyrus Containers For Glassfish Parent POM.
%package container-grizzly-client
Summary: Tyrus Grizzly Client Container
%description container-grizzly-client
Tyrus Grizzly Client Container.
%package container-grizzly-server
Summary: Tyrus Grizzly Server Container
%description container-grizzly-server
Tyrus Grizzly Server Container.
%package container-inmemory
Summary: Tyrus InMemory Container
%description container-inmemory
Tyrus InMemory Container.
%package container-jdk-client
Summary: Tyrus JDK Client Container
%description container-jdk-client
Tyrus JDK Client Container.
%package containers-project
Summary: Tyrus Container Modules Parent POM
%description containers-project
Tyrus Container Modules Parent POM.
%package container-servlet
Summary: Tyrus Servlet Container
%description container-servlet
Tyrus Servlet Container.
%package core
Summary: Tyrus Core
# BSD: core/src/main/java/org/glassfish/tyrus/core/Base64Utils.java
License: (CDDL and GPLv2 with exceptions) and BSD
%description core
Tyrus Core.
%package extension-deflate
Summary: Tyrus Extension - Per Message Deflate
%description extension-deflate
Tyrus Extension - Per Message Deflate.
%package extensions-project
Summary: Tyrus Extension Modules Parent POM
%description extensions-project
Tyrus Extension Modules Parent POM.
%package monitoring-jmx
Summary: Tyrus Monitoring JMX
%description monitoring-jmx
Tyrus Monitoring JMX.
%package project
Summary: Tyrus Parent POM
%description project
Tyrus Parent POM.
%package server
Summary: Tyrus Server
%description server
Tyrus Server.
%package spi
Summary: Tyrus Container SPI
%description spi
Tyrus Container SPI.
%package test-tools
Summary: Tyrus Test Tools
%description test-tools
Tyrus Test Tools.
%package tests-project
Summary: Tyrus Tests Parent POM
%description tests-project
Tyrus Tests Parent POM.
%package javadoc
Summary: Javadoc for %{name}
%description javadoc
This package contains javadoc for %{name}.
%prep
%setup -q -n %{name}-%{version}
find -name "*.class" -print -delete
find -name "*.jar" -print -delete
# Unsupported features
%pom_disable_module archetypes
# Unwanted features
%pom_disable_module bundles
# Unavailable plugin com.agilejava.docbkx:docbkx-maven-plugin:2.0.15
%pom_disable_module docs
# Unsupported features: war
%pom_disable_module samples
# Unavailable dep: org.json:json:20090211
%pom_disable_module e2e tests
# Unsupported features: war
%pom_disable_module servlet tests
# Broken build. This plugin need to be update https://bugzilla.redhat.com/show_bug.cgi?id=1031260
%pom_remove_plugin -r :maven-checkstyle-plugin
# Unneeded tasks
%pom_remove_plugin -r :maven-deploy-plugin
%pom_remove_plugin -r :maven-source-plugin
# Unavailable plugin
%pom_remove_plugin -r :glassfish-copyright-maven-plugin
# Do not bundle system libraries
%pom_remove_plugin -r :maven-shade-plugin
# Update plugin references
%pom_xpath_set -r "pom:plugin[pom:groupId = 'com.sun.istack' ]/pom:artifactId" istack-commons-maven-plugin
# Use maven system setting for javadoc generation
%pom_xpath_remove -r "pom:plugin[pom:artifactId='maven-javadoc-plugin']/pom:executions"
%pom_remove_plugin :maven-javadoc-plugin containers/servlet
# Prepare offline setting for generate java source code
cat > core/etc/bindings.cat << EOF
PUBLIC "-//W3C//DTD XMLSchema 200102//EN" "XMLSchema.dtd"
PUBLIC "XMLSchema" "XMLSchema.dtd"
SYSTEM "XMLSchema.dtd" "XMLSchema.dtd"
PUBLIC "datatypes" "datatypes.dtd"
SYSTEM "datatypes.dtd" "datatypes.dtd"
SYSTEM "xml.xsd" "xml.xsd"
EOF
rm -r core/etc/catalog.xml
sed -i 's|schemaLocation="http://www.w3.org/2001/xml.xsd"|schemaLocation="./xml.xsd"|' core/etc/wsadl.xsd
# Update plugin references
%pom_remove_plugin com.sun.tools.xjc.maven2: core
%pom_add_plugin "org.jvnet.jaxb2.maven2:maven-jaxb22-plugin:0.12.3" core '
bindings
generate-sources
generate
org.glassfish.tyrus.core.wsadl.model
${basedir}/etc/bindings.cat
${basedir}/etc
${basedir}
wsadl.xsd
false
true
2.1
true
false
'
%pom_change_dep -r javax.ejb:javax.ejb-api org.jboss.spec.javax.ejb:jboss-ejb-api_3.2_spec
%pom_change_dep -r javax.websocket:javax.websocket-api org.jboss.spec.javax.websocket:jboss-websocket-api_1.1_spec
%pom_remove_dep -r :javax.websocket-client-api
%pom_change_dep javax.websocket:javax.websocket-api org.jboss.spec.javax.websocket:jboss-websocket-api_1.1_spec containers/servlet
%build
%mvn_build -s
%install
%mvn_install
%files bom -f .mfiles-%{name}-bom
%license LICENSE.txt LICENSE.html
%files client -f .mfiles-%{name}-client
%license LICENSE.txt LICENSE.html
%files client-cli -f .mfiles-%{name}-client-cli
%license LICENSE.txt LICENSE.html
%files client-java8 -f .mfiles-%{name}-client-java8
%license LICENSE.txt LICENSE.html
%files container-glassfish-cdi -f .mfiles-%{name}-container-glassfish-cdi
%license LICENSE.txt LICENSE.html
%files container-glassfish-ejb -f .mfiles-%{name}-container-glassfish-ejb
%license LICENSE.txt LICENSE.html
%files containers-glassfish-project -f .mfiles-%{name}-containers-glassfish-project
%license LICENSE.txt LICENSE.html
%files container-grizzly-client -f .mfiles-%{name}-container-grizzly-client
%license LICENSE.txt LICENSE.html
%files container-grizzly-server -f .mfiles-%{name}-container-grizzly-server
%license LICENSE.txt LICENSE.html
%files container-inmemory -f .mfiles-%{name}-container-inmemory
%license LICENSE.txt LICENSE.html
%files container-jdk-client -f .mfiles-%{name}-container-jdk-client
%license LICENSE.txt LICENSE.html
%files containers-project -f .mfiles-%{name}-containers-project
%license LICENSE.txt LICENSE.html
%files container-servlet -f .mfiles-%{name}-container-servlet
%license LICENSE.txt LICENSE.html
%files core -f .mfiles-%{name}-core
%license LICENSE.txt LICENSE.html
%files extension-deflate -f .mfiles-%{name}-extension-deflate
%license LICENSE.txt LICENSE.html
%files extensions-project -f .mfiles-%{name}-extensions-project
%license LICENSE.txt LICENSE.html
%files monitoring-jmx -f .mfiles-%{name}-monitoring-jmx
%license LICENSE.txt LICENSE.html
%files project -f .mfiles-%{name}-project
%license LICENSE.txt LICENSE.html
%files server -f .mfiles-%{name}-server
%license LICENSE.txt LICENSE.html
%files spi -f .mfiles-%{name}-spi
%doc README.md
%license LICENSE.txt LICENSE.html
%files test-tools -f .mfiles-%{name}-test-tools
%license LICENSE.txt LICENSE.html
%files tests-project -f .mfiles-%{name}-tests-project
%license LICENSE.txt LICENSE.html
%files javadoc -f .mfiles-javadoc
%license LICENSE.txt LICENSE.html
%changelog
* Wed Nov 11 2015 gil cattaneo 1.12-2
- correct license field in core sub package
* Thu Oct 22 2015 gil cattaneo 1.12-1
- update to 1.12
* Sun Aug 30 2015 gil cattaneo 1.11-1
- update to 1.11
* Fri Aug 09 2013 gil cattaneo 1.2.1-1
- initial rpm