93bae29
%global namedreltag %{nil}
93bae29
%global _version %(echo %version | tr . _)
93bae29
%global namedversion %{_version}%{?namedreltag}
93bae29
93bae29
# Conditionals to help breaking grizzly <-> jersey dependency cycle
93bae29
%if 0%{?fedora}
93bae29
%bcond_with jersey
93bae29
%bcond_with jaxws
93bae29
%endif
93bae29
93bae29
Name:          grizzly
93bae29
Version:       2.3.24
6ebde6d
Release:       9%{?dist}
93bae29
Summary:       Java NIO Server Framework
93bae29
# see Grizzly_THIRDPARTYLICENSEREADME.txt
93bae29
License:       (CDDL or GPLv2 with exceptions) and BSD and ASL 2.0 and Public Domain
93bae29
URL:           http://grizzly.java.net/
93bae29
# git clone git://java.net/grizzly~git
93bae29
# (cd grizzly~git/ && git archive --format=tar --prefix=grizzly-2.3.6/ 2_3_6 | xz > ../grizzly-2.3.6.tar.xz)
93bae29
Source0:       https://github.com/GrizzlyNIO/grizzly-mirror/archive/%{namedversion}.tar.gz
93bae29
93bae29
BuildRequires: maven-local
93bae29
BuildRequires: mvn(com.sun.istack:istack-commons-maven-plugin)
93bae29
%if %{with jersey}
93bae29
BuildRequires: mvn(com.sun.jersey:jersey-client)
93bae29
BuildRequires: mvn(com.sun.jersey:jersey-server)
93bae29
BuildRequires: mvn(com.sun.jersey:jersey-servlet)
93bae29
%endif
93bae29
%if %{with jaxws}
93bae29
BuildRequires: mvn(com.sun.xml.ws:rt)
93bae29
%endif
93bae29
BuildRequires: mvn(javax.servlet:javax.servlet-api)
93bae29
BuildRequires: mvn(junit:junit)
93bae29
BuildRequires: mvn(net.java:jvnet-parent:pom:)
93bae29
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
93bae29
BuildRequires: mvn(org.apache.maven.plugins:maven-enforcer-plugin)
93bae29
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
93bae29
BuildRequires: mvn(org.codehaus.mojo:exec-maven-plugin)
93bae29
BuildRequires: mvn(org.glassfish.gmbal:gmbal)
93bae29
BuildRequires: mvn(org.glassfish.gmbal:gmbal-api-only)
93bae29
BuildRequires: mvn(org.glassfish.grizzly:grizzly-npn-api)
93bae29
BuildRequires: mvn(org.glassfish.grizzly:grizzly-npn-bootstrap)
93bae29
BuildRequires: mvn(org.glassfish.hk2:hk2-inhabitant-generator)
93bae29
BuildRequires: mvn(org.glassfish.hk2:osgiversion-maven-plugin)
93bae29
BuildRequires: mvn(org.mockito:mockito-all)
6ebde6d
BuildRequires: mvn(org.osgi:osgi.cmpn)
6ebde6d
BuildRequires: mvn(org.osgi:osgi.core)
93bae29
93bae29
BuildArch:     noarch
93bae29
93bae29
%description
93bae29
Writing scalable server applications in the Java programming
93bae29
language has always been difficult. Before the advent of the
93bae29
Java New I/O API (NIO), thread management issues made it
93bae29
impossible for a server to scale to thousands of users. The
93bae29
Grizzly framework has been designed to help developers to take
93bae29
advantage of the Java NIO API. Originally developed under the
93bae29
GlassFish umbrella, the framework is now available as a
93bae29
standalone project. Grizzly goals is to help developers to
93bae29
build scalable and robust servers using NIO.
93bae29
93bae29
%package samples
93bae29
Summary:       Grizzly samples
93bae29
93bae29
%description samples
93bae29
This package contains samples for %{name}.
93bae29
93bae29
%package javadoc
93bae29
Summary:       Javadoc for %{name}
93bae29
93bae29
%description javadoc
93bae29
This package contains javadoc for %{name}.
93bae29
93bae29
%prep
93bae29
%setup -q -n %{name}-mirror-%{namedversion}
93bae29
find . -name '*.class' -delete
93bae29
find . -name '*.jar' -print -delete
93bae29
find . -name '*.js' -print -delete
93bae29
93bae29
# unavailable deps
93bae29
# org.jvnet.maven-antrun-extended-plugin maven-antrun-extended-plugin
93bae29
%pom_disable_module bundles extras
93bae29
%pom_disable_module bundles modules
93bae29
6ebde6d
# use latest OSGi implementation
6ebde6d
%pom_change_dep -r :org.osgi.core org.osgi:osgi.core
6ebde6d
%pom_change_dep -r :org.osgi.compendium org.osgi:osgi.cmpn
6ebde6d
93bae29
# org.ops4j maven-pax-plugin  1.5
93bae29
%pom_disable_module grizzly-httpservice extras
93bae29
# Unsupport war extension
93bae29
%pom_disable_module comet samples
93bae29
%pom_disable_module websockets/chat samples
93bae29
%pom_disable_module websockets/chat-ssl samples
93bae29
93bae29
%pom_remove_dep :maven-bundle-plugin
93bae29
%pom_remove_dep :maven-plugin-tools-api
93bae29
%pom_remove_dep org.glassfish.hk2:config-types
93bae29
%pom_remove_dep org.glassfish.hk2:core
93bae29
%pom_remove_dep org.glassfish.hk2:hk2-config
93bae29
%pom_remove_dep org.glassfish.hk2:hk2-locator
93bae29
%pom_remove_dep org.glassfish.hk2:osgi-adapter
93bae29
93bae29
# wagon-webdav & wagon-ssh-external
93bae29
%pom_xpath_remove "pom:build/pom:extensions"
93bae29
93bae29
# org.glassfish.grizzly:grizzly-npn-bootstrap:1.0
93bae29
%pom_xpath_inject "pom:dependency[pom:artifactId = 'grizzly-spdy']" '<version>${project.version}</version>' samples/spdy-samples
93bae29
93bae29
#%% pom_remove_dep org.glassfish.grizzly:documentation bom
93bae29
%pom_remove_dep org.glassfish.grizzly:grizzly-comet-server bom
93bae29
%pom_remove_dep org.glassfish.grizzly:grizzly-compression bom
93bae29
%pom_remove_dep org.glassfish.grizzly:grizzly-core bom
93bae29
%pom_remove_dep org.glassfish.grizzly:grizzly-http-all bom
93bae29
%pom_remove_dep org.glassfish.grizzly:grizzly-http-server-core bom
93bae29
%pom_remove_dep org.glassfish.grizzly:grizzly-http-server-jaxws bom
93bae29
%pom_remove_dep org.glassfish.grizzly:grizzly-http-servlet-server bom
93bae29
%pom_remove_dep org.glassfish.grizzly:grizzly-websockets-server bom
93bae29
%pom_remove_dep org.glassfish.grizzly.osgi:grizzly-httpservice bom
93bae29
%pom_remove_dep org.glassfish.grizzly.osgi:grizzly-httpservice-bundle bom
93bae29
%pom_remove_plugin :maven-antrun-extended-plugin bom
93bae29
%pom_remove_plugin :glassfish-copyright-maven-plugin bom
93bae29
93bae29
%pom_remove_plugin :findbugs-maven-plugin
93bae29
%pom_remove_plugin :glassfish-copyright-maven-plugin
93bae29
%pom_remove_plugin :nexus-maven-plugin
93bae29
%pom_remove_plugin :maven-source-plugin
93bae29
%pom_xpath_remove "pom:plugin[pom:artifactId='maven-javadoc-plugin']/pom:executions"
93bae29
93bae29
%if %{without jersey}
93bae29
%pom_remove_dep com.sun.jersey: modules/http-servlet
93bae29
rm -rf modules/http-servlet/src/test/java/filter/*
93bae29
%else
93bae29
%pom_add_dep com.sun.jersey:jersey-servlet:'${jersey-version}':test modules/http-servlet
93bae29
%endif
93bae29
93bae29
cp -p modules/grizzly/src/main/resources/Grizzly_THIRDPARTYLICENSEREADME.txt .
93bae29
sed -i 's/\r//' LICENSE.txt Grizzly_THIRDPARTYLICENSEREADME.txt
93bae29
93bae29
%pom_xpath_set -r "pom:plugin[pom:groupId='com.sun.istack']/pom:artifactId" istack-commons-maven-plugin
93bae29
93bae29
# Force servlet 3.1 apis
93bae29
%pom_change_dep -r javax.servlet:servlet-api javax.servlet:javax.servlet-api:'${servlet-version}'
93bae29
93bae29
%if %{without jaxws}
93bae29
%pom_disable_module http-server-jaxws extras
93bae29
%pom_disable_module http-jaxws-samples samples
93bae29
%else
93bae29
%pom_change_dep com.sun.xml.ws: :rt extras/http-server-jaxws
93bae29
%pom_change_dep com.sun.xml.ws: :rt samples/http-jaxws-samples
93bae29
%endif
93bae29
93bae29
for m in http2 spdy ; do
93bae29
%pom_xpath_remove "pom:plugin[pom:artifactId='maven-jar-plugin']/pom:configuration/pom:useDefaultManifestFile" modules/${m}
93bae29
%pom_xpath_inject "pom:plugin[pom:artifactId='maven-jar-plugin']/pom:configuration" '
93bae29
  <archive>
93bae29
    <manifestFile>${project.build.outputDirectory}/META-INF/MANIFEST.MF</manifestFile>
93bae29
  </archive>' modules/${m}
93bae29
done
93bae29
93bae29
%mvn_package org.glassfish.grizzly.samples: samples
93bae29
93bae29
%build
93bae29
# forcing the use of required glassfish-servlet-api 3.1 apis
93bae29
# test skipped on arm builder
93bae29
# https://bugzilla.redhat.com/show_bug.cgi?id=991712
93bae29
%mvn_build \
93bae29
%ifarch %{arm}
93bae29
 -f -- \
93bae29
%else
93bae29
 -- -Dmaven.test.failure.ignore=true \
93bae29
%endif
93bae29
 -Dmaven.local.depmap.file="%{_mavendepmapfragdir}/glassfish-servlet-api.xml"
93bae29
93bae29
%install
93bae29
%mvn_install
93bae29
93bae29
(
93bae29
  cd %{buildroot}%{_javadir}/%{name}
93bae29
  ln -sf %{name}-framework.jar %{name}.jar
93bae29
)
93bae29
93bae29
%files -f .mfiles
93bae29
%{_javadir}/%{name}/%{name}.jar
93bae29
%license LICENSE.txt Grizzly_THIRDPARTYLICENSEREADME.txt
93bae29
93bae29
%files samples -f .mfiles-samples
93bae29
%license LICENSE.txt Grizzly_THIRDPARTYLICENSEREADME.txt
93bae29
93bae29
%files javadoc -f .mfiles-javadoc
93bae29
%license LICENSE.txt Grizzly_THIRDPARTYLICENSEREADME.txt
93bae29
93bae29
%changelog
6ebde6d
* Tue Oct 08 2019 Fabio Valentini <decathorpe@gmail.com> - 2.3.24-9
6ebde6d
- Migrate away from the retired felix OSGi implementation.
6ebde6d
93bae29
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.24-8
93bae29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
93bae29
93bae29
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.24-7
93bae29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
93bae29
93bae29
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.24-6
93bae29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
93bae29
93bae29
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.24-5
93bae29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
93bae29
93bae29
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.24-4
93bae29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
93bae29
93bae29
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.24-3
93bae29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
93bae29
93bae29
* Fri Jun 24 2016 gil cattaneo <puntogil@libero.it> 2.3.24-2
93bae29
- disable jaxws support
93bae29
93bae29
* Thu Feb 18 2016 gil cattaneo <puntogil@libero.it> 2.3.24-1
93bae29
- update to 2.3.24
93bae29
93bae29
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 2.3.23-2
93bae29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
93bae29
93bae29
* Sun Oct 04 2015 gil cattaneo <puntogil@libero.it> 2.3.23-1
93bae29
- update to 2.3.23
93bae29
93bae29
* Tue Aug 11 2015 gil cattaneo <puntogil@libero.it> 2.3.21-1
93bae29
- update to 2.3.21
93bae29
93bae29
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.19-2
93bae29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
93bae29
93bae29
* Mon May 04 2015 gil cattaneo <puntogil@libero.it> 2.3.19-1
93bae29
- update to 2.3.19
93bae29
93bae29
* Tue Feb 03 2015 gil cattaneo <puntogil@libero.it> 2.3.6-3
93bae29
- introduce license macro
93bae29
93bae29
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.6-2
93bae29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
93bae29
93bae29
* Fri Oct 04 2013 gil cattaneo <puntogil@libero.it> 2.3.6-1
93bae29
- update to 2.3.6
93bae29
93bae29
* Fri Aug 09 2013 gil cattaneo <puntogil@libero.it> 2.3.4-1
93bae29
- update to 2.3.4
93bae29
93bae29
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.3.3-2
93bae29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
93bae29
93bae29
* Wed Jul 10 2013 gil cattaneo <puntogil@libero.it> 2.3.3-1
93bae29
- update to 2.3.3
93bae29
- built with XMvn
93bae29
- enable glassfish-jaxws support
93bae29
93bae29
* Sat May 18 2013 gil cattaneo <puntogil@libero.it> 2.3.2-2
93bae29
- fix aId for new istack-commons maven plugin
93bae29
93bae29
* Sat May 04 2013 gil cattaneo <puntogil@libero.it> 2.3.2-1
93bae29
- update to 2.3.2
93bae29
93bae29
* Sat Apr 20 2013 gil cattaneo <puntogil@libero.it> 2.3.1-2
93bae29
- fix License tag
93bae29
93bae29
* Wed Apr 17 2013 gil cattaneo <puntogil@libero.it> 2.3.1-1
93bae29
- update to 2.3.1
93bae29
93bae29
* Thu Apr 11 2013 gil cattaneo <puntogil@libero.it> 2.3-1
93bae29
- update to 2.3
93bae29
93bae29
* Wed Mar 13 2013 gil cattaneo <puntogil@libero.it> 2.3-0.1.rc4
93bae29
- update to 2.3-rc4
93bae29
93bae29
* Fri Feb 22 2013 gil cattaneo <puntogil@libero.it> 2.3-0.1.beta9
93bae29
- update to 2.3-beta9
93bae29
93bae29
* Thu Dec 13 2012 gil cattaneo <puntogil@libero.it> 2.3-0.1.beta8
93bae29
- update to 2.3-beta8
93bae29
93bae29
* Wed Oct 24 2012 gil cattaneo <puntogil@libero.it> 2.3-0.1.beta6
93bae29
- update to 2.3-beta6
93bae29
93bae29
* Mon Oct 22 2012 gil cattaneo <puntogil@libero.it> 2.2.19-1
93bae29
- update to 2.2.19
93bae29
93bae29
* Wed Sep 19 2012 gil cattaneo <puntogil@libero.it> 2.2.18-1
93bae29
- initial rpm