File gradle.spec of Package gradle
#
# spec file for package gradle
#
# Copyright (c) 2017 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 http://bugs.opensuse.org/
#
Name: gradle
Version: 6.7.1
%define binversion 6.7.1
Release: 0
Summary: A powerful build system for the JVM
License: Apache-2.0
Group: Development/Libraries/Java
Url: http://www.gradle.org
Source0: %{name}-%{version}.tar.gz
# https://services.gradle.org/versions/all
Source1: all-released-versions.json
# generated via --write-verification-metadata sha256 in gradle-kit
Source2: verification-metadata.xml
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: git
BuildRequires: gradle-kit = %{version}
BuildRequires: java-devel = 11
BuildRequires: procps
BuildRequires: unzip
BuildArch: noarch
Requires: java-headless = 11
#Requires: libnative-platform0
%description
Gradle is a build tool with a focus on build automation and support
for multi-language development. If you are building, testing,
publishing, and deploying software on any platform, Gradle offers a
flexible model that can support the entire development lifecycle from
compiling and packaging code to publishing web sites. Gradle has been
designed to support build automation across multiple languages and
platforms including Java, Scala, Android, C/C++, and Groovy, and is
closely integrated with development tools and continuous integration
servers including Eclipse, IntelliJ, and Jenkins.
For more information about Gradle, please visit: http://gradle.org
%prep
%setup -q -n %{name}-%{version}
cp %{S:2} gradle
cd ..
if [ -d %{_datadir}/tetra/gradle ]; then
rm -rf /tmp/gradle*
cp -Rf %{_datadir}/tetra/gradle* /tmp
else
cp -Rf %{_datadir}/tetra kit
fi
unzip -o %{_datadir}/tetra/%{name}-%{binversion}-bin.zip
%build
# from debian:rules
#mkdir --parents buildSrc/src/main/java
export GRADLE_USER_HOME=/tmp/gradle
export GRADLE_CACHE=/tmp/gradle-cache
export BUILD_VCS_NUMBER=%{version}
export M2_HOME=`pwd`/../kit/m2
export GRADLE_OPTS="-Xmx1024m"
export LANG=en_US.UTF-8
mkdir build
mkdir -p ~/.m2
ln -sf /home/abuild/rpmbuild/BUILD/kit/m2 ~/.m2/repository
cp %{S:1} build
# --stacktrace --info --debug \
../%{name}-%{binversion}/bin/gradle \
--gradle-user-home $GRADLE_USER_HOME \
--project-cache-dir $GRADLE_CACHE \
-Dfile.encoding=UTF-8 \
--project-prop finalRelease=true \
--offline \
--no-daemon \
--no-parallel \
assemble
%install
export GRADLE_USER_HOME=/tmp/gradle
export GRADLE_CACHE=/tmp/gradle-cache
export BUILD_VCS_NUMBER=%{version}
export NO_BRP_CHECK_BYTECODE_VERSION=true
export LANG=en_US.UTF-8
../%{name}-%{binversion}/bin/gradle \
--gradle-user-home $GRADLE_USER_HOME \
--project-cache-dir $GRADLE_CACHE \
--project-prop finalRelease=true \
--offline \
--no-daemon \
--no-parallel \
--project-prop gradle_installPath=%{buildroot}%{_datadir}/%{name} \
install
chmod 644 %{buildroot}%{_datadir}/%{name}/lib/*.jar
chmod 644 %{buildroot}%{_datadir}/%{name}/lib/plugins/*.jar
mkdir %{buildroot}%{_bindir}
ln -s %{_datadir}/%{name}/bin/gradle %{buildroot}%{_bindir}
rm -f %{buildroot}%{_datadir}/%{name}/bin/gradle.bat
%files
%defattr(-,root,root)
%dir %{_datadir}/%{name}
%{_datadir}/%{name}
%{_bindir}/*
%changelog