File gradle6.spec of Package gradle6

#
# 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:           gradle6
%define origname gradle
Version:        6.9.2
%define binversion 6.9.2
Release:        0
Summary:        A powerful build system for the JVM
License:        Apache-2.0
Group:          Development/Libraries/Java
Url:            http://www.gradle.org
Source0:        %{origname}-%{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

Provides:       %{origname} = %{version}
Provides:       gradle
Conflicts:      gradle
BuildRoot:      %{_tmppath}/%{name}-%{version}-build
BuildRequires:  git
BuildRequires:  gradle6-kit = %{version}
BuildRequires:  java-devel = 11
BuildRequires:  procps
BuildRequires:  unzip
BuildRequires:  yarn
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 %{origname}-%{version}

cp %{S:2} gradle

mkdir -p build

if [ -d %{_datadir}/tetra/node_modules ]; then
  mkdir -p build/js
  cp -a %{_datadir}/tetra/node_modules build/js
  cp %{_datadir}/tetra/node_modules.state build/js
  cp %{_datadir}/tetra/package.json build/js
  cp %{_datadir}/tetra/yarn.lock build/js
  touch build/js/*
  cp -a %{_datadir}/tetra/packages build/js
  touch build/js/packages/gradle-configuration-cache-report/pre-package.json
fi

cd ..

if [ -d %{_datadir}/tetra/gradle ]; then
  rm -rf /tmp/gradle*
  cp -Rf %{_datadir}/tetra/gradle* /tmp
else
  cp -Rf %{_datadir}/tetra kit
fi

if [ -d %{_datadir}/tetra/v8-* ]; then
  rm -rf /tmp/v8-compile-cache-`id -u`
  cp -Rf %{_datadir}/tetra/v8-compile-cache-* /tmp
  mv /tmp/`basename %{_datadir}/tetra/v8-compile-cache-*` /tmp/v8-compile-cache-`id -u`
fi

(mkdir -p bin; cd bin; unzip -o %{_datadir}/tetra/%{origname}-%{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`/m2
mkdir $M2_HOME
export GRADLE_OPTS="-Xmx1024m"
export LANG=en_US.UTF-8
mkdir -p build
mkdir -p ~/.m2
ln -sf /home/abuild/rpmbuild/BUILD/m2 ~/.m2/repository
cp %{S:1} build

#   --stacktrace --info --debug \
cd `pwd`

../bin/%{origname}-%{binversion}/bin/gradle \
  --gradle-user-home $GRADLE_USER_HOME \
  --project-cache-dir $GRADLE_CACHE \
  -x kotlinNpmInstall \
  -x :configuration-cache-report:packageJson \
  -x :configuration-cache-report:generateExternalsIntegrated \
  -x :configuration-cache-report:browserProductionWebpack \
  -x :configuration-cache-report:assembleReport \
  -x :configuration-cache-report:publicPackageJson \
  --info \
  -Dfile.encoding=UTF-8 \
  --project-prop finalRelease=true \
  --offline \
  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

../bin/%{origname}-%{binversion}/bin/gradle \
  --gradle-user-home $GRADLE_USER_HOME \
  --project-cache-dir $GRADLE_CACHE \
  -x kotlinNpmInstall \
  -x :configuration-cache-report:packageJson \
  -x :configuration-cache-report:generateExternalsIntegrated \
  -x :configuration-cache-report:browserProductionWebpack \
  -x :configuration-cache-report:assembleReport \
  -x :configuration-cache-report:publicPackageJson \
  --info \
  -Dfile.encoding=UTF-8 \
  --project-prop finalRelease=true \
  --offline \
  --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
openSUSE Build Service is sponsored by