Sync with MBI

Related: rhbz#1951482
This commit is contained in:
Mikolaj Izdebski 2021-04-20 09:31:40 +02:00
parent c35df14563
commit 39ee8ddb44
5 changed files with 110 additions and 102 deletions

2
.gitignore vendored
View File

@ -73,3 +73,5 @@
/5.1.0.tar.gz
/5.2.0.tar.gz
/5.3.0.tar.gz
/5.3.1.tar.gz
/6.0.0~alpha.tar.gz

19
javapackages-config.json Normal file
View File

@ -0,0 +1,19 @@
{
"maven.req": {
"always_generate": [
"javapackages-filesystem",
"(java-headless or java-11-headless)"
],
"java_requires": {
"skip": true
},
"java_devel_requires": {
"skip": true
}
},
"javadoc.req": {
"always_generate": [
"javapackages-filesystem"
]
}
}

View File

@ -2,55 +2,37 @@
# 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$
# Disable automatic bytecode compilation for files in java-utils
# https://fedoraproject.org/wiki/Packaging:Python_Appendix#Manual_byte_compilation
%global _python_bytecompile_extra 0
%bcond_without asciidoc
%bcond_with gradle
%bcond_without tests
%bcond_without xmvn_javadoc
%if 0%{?fedora} || 0%{?rhel} > 7
%global python_prefix python3
%global python_interpreter %{?__python3}%{!?__python3:dummy}
%else
%global python_prefix python
%global python_interpreter %{?__python2}%{!?__python2:dummy}
%global rpmmacrodir /etc/rpm
%endif
%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
Name: javapackages-tools
Version: 5.3.0
Release: 16%{?dist}
Version: 6.0.0~alpha
Release: 1%{?dist}
Summary: Macros and scripts for Java packaging support
License: BSD
URL: https://github.com/fedora-java/javapackages
Source0: https://github.com/fedora-java/javapackages/archive/%{version}.tar.gz
BuildArch: noarch
# git archive --prefix javapackages-6.0.0~alpha/ HEAD | gzip -9nc >6.0.0~alpha.tar.gz
Source0: %{version}.tar.gz
#Source0: https://github.com/fedora-java/javapackages/archive/%{version}.tar.gz
Source2: toolchains-openjdk8.xml
Source3: javapackages-config.json
BuildRequires: coreutils
BuildRequires: which
BuildRequires: make
%if %{with asciidoc}
BuildRequires: asciidoc
BuildRequires: xmlto
%endif
BuildRequires: %{python_prefix}-devel
BuildRequires: %{python_prefix}-lxml
BuildRequires: %{python_prefix}-setuptools
%if !0%{?_module_build}
# XXX python-nose is not part of any module yet, but it should get
# modularized one day, right? mizdebsk, Sep 2017
BuildRequires: %{python_prefix}-nose
%if !0%{?rhel}
BuildRequires: %{python_prefix}-pytest
BuildRequires: %{python_prefix}-pytest-cov
%endif
BuildRequires: %{python_prefix}-six
Requires: javapackages-filesystem = %{version}-%{release}
Requires: coreutils
@ -70,7 +52,6 @@ This package provides macros and scripts to support Java packaging.
%package -n javapackages-filesystem
Summary: Java packages filesystem layout
Obsoletes: eclipse-filesystem < 2
Provides: eclipse-filesystem = %{version}-%{release}
%description -n javapackages-filesystem
@ -81,29 +62,18 @@ install their content.
Summary: Macros and scripts for Maven packaging support
Requires: %{name} = %{version}-%{release}
Requires: javapackages-local = %{version}-%{release}
Requires: xmvn-minimal
Requires: xmvn-mojo
Requires: xmvn-connector-aether
Requires: (%{_bindir}/xmvn or javapackages-bootstrap)
Requires: (mvn(org.fedoraproject.xmvn:xmvn-mojo) or javapackages-bootstrap)
# 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)
Requires: mvn(org.apache.maven.plugins:maven-jar-plugin)
%if %{without xmvn_javadoc}
Requires: mvn(org.apache.maven.plugins:maven-javadoc-plugin)
%endif
Requires: mvn(org.apache.maven.plugins:maven-resources-plugin)
Requires: mvn(org.apache.maven.plugins:maven-surefire-plugin)
# Tests based on JUnit are very common and JUnit itself is small.
# Include JUnit and JUnit provider for Surefire just for convenience.
Requires: mvn(junit:junit)
Requires: mvn(org.apache.maven.surefire:surefire-junit4)
# testng is quite common as well
Requires: mvn(org.apache.maven.surefire:surefire-testng)
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)
%description -n maven-local
This package provides macros and scripts to support packaging Maven artifacts.
%if %{with gradle}
%package -n gradle-local
Summary: Local mode for Gradle
Requires: %{name} = %{version}-%{release}
@ -114,7 +84,6 @@ Requires: xmvn-connector-gradle
%description -n gradle-local
This package implements local mode for Gradle, which allows artifact
resolution using XMvn resolver.
%endif
%package -n ivy-local
Summary: Local mode for Apache Ivy
@ -130,8 +99,6 @@ artifact resolution using XMvn resolver.
%package -n %{python_prefix}-javapackages
Summary: Module for handling various files for Java packaging
Requires: %{python_prefix}-lxml
Requires: %{python_prefix}-six
Obsoletes: python-javapackages < %{version}-%{release}
%description -n %{python_prefix}-javapackages
Module for handling, querying and manipulating of various files for Java
@ -139,26 +106,38 @@ packaging in Linux distributions
%package -n javapackages-local
Summary: Non-essential macros and scripts for Java packaging support
Requires: %{name} = %{version}-%{release}
Requires: xmvn-install
Requires: xmvn-subst
Requires: xmvn-resolve
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)
# Java build systems don't have hard requirement on java-devel, so it should be there
Requires: java-11-openjdk-devel
Requires: %{python_prefix}-javapackages = %{version}-%{release}
Requires: %{python_interpreter}
Provides: javapackages-generators
%description -n javapackages-local
This package provides non-essential macros and scripts to support Java packaging.
%package -n javapackages-generators
Summary: RPM dependency generators for Java packaging support
Requires: %{name} = %{version}-%{release}
Requires: %{python_prefix}-javapackages = %{version}-%{release}
Requires: %{python_interpreter}
%description -n javapackages-generators
RPM dependency generators to support Java packaging.
%package -n maven-local-openjdk8
Summary: OpenJDK 8 toolchain for XMvn
Requires: maven-local
Requires: java-1.8.0-openjdk-devel
%description -n maven-local-openjdk8
OpenJDK 8 toolchain for XMvn
%prep
%setup -q -n javapackages-%{version}
%if %{without asciidoc}
sed -i '/^manpage /d' build
sed -i '/${mandir}/d' install
%endif
%build
%configure --pyinterpreter=%{python_interpreter} \
@ -169,80 +148,77 @@ sed -i '/${mandir}/d' install
%install
./install
%if %{with xmvn_javadoc}
sed -i 's|mvn_build.py|& --xmvn-javadoc|' $(find %{buildroot} -name 'macros*.fjava')
%endif
sed -e 's/.[17]$/&*/' -i files-*
%if %{without gradle}
rm -rf %{buildroot}%{_bindir}/gradle-local
rm -rf %{buildroot}%{_datadir}/gradle-local
rm -rf %{buildroot}%{_mandir}/man7/gradle_build.7
%endif
mkdir -p %{buildroot}%{_datadir}/xmvn/conf/
cp -p %{SOURCE2} %{buildroot}%{_datadir}/xmvn/conf/toolchains.xml
%if %{with tests}
%if !0%{?_module_build}
install -p -m 644 %{SOURCE3} %{buildroot}%{_sysconfdir}/java/javapackages-config.json
%if !0%{?rhel}
%check
./check
%endif
#./check
%endif
%files -f files-tools
%files -n javapackages-filesystem -f files-filesystem
%files -n javapackages-generators -f files-generators
%files -n javapackages-local -f files-local
%files -n maven-local
%if %{with gradle}
%files -n gradle-local -f files-gradle
%endif
%files -n ivy-local -f files-ivy
%files -n maven-local-openjdk8
%{_datadir}/xmvn/conf
%files -n %{python_prefix}-javapackages -f files-python
%license LICENSE
%changelog
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com> - 5.3.0-16
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
* Wed Jul 29 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 6.0.0~alpha-1
- Update to upstream version 6.0.0~alpha
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.0-15
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Jul 17 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.3.1-9
- Add separate subpackage with RPM generators
* Mon Nov 30 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.3.0-14
- Add javapackages-generators provides
* Thu Jul 16 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.3.1-8
- Don't use networking during tests
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Thu Jan 23 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.3.1-7
- Add OpenJDK 8 toolchain configuration
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 5.3.0-12
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Tue Nov 05 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.3.1-6
- Mass rebuild for javapackages-tools 201902
* Wed Jun 10 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.3.0-11
- Use XMvn Javadoc MOJO for generating API docs
* Tue May 26 2020 Miro Hrončok <mhroncok@redhat.com> - 5.3.0-10
- Rebuilt for Python 3.9
* Tue Apr 28 2020 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.3.0-10
* Fri Oct 25 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.3.1-5
- Switch to OpenJDK 11 as default JDK
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Fri Jun 28 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.3.1-4
- Enable namespaced dependency generation
* Thu Oct 03 2019 Miro Hrončok <mhroncok@redhat.com> - 5.3.0-8
- Rebuilt for Python 3.8.0rc1 (#1748018)
* Fri Jun 28 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.3.1-3
- Don't ignore duplicate metadata in namespaced modules
* Mon Aug 19 2019 Miro Hrončok <mhroncok@redhat.com> - 5.3.0-7
- Rebuilt for Python 3.8
* Fri Jun 28 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.3.1-2
- Introduce javapackages-config-maven-3.6
* Sun Aug 11 2019 Fabio Valentini <decathorpe@gmail.com> - 5.3.0-6
- Disable gradle support by default.
* Fri Jun 14 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.3.1-1
- Update to upstream version 5.3.1
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.0-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Mon Jun 10 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.3.0-7
- Define maven-3.6 install repository
* Fri May 24 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.3.0-6
- Mass rebuild for javapackages-tools 201901
* Thu Apr 25 2019 Mikolaj Izdebski <mizdebsk@redhat.com> - 5.3.0-5
- Move python modules under java-utils directory
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 5.3.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild

View File

@ -1 +1 @@
SHA512 (5.3.0.tar.gz) = 41b5398cd276cf10c1e3ce1a8283ab9ef19df8a2ad19db20553ff31e31d26af9f14bb566574a3ee534a9af2cf1f1626086bf551b4bc6ed12bc0082c46b6b7e98
SHA512 (6.0.0~alpha.tar.gz) = 1af48a06d4c29e004fded8c11c817c840a321710b76f2393020ac9fd48ddbf688539623cb784ab64874d7a5cc1320d757b18b31aa4c6e383dc4260de2e6572e3

11
toolchains-openjdk8.xml Normal file
View File

@ -0,0 +1,11 @@
<toolchains>
<toolchain>
<type>jdk</type>
<provides>
<xmvn>xmvn</xmvn>
</provides>
<configuration>
<jdkHome>/usr/lib/jvm/java-1.8.0-openjdk</jdkHome>
</configuration>
</toolchain>
</toolchains>