File jetty8.spec of Package jetty8
#
# spec file for package jetty8
#
# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%global __provides_exclude %{?__provides_exclude:%__provides_exclude|}^osgi\\(
%global addver v20150415
Name: jetty8
Version: 8.1.17
Release: 0
Summary: Java Webserver and Servlet Container
# Jetty is dual licensed under both ASL 2.0 and EPL 1.0, see NOTICE.txt
# some MIT-licensed code (from Utf8Appendable) is used too
License: (Apache-2.0 OR EPL-1.0) AND MIT
Group: Development/Libraries/Java
URL: http://www.eclipse.org/jetty
Source0: http://git.eclipse.org/c/jetty/org.eclipse.jetty.project.git/snapshot/org.eclipse.jetty.project-jetty-%{version}.%{addver}.tar.xz
Patch0: %{name}-java17.patch
BuildRequires: fdupes
BuildRequires: maven-local
BuildRequires: mvn(org.apache.felix:maven-bundle-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-assembly-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-dependency-plugin)
BuildRequires: mvn(org.apache.maven.plugins:maven-remote-resources-plugin)
BuildRequires: mvn(org.codehaus.mojo:build-helper-maven-plugin)
BuildRequires: mvn(org.eclipse.jetty.toolchain:jetty-artifact-remote-resources)
BuildRequires: mvn(org.eclipse.jetty.toolchain:jetty-assembly-descriptors)
BuildRequires: mvn(org.eclipse.jetty.toolchain:jetty-build-support)
BuildRequires: mvn(org.eclipse.jetty.toolchain:jetty-test-policy)
BuildRequires: mvn(org.eclipse.jetty.toolchain:jetty-version-maven-plugin)
BuildRequires: mvn(org.eclipse.jetty:jetty-parent:pom:)
BuildRequires: mvn(org.jboss.spec.javax.servlet:jboss-servlet-api_3.0_spec)
BuildRequires: mvn(org.slf4j:slf4j-api)
BuildRequires: mvn(org.slf4j:slf4j-jdk14)
BuildRequires: xz
Requires: %{name}-client = %{version}-%{release}
Requires: %{name}-continuation = %{version}-%{release}
Requires: %{name}-http = %{version}-%{release}
Requires: %{name}-io = %{version}-%{release}
Requires: %{name}-jmx = %{version}-%{release}
Requires: %{name}-rewrite = %{version}-%{release}
Requires: %{name}-security = %{version}-%{release}
Requires: %{name}-server = %{version}-%{release}
Requires: %{name}-servlet = %{version}-%{release}
Requires: %{name}-util = %{version}-%{release}
Requires: %{name}-webapp = %{version}-%{release}
Requires: %{name}-websocket = %{version}-%{release}
Requires: %{name}-xml = %{version}-%{release}
BuildArch: noarch
%description
Jetty is a 100% Java HTTP Server and Servlet Container. This means that you
do not need to configure and run a separate web server (like Apache) in order
to use Java, servlets and JSPs to generate dynamic content. Jetty is a fully
featured web server for static and dynamic content. Unlike separate
server/container solutions, this means that your web server and web
application run in the same process, without interconnection overheads
and complications. Furthermore, as a pure java component, Jetty can be simply
included in your application for demonstration, distribution or deployment.
Jetty is available on all Java supported platforms.
%package rewrite
Summary: Jetty rewrite handler
%description rewrite
This package contains %{summary}.
%package client
Summary: Jetty asynchronous HTTP client
%description client
This package contains %{summary}.
%package xml
Summary: Jetty XML utilities
%description xml
This package contains %{summary}.
%package websocket
Summary: Jetty websocket
%description websocket
This package contains %{summary}.
%package webapp
Summary: Jetty web application support
%description webapp
This package contains %{summary}.
%package util
Summary: Jetty utility classes
%description util
This package contains %{summary}.
%package servlet
Summary: Jetty servlet container
%description servlet
This package contains %{summary}.
%package server
Summary: Jetty server artifact
%description server
This package contains %{summary}.
%package security
Summary: Jetty security infrastructure
%description security
This package contains %{summary}.
%package jmx
Summary: Jetty JMX management artifact
%description jmx
This package contains %{summary}.
%package io
Summary: Jetty IO utility
%description io
This package contains %{summary}.
%package http
Summary: Jetty HTTP utility
%description http
This package contains %{summary}.
%package continuation
Summary: Jetty asynchronous API
%description continuation
This package contains %{summary}.
%package deploy
Summary: Jetty deployers
%description deploy
This package contains %{summary}.
%package servlets
Summary: Jetty utility servlets and filters
%description servlets
This package contains %{summary}.
%package javadoc
Summary: API documentation for %{name}
Group: Documentation/HTML
%description javadoc
This package provides %{summary}.
%prep
%setup -q -n org.eclipse.jetty.project-jetty-%{version}.%{addver}
%patch -P 0 -p1
find -name "*.jar" -delete
find -name "*.war" -delete
find -name "*.class" -delete
%{mvn_compat_version} : 8.1 %{version}.%{addver} 8.1.14.v20131031
# aggregating POM belongs to main package
%{mvn_package} :jetty-project::pom
%pom_change_dep -r org.eclipse.jetty.orbit:javax.servlet org.jboss.spec.javax.servlet:jboss-servlet-api_3.0_spec
# Disable unneeded modules. This is a compat package and only a
# minimal set of modules are being built.
%pom_xpath_remove "pom:modules"
%pom_xpath_inject "pom:project" "<modules/>"
for mod in continuation deploy http io jmx security server servlet servlets util webapp websocket xml client rewrite; do
%pom_xpath_inject pom:modules "<module>jetty-$mod</module>"
%pom_xpath_inject 'pom:plugin[pom:artifactId="maven-bundle-plugin"]/pom:executions/pom:execution' '
<phase>process-classes</phase>' jetty-$mod
done
# PMD plugin is not useful in Fedora.
%pom_remove_plugin -r :maven-pmd-plugin
%pom_remove_plugin -r :maven-license-plugin
%pom_remove_plugin -r :maven-enforcer-plugin
%pom_remove_plugin -r :maven-release-plugin
%pom_remove_plugin -r :maven-source-plugin
%pom_remove_plugin -r :maven-site-plugin
# Remove google analytics from javadoc
%pom_xpath_remove 'pom:plugin[pom:artifactId="maven-javadoc-plugin"]/pom:configuration/pom:header'
# this needs jetty6 things, so just remove it
# shouldn't cause any trouble since it handled only in loadClass elsewhere
%pom_remove_dep org.mortbay.jetty:jetty-util jetty-continuation
rm jetty-continuation/src/main/java/org/eclipse/jetty/continuation/Jetty6Continuation.java
# Disable default-jar executions of maven-jar-plugin in certain Jetty
# modules, which define their own executions of the plugin. This
# avoids problems with version 3.0.0 of the plugin.
%pom_xpath_inject "pom:plugin[pom:artifactId='maven-jar-plugin']/pom:executions" "
<execution>
<id>default-jar</id>
<phase>skip</phase>
</execution>" \
jetty-continuation \
jetty-http \
jetty-io \
jetty-server \
jetty-websocket \
# CCLAs and CLAs, we don't want to install these
rm -Rf LICENSE-CONTRIBUTOR/
%pom_xpath_set "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:source" 1.8
%pom_xpath_set "pom:build/pom:plugins/pom:plugin[pom:artifactId='maven-compiler-plugin']/pom:configuration/pom:target" 1.8
%build
# Tests disabled because of missing dependencies
%{mvn_build} -f -j -s -- -Dsource=8
%install
%mvn_install
%fdupes -s %{buildroot}%{_javadocdir}
%files -f .mfiles-jetty-project
%license NOTICE.txt README.txt VERSION.txt LICENSE*
%files rewrite -f .mfiles-jetty-rewrite
%files client -f .mfiles-jetty-client
%files deploy -f .mfiles-jetty-deploy
%files xml -f .mfiles-jetty-xml
%files websocket -f .mfiles-jetty-websocket
%files webapp -f .mfiles-jetty-webapp
%files util -f .mfiles-jetty-util
%license NOTICE.txt LICENSE*
%files servlet -f .mfiles-jetty-servlet
%files servlets -f .mfiles-jetty-servlets
%files server -f .mfiles-jetty-server
%files security -f .mfiles-jetty-security
%files jmx -f .mfiles-jetty-jmx
%files io -f .mfiles-jetty-io
%files http -f .mfiles-jetty-http
%files continuation -f .mfiles-jetty-continuation
#files javadoc -f .mfiles-javadoc
#license NOTICE.txt LICENSE*
%changelog