Blame jakarta-servlet.spec

40af0f0
%global srcname servlet-api
40af0f0
40af0f0
Name:           jakarta-servlet
40af0f0
Version:        5.0.0
28d2049
Release:        4%{?dist}
40af0f0
Summary:        Server-side API for handling HTTP requests and responses
40af0f0
# most of the project is EPL-2.0 or GPLv2 w/exceptions,
40af0f0
# but some files still have Apache-2.0 license headers:
40af0f0
# https://github.com/eclipse-ee4j/servlet-api/issues/347
40af0f0
License:        (EPL-2.0 or GPLv2 with exceptions) and ASL 2.0
40af0f0
40af0f0
URL:            https://github.com/eclipse-ee4j/servlet-api
40af0f0
Source0:        %{url}/archive/%{version}-RELEASE/%{srcname}-%{version}.tar.gz
40af0f0
40af0f0
BuildArch:      noarch
40af0f0
40af0f0
BuildRequires:  maven-local
40af0f0
BuildRequires:  mvn(org.apache.felix:maven-bundle-plugin)
40af0f0
BuildRequires:  mvn(org.codehaus.mojo:build-helper-maven-plugin)
40af0f0
40af0f0
# package renamed in fedora 33, remove in fedora 35
40af0f0
Provides:       glassfish-servlet-api = %{version}-%{release}
40af0f0
Obsoletes:      glassfish-servlet-api < 3.1.0-21
40af0f0
40af0f0
%description
40af0f0
Jakarta Servlet defines a server-side API for handling HTTP requests
40af0f0
and responses.
40af0f0
40af0f0
40af0f0
%package javadoc
40af0f0
Summary:        Javadoc for %{name}
40af0f0
40af0f0
# package renamed in fedora 33, remove in fedora 35
40af0f0
Provides:       glassfish-servlet-api-javadoc = %{version}-%{release}
40af0f0
Obsoletes:      glassfish-servlet-api-javadoc < 3.1.0-21
40af0f0
40af0f0
%description javadoc
40af0f0
This package contains the API documentation for %{name}.
40af0f0
40af0f0
40af0f0
%prep
40af0f0
%setup -q -n %{srcname}-%{version}-RELEASE
40af0f0
40af0f0
# remove unnecessary dependency on parent POM
40af0f0
%pom_remove_parent . api
40af0f0
40af0f0
# do not build specification documentation
40af0f0
%pom_disable_module spec
40af0f0
a5e2fb6
# Copy to old package name
a5e2fb6
# TODO: Remove when all dependencies are migrated from javax.servlet to jakarta.servlet
a5e2fb6
cp -pr api/src/main/java/jakarta api/src/main/java/javax
a5e2fb6
sed -i -e 's/jakarta\./javax./g' $(find api/src/main/java/javax -name *.java)
a5e2fb6
%pom_xpath_replace pom:instructions/pom:Export-Package \
a5e2fb6
  '<Export-Package>jakarta.servlet.*,javax.servlet.*;version="4.0.0"</Export-Package>' api
a5e2fb6
40af0f0
# do not install useless parent POM
40af0f0
%mvn_package jakarta.servlet:servlet-parent __noinstall
40af0f0
40af0f0
# remove unnecessary maven plugins
40af0f0
%pom_remove_plugin -r :formatter-maven-plugin
40af0f0
%pom_remove_plugin -r :impsort-maven-plugin
40af0f0
%pom_remove_plugin -r :maven-enforcer-plugin
40af0f0
%pom_remove_plugin -r :maven-javadoc-plugin
40af0f0
%pom_remove_plugin -r :maven-source-plugin
40af0f0
40af0f0
# add maven artifact coordinate aliases for backwards compatibility
40af0f0
%mvn_alias jakarta.servlet:jakarta.servlet-api \
40af0f0
    javax.servlet:javax.servlet-api \
40af0f0
    javax.servlet:servlet-api
40af0f0
75c5d10
# add compat symlink for packages constructing the classpath manually
28d2049
%mvn_file :{*} %{name}/@1 glassfish-servlet-api
75c5d10
40af0f0
40af0f0
%build
40af0f0
%mvn_build
40af0f0
40af0f0
40af0f0
%install
40af0f0
%mvn_install
40af0f0
40af0f0
40af0f0
%files -f .mfiles
40af0f0
%license LICENSE.md NOTICE.md
40af0f0
%doc README.md
40af0f0
40af0f0
%files javadoc -f .mfiles-javadoc
40af0f0
%license LICENSE.md NOTICE.md
40af0f0
40af0f0
40af0f0
%changelog
28d2049
* Thu Aug 20 2020 Mat Booth <mat.booth@redhat.com> - 5.0.0-4
28d2049
- Correct mvn_file macro invokation
28d2049
75c5d10
* Wed Aug 19 2020 Fabio Valentini <decathorpe@gmail.com> - 5.0.0-3
75c5d10
- Add compat symlink for packages constructing the classpath manually.
75c5d10
a5e2fb6
* Wed Aug 19 2020 Mat Booth <mat.booth@redhat.com> - 5.0.0-2
a5e2fb6
- Also ship the API in the old javax namespace to aid transition
a5e2fb6
40af0f0
* Thu Aug 13 2020 Fabio Valentini <decathorpe@gmail.com> - 5.0.0-1
40af0f0
- Initial package renamed from glassfish-servlet-api.
40af0f0