File gradle.spec of Package gradle

#
# spec file for package gradle
#
# Copyright (c) 2025 SUSE LINUX GmbH, Nuernberg, Germany.
#

Name:           gradle
Version:        9.2.0
Release:        0
Summary:        Groovy-based build system
License:        Apache-2.0
Group:          Development/Tools/Building
URL:            http://www.gradle.org/
Source:         https://services.gradle.org/distributions/gradle-%{version}-bin.zip
BuildRequires:  unzip
BuildArch:      noarch
Requires:       java-headless >= 1.8.0
Requires(post): update-alternatives
Requires(postun): update-alternatives

%define gpath %{_datadir}/%{name}-%{version}

%description
A flexible Groovy-based build tool.

%prep
%setup -n %{name}-%{version}

%build

%install
%{__mkdir_p} %{buildroot}/%{_datadir}
%{__mkdir_p} %{buildroot}/%{_bindir}
%{__mkdir_p} %{buildroot}%{_sysconfdir}/alternatives
%{__rm} bin/gradle.bat
%{__cp} -r ../%{name}-%{version} %{buildroot}/%{_datadir}/

# Create symlinks for alternatives to manage
ln -s %{_sysconfdir}/alternatives/gradle %{buildroot}%{_bindir}/gradle
ln -s %{_sysconfdir}/alternatives/gradle-sdk %{buildroot}%{_datadir}/gradle

%post
%{_sbindir}/update-alternatives --install \
    %{_datadir}/gradle gradle-sdk %{gpath} 25
%{_sbindir}/update-alternatives --install \
    %{_bindir}/gradle gradle %{gpath}/bin/gradle 25

%postun
if [ $1 -eq 0 ]; then
    %{_sbindir}/update-alternatives --remove gradle-sdk %{gpath} || :
    %{_sbindir}/update-alternatives --remove gradle %{gpath}/bin/gradle || :
fi

%files
%defattr(-,root,root)
%ghost %attr(0755,root,root) %{_bindir}/gradle
%ghost %attr(0755,root,root) %{_datadir}/gradle
%ghost %attr(0644,root,root) %{_sysconfdir}/alternatives/gradle
%ghost %attr(0644,root,root) %{_sysconfdir}/alternatives/gradle-sdk
%doc LICENSE NOTICE
%dir %{_datadir}/%{name}-%{version}
%{_datadir}/%{name}-%{version}/*
%exclude %{_datadir}/%{name}-%{version}/LICENSE
%exclude %{_datadir}/%{name}-%{version}/NOTICE

%changelog
openSUSE Build Service is sponsored by