From 16a5289c6f7faee163bd445db5860a3b6bfa4bb1 Mon Sep 17 00:00:00 2001 From: Mikolaj Izdebski Date: Tue, 8 Jun 2021 20:17:56 +0200 Subject: [PATCH] Bootstrap Maven as non-modular packages Resolves: rhbz#1951482 --- javapackages-tools.spec | 126 +++++++++++++++++++++++++++++++--------- 1 file changed, 100 insertions(+), 26 deletions(-) diff --git a/javapackages-tools.spec b/javapackages-tools.spec index 31a4511..78a3c4d 100644 --- a/javapackages-tools.spec +++ b/javapackages-tools.spec @@ -1,17 +1,28 @@ +# Workaround for rhbz#1969370: __bootstrap macro is not defined in +# CentOS Stream, See https://bugzilla.redhat.com/1969370 +%global __bootstrap ~bootstrap + +%bcond_without bootstrap + +%if 0%{?fedora} +%bcond_without ivy +%else +%bcond_with ivy +%endif + # Don't generate requires on jpackage-utils and java-headless for # provided pseudo-artifacts: com.sun:tools and sun.jdk:jconsole. %global __requires_exclude_from %{?__requires_exclude_from:%__requires_exclude_from|}/maven-metadata/javapackages-metadata.xml$ %global python_prefix python3 %global python_interpreter %{?__python3}%{!?__python3:dummy} -%global python_sitelib %{python3_sitelib} -%global default_jdk %{?_root_prefix}%{!?_root_prefix:%{_prefix}}/lib/jvm/java-11-openjdk -%global default_jre %{?_root_prefix}%{!?_root_prefix:%{_prefix}}/lib/jvm/jre-11-openjdk +%global default_jdk %{_prefix}/lib/jvm/java-11-openjdk +%global default_jre %{_prefix}/lib/jvm/jre-11-openjdk Name: javapackages-tools Version: 6.0.0~alpha -Release: 1%{?dist} +Release: 8%{?dist} Summary: Macros and scripts for Java packaging support License: BSD URL: https://github.com/fedora-java/javapackages @@ -62,29 +73,21 @@ install their content. Summary: Macros and scripts for Maven packaging support Requires: %{name} = %{version}-%{release} Requires: javapackages-local = %{version}-%{release} -Requires: (%{_bindir}/xmvn or javapackages-bootstrap) -Requires: (mvn(org.fedoraproject.xmvn:xmvn-mojo) or javapackages-bootstrap) +%if %{without bootstrap} +Requires: %{_bindir}/xmvn +Requires: mvn(org.fedoraproject.xmvn:xmvn-mojo) # Common Maven plugins required by almost every build. It wouldn't make # sense to explicitly require them in every package built with Maven. -Requires: (mvn(org.apache.maven.plugins:maven-compiler-plugin) or javapackages-bootstrap) -Requires: (mvn(org.apache.maven.plugins:maven-jar-plugin) or javapackages-bootstrap) -Requires: (mvn(org.apache.maven.plugins:maven-resources-plugin) or javapackages-bootstrap) -Requires: (mvn(org.apache.maven.plugins:maven-surefire-plugin) or javapackages-bootstrap) +Requires: mvn(org.apache.maven.plugins:maven-compiler-plugin) +Requires: mvn(org.apache.maven.plugins:maven-jar-plugin) +Requires: mvn(org.apache.maven.plugins:maven-resources-plugin) +Requires: mvn(org.apache.maven.plugins:maven-surefire-plugin) +%endif %description -n maven-local This package provides macros and scripts to support packaging Maven artifacts. -%package -n gradle-local -Summary: Local mode for Gradle -Requires: %{name} = %{version}-%{release} -Requires: javapackages-local = %{version}-%{release} -Requires: gradle >= 2.2.1-2 -Requires: xmvn-connector-gradle - -%description -n gradle-local -This package implements local mode for Gradle, which allows artifact -resolution using XMvn resolver. - +%if %{with ivy} %package -n ivy-local Summary: Local mode for Apache Ivy Requires: %{name} = %{version}-%{release} @@ -95,6 +98,7 @@ Requires: xmvn-connector-ivy %description -n ivy-local This package implements local mode for Apache Ivy, which allows artifact resolution using XMvn resolver. +%endif %package -n %{python_prefix}-javapackages Summary: Module for handling various files for Java packaging @@ -107,11 +111,15 @@ packaging in Linux distributions %package -n javapackages-local Summary: Non-essential macros and scripts for Java packaging support Requires: javapackages-generators = %{version}-%{release} -Requires: (%{_bindir}/xmvn-install or javapackages-bootstrap) -Requires: (%{_bindir}/xmvn-subst or javapackages-bootstrap) -Requires: (%{_bindir}/xmvn-resolve or javapackages-bootstrap) +%if %{with bootstrap} +Requires: javapackages-bootstrap +%else +Requires: %{_bindir}/xmvn-install +Requires: %{_bindir}/xmvn-subst +Requires: %{_bindir}/xmvn-resolve # Java build systems don't have hard requirement on java-devel, so it should be there Requires: java-11-openjdk-devel +%endif %description -n javapackages-local This package provides non-essential macros and scripts to support Java packaging. @@ -150,6 +158,14 @@ sed -i '/${mandir}/d' install sed -e 's/.[17]$/&*/' -i files-* +rm -rf %{buildroot}%{_bindir}/gradle-local +rm -rf %{buildroot}%{_datadir}/gradle-local +rm -rf %{buildroot}%{_mandir}/man7/gradle_build.7 +%if %{without ivy} +rm -rf %{buildroot}%{_sysconfdir}/ivy +rm -rf %{buildroot}%{_sysconfdir}/ant.d +%endif + mkdir -p %{buildroot}%{_datadir}/xmvn/conf/ cp -p %{SOURCE2} %{buildroot}%{_datadir}/xmvn/conf/toolchains.xml @@ -170,9 +186,9 @@ install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/java/javapackages-config %files -n maven-local -%files -n gradle-local -f files-gradle - +%if %{with ivy} %files -n ivy-local -f files-ivy +%endif %files -n maven-local-openjdk8 %{_datadir}/xmvn/conf @@ -181,15 +197,61 @@ install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/java/javapackages-config %license LICENSE %changelog +* Tue Jun 08 2021 Mikolaj Izdebski - 6.0.0~alpha-8 +- Bootstrap Maven for CentOS Stream 9 + +* Fri Jun 04 2021 Python Maint - 6.0.0~alpha-7 +- Rebuilt for Python 3.10 + +* Mon May 17 2021 Mikolaj Izdebski - 6.0.0~alpha-6 +- Bootstrap build +- Non-bootstrap build + +* Mon May 17 2021 Mikolaj Izdebski - 6.0.0~alpha-5 +- Implement bootstrap mode + +* Thu May 13 2021 Mikolaj Izdebski - 6.0.0~alpha-4 +- Disable skippedPlugins for now + +* Thu May 13 2021 Mikolaj Izdebski - 6.0.0~alpha-3 +- Fix typos in Requires + +* Thu May 13 2021 Mikolaj Izdebski - 6.0.0~alpha-2 +- Disable javapackages-bootstrap for now + +* Tue Jan 26 2021 Fedora Release Engineering - 5.3.0-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Nov 30 2020 Mikolaj Izdebski - 5.3.0-14 +- Add javapackages-generators provides + * Wed Jul 29 2020 Mikolaj Izdebski - 6.0.0~alpha-1 - Update to upstream version 6.0.0~alpha +* Tue Jul 28 2020 Fedora Release Engineering - 5.3.0-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + * Fri Jul 17 2020 Mikolaj Izdebski - 5.3.1-9 - Add separate subpackage with RPM generators * Thu Jul 16 2020 Mikolaj Izdebski - 5.3.1-8 - Don't use networking during tests +* Fri Jul 10 2020 Jiri Vanek - 5.3.0-12 +- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11 + +* Wed Jun 10 2020 Mikolaj Izdebski - 5.3.0-11 +- Use XMvn Javadoc MOJO for generating API docs + +* Tue May 26 2020 Miro Hrončok - 5.3.0-10 +- Rebuilt for Python 3.9 + +* Tue Apr 28 2020 Mikolaj Izdebski - 5.3.0-10 +- Switch to OpenJDK 11 as default JDK + +* Wed Jan 29 2020 Fedora Release Engineering - 5.3.0-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + * Thu Jan 23 2020 Mikolaj Izdebski - 5.3.1-7 - Add OpenJDK 8 toolchain configuration @@ -199,6 +261,18 @@ install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/java/javapackages-config * Fri Oct 25 2019 Mikolaj Izdebski - 5.3.1-5 - Switch to OpenJDK 11 as default JDK +* Thu Oct 03 2019 Miro Hrončok - 5.3.0-8 +- Rebuilt for Python 3.8.0rc1 (#1748018) + +* Mon Aug 19 2019 Miro Hrončok - 5.3.0-7 +- Rebuilt for Python 3.8 + +* Sun Aug 11 2019 Fabio Valentini - 5.3.0-6 +- Disable gradle support by default. + +* Thu Jul 25 2019 Fedora Release Engineering - 5.3.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + * Fri Jun 28 2019 Mikolaj Izdebski - 5.3.1-4 - Enable namespaced dependency generation