332 lines
11 KiB
RPMSpec
332 lines
11 KiB
RPMSpec
#
|
|
# spec file
|
|
#
|
|
# Copyright (c) 2021 SUSE LLC
|
|
#
|
|
# 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 https://bugs.opensuse.org/
|
|
#
|
|
|
|
|
|
%global short_name gradle
|
|
%global gradle_version 4.4.1
|
|
%global groovy_version 2.4.21
|
|
%global gpars_version 1.2.1
|
|
Name: %{short_name}-bootstrap
|
|
Version: %{gradle_version}
|
|
Release: 0
|
|
Summary: Bootstrap version of Gradle build automation tool
|
|
# Some examples and integration tests are under GNU LGPL and Boost
|
|
# Software License, but are not used to create binary package.
|
|
License: Apache-2.0
|
|
URL: https://www.gradle.org/
|
|
# Tarball of %{_datadir}/gradle directory from our own gradle package built from sources with all the symlinks dereferenced
|
|
Source0: %{short_name}-%{gradle_version}-built.tar.xz
|
|
Source1: gradle-launcher.sh.in
|
|
Source2: gradle-man.txt
|
|
# Pom file from our own groovy package built from sources
|
|
Source100: groovy-all.pom
|
|
Source200: http://central.maven.org/maven2/org/codehaus/gpars/gpars/%{gpars_version}/gpars-%{gpars_version}.pom
|
|
# Our own built gpars.jar
|
|
Source201: gpars.jar
|
|
|
|
BuildRequires: ant
|
|
BuildRequires: apache-commons-cli
|
|
BuildRequires: apache-commons-codec
|
|
BuildRequires: apache-commons-collections
|
|
BuildRequires: apache-commons-compress
|
|
BuildRequires: apache-commons-io
|
|
BuildRequires: apache-commons-lang
|
|
BuildRequires: apache-commons-lang3
|
|
BuildRequires: apache-ivy
|
|
BuildRequires: aqute-bndlib
|
|
BuildRequires: asciidoc
|
|
BuildRequires: atinject
|
|
BuildRequires: aws-sdk-java-core
|
|
BuildRequires: aws-sdk-java-kms
|
|
BuildRequires: aws-sdk-java-s3
|
|
BuildRequires: base64coder
|
|
BuildRequires: bash
|
|
BuildRequires: beust-jcommander
|
|
BuildRequires: bouncycastle
|
|
BuildRequires: bouncycastle-pg
|
|
BuildRequires: bsh2
|
|
BuildRequires: ecj
|
|
BuildRequires: glassfish-servlet-api
|
|
BuildRequires: google-gson
|
|
BuildRequires: google-guice
|
|
BuildRequires: guava
|
|
BuildRequires: hawtjni-runtime
|
|
BuildRequires: httpcomponents-client
|
|
BuildRequires: httpcomponents-core
|
|
BuildRequires: jackson-annotations
|
|
BuildRequires: jackson-core
|
|
BuildRequires: jackson-databind
|
|
BuildRequires: jansi
|
|
BuildRequires: jansi-native
|
|
BuildRequires: jatl
|
|
BuildRequires: javapackages-local
|
|
BuildRequires: jcifs
|
|
BuildRequires: jcip-annotations
|
|
BuildRequires: jcl-over-slf4j
|
|
BuildRequires: jetty-server
|
|
BuildRequires: jetty-util
|
|
BuildRequires: jgit
|
|
BuildRequires: joda-time
|
|
BuildRequires: jsch
|
|
BuildRequires: jsr-305
|
|
BuildRequires: jul-to-slf4j
|
|
BuildRequires: junit
|
|
BuildRequires: kryo
|
|
BuildRequires: log4j-over-slf4j
|
|
BuildRequires: maven-lib
|
|
BuildRequires: maven-resolver-api
|
|
BuildRequires: maven-resolver-connector-basic
|
|
BuildRequires: maven-resolver-impl
|
|
BuildRequires: maven-resolver-spi
|
|
BuildRequires: maven-resolver-transport-wagon
|
|
BuildRequires: maven-resolver-util
|
|
BuildRequires: maven-wagon-file
|
|
BuildRequires: maven-wagon-http
|
|
BuildRequires: maven-wagon-http-shared
|
|
BuildRequires: maven-wagon-provider-api
|
|
BuildRequires: minlog
|
|
BuildRequires: native-platform
|
|
BuildRequires: nekohtml
|
|
BuildRequires: objectweb-asm
|
|
BuildRequires: objenesis
|
|
BuildRequires: osgi-compendium
|
|
BuildRequires: plexus-cipher
|
|
BuildRequires: plexus-classworlds
|
|
BuildRequires: plexus-containers-component-annotations
|
|
BuildRequires: plexus-interpolation
|
|
BuildRequires: plexus-sec-dispatcher
|
|
BuildRequires: plexus-utils
|
|
BuildRequires: reflectasm
|
|
BuildRequires: rhino
|
|
BuildRequires: sisu-inject
|
|
BuildRequires: sisu-plexus
|
|
BuildRequires: slf4j
|
|
BuildRequires: snakeyaml
|
|
BuildRequires: tesla-polyglot-common
|
|
BuildRequires: testng
|
|
BuildRequires: xbean
|
|
BuildRequires: xerces-j2
|
|
BuildRequires: xml-commons-apis
|
|
BuildRequires: xmlto
|
|
BuildRequires: xmvn-install
|
|
BuildRequires: xmvn-subst
|
|
BuildRequires: mvn(org.codehaus.jcsp:jcsp)
|
|
BuildRequires: mvn(org.codehaus.jsr166-mirror:extra166y)
|
|
BuildRequires: mvn(org.jboss.netty:netty:3)
|
|
BuildRequires: mvn(org.multiverse:multiverse-core)
|
|
|
|
Requires: ant
|
|
Requires: apache-commons-cli
|
|
Requires: apache-commons-codec
|
|
Requires: apache-commons-collections
|
|
Requires: apache-commons-compress
|
|
Requires: apache-commons-io
|
|
Requires: apache-commons-lang
|
|
Requires: apache-commons-lang3
|
|
Requires: apache-ivy
|
|
Requires: aqute-bndlib
|
|
Requires: atinject
|
|
Requires: aws-sdk-java-core
|
|
Requires: aws-sdk-java-kms
|
|
Requires: aws-sdk-java-s3
|
|
Requires: base64coder
|
|
Requires: bash
|
|
Requires: beust-jcommander
|
|
Requires: bouncycastle
|
|
Requires: bouncycastle-pg
|
|
Requires: bsh2
|
|
Requires: ecj
|
|
Requires: glassfish-servlet-api
|
|
Requires: google-gson
|
|
Requires: google-guice
|
|
Requires: guava
|
|
Requires: hawtjni-runtime
|
|
Requires: httpcomponents-client
|
|
Requires: httpcomponents-core
|
|
Requires: jackson-annotations
|
|
Requires: jackson-core
|
|
Requires: jackson-databind
|
|
Requires: jansi
|
|
Requires: jansi-native
|
|
Requires: jatl
|
|
Requires: javapackages-tools
|
|
Requires: jcifs
|
|
Requires: jcip-annotations
|
|
Requires: jcl-over-slf4j
|
|
Requires: jetty-server
|
|
Requires: jetty-util
|
|
Requires: jgit
|
|
Requires: joda-time
|
|
Requires: jsch
|
|
Requires: jsr-305
|
|
Requires: jul-to-slf4j
|
|
Requires: junit
|
|
Requires: kryo
|
|
Requires: log4j-over-slf4j
|
|
Requires: maven-lib
|
|
Requires: maven-resolver-api
|
|
Requires: maven-resolver-connector-basic
|
|
Requires: maven-resolver-impl
|
|
Requires: maven-resolver-spi
|
|
Requires: maven-resolver-transport-wagon
|
|
Requires: maven-resolver-util
|
|
Requires: maven-wagon-file
|
|
Requires: maven-wagon-http
|
|
Requires: maven-wagon-http-shared
|
|
Requires: maven-wagon-provider-api
|
|
Requires: minlog
|
|
Requires: native-platform
|
|
Requires: nekohtml
|
|
Requires: objectweb-asm
|
|
Requires: objenesis
|
|
Requires: osgi-compendium
|
|
Requires: plexus-cipher
|
|
Requires: plexus-classworlds
|
|
Requires: plexus-containers-component-annotations
|
|
Requires: plexus-interpolation
|
|
Requires: plexus-sec-dispatcher
|
|
Requires: plexus-utils
|
|
Requires: reflectasm
|
|
Requires: rhino
|
|
Requires: sisu-inject
|
|
Requires: sisu-plexus
|
|
Requires: slf4j
|
|
Requires: snakeyaml
|
|
Requires: tesla-polyglot-common
|
|
Requires: testng
|
|
Requires: xbean
|
|
Requires: xerces-j2
|
|
Requires: xml-commons-apis
|
|
Requires: mvn(org.codehaus.groovy:groovy-all)
|
|
Recommends: java-devel
|
|
Provides: %{short_name} = %{gradle_version}
|
|
|
|
%description
|
|
Gradle is build automation evolved. Gradle can automate the building,
|
|
testing, publishing, deployment and more of software packages or other
|
|
types of projects such as generated static websites, generated
|
|
documentation or indeed anything else.
|
|
|
|
Gradle combines the power and flexibility of Ant with the dependency
|
|
management and conventions of Maven into a more effective way to
|
|
build. Powered by a Groovy DSL and packed with innovation, Gradle
|
|
provides a declarative way to describe all kinds of builds through
|
|
sensible defaults. Gradle is quickly becoming the build system of
|
|
choice for many open source projects, leading edge enterprises and
|
|
legacy automation challenges.
|
|
|
|
This package is useful only for bootstrapping a repository that does
|
|
not have yet gradle, groovy and gpars built.
|
|
|
|
%package -n groovy-bootstrap
|
|
Version: %{groovy_version}
|
|
Release: 0
|
|
Summary: Bootstrap version of groovy-all JAR
|
|
License: Apache-2.0
|
|
BuildArch: noarch
|
|
|
|
%description -n groovy-bootstrap
|
|
Bootstrap version of the groovy-all.jar needed by xmvn-connector-gradle
|
|
|
|
This package is useful only for bootstrapping a repository that does
|
|
not have yet gradle, groovy and gpars built.
|
|
|
|
%package -n gpars-bootstrap
|
|
Version: %{gpars_version}
|
|
Release: 0
|
|
Summary: Bootstrap version of Groovy Parallel Systems
|
|
License: Apache-2.0 AND SUSE-Public-Domain
|
|
BuildArch: noarch
|
|
|
|
%description -n gpars-bootstrap
|
|
The GPars framework offers Java developers intuitive and safe ways to
|
|
handle Java or Groovy tasks concurrently. Leveraging the enormous
|
|
flexibility of the Groovy programming language and building on proven
|
|
Java technologies, we aim to make concurrent programming for
|
|
multi-core hardware intuitive, robust and enjoyable.
|
|
|
|
GPars is a multi-paradigm concurrency framework, offering several
|
|
mutually cooperating high-level concurrency abstractions, such as
|
|
Dataflow operators, Promises, CSP, Actors, Asynchronous Functions,
|
|
Agents and Parallel Collections.
|
|
|
|
This package is useful only for bootstrapping a repository that does
|
|
not have yet gradle, groovy and gpars built.
|
|
|
|
%prep
|
|
%setup -q -c -n %{short_name}-%{gradle_version}
|
|
cp %{SOURCE200} gpars-pom.xml
|
|
|
|
%pom_change_dep org.jboss.netty:netty:: ::3: gpars-pom.xml
|
|
%pom_change_dep :jsr166y:: :extra166y:: gpars-pom.xml
|
|
|
|
%build
|
|
# manpage build
|
|
mkdir man
|
|
asciidoc -b docbook -d manpage -o man/%{short_name}.xml %{SOURCE2}
|
|
xmlto man man/%{short_name}.xml -o man
|
|
|
|
%install
|
|
install -d -m 755 %{buildroot}%{_javadir}/%{short_name}/
|
|
ln -sf %{_bindir}/%{short_name} ./bin/%{short_name}
|
|
|
|
install -dm 0755 %{buildroot}%{_datadir}/%{short_name}
|
|
cp -r bin lib init.d %{buildroot}%{_datadir}/%{short_name}
|
|
# Launcher with dependencies needs to be in _javadir
|
|
# Dependencies of xmvn-connector-gradle need to have Maven metadata
|
|
for mod in launcher base-services core core-api resources \
|
|
logging base-services-groovy model-core; do
|
|
%{mvn_file} ":{gradle-$mod}" %{short_name}/@1
|
|
%{mvn_artifact} org.gradle:gradle-$mod:%{gradle_version} ./lib/gradle-$mod-%{gradle_version}.jar
|
|
done
|
|
# this one is in lib/plugins
|
|
%{mvn_file} ":{gradle-dependency-management}" %{short_name}/@1
|
|
%{mvn_artifact} org.gradle:gradle-dependency-management:%{gradle_version} ./lib/plugins/gradle-dependency-management-%{gradle_version}.jar
|
|
|
|
# Temporary stuff
|
|
%{mvn_package} :groovy-{*} groovy
|
|
%{mvn_file} org.codehaus.groovy:groovy-{*} groovy/groovy-@1
|
|
%{mvn_artifact} %{SOURCE100} ./lib/groovy-all.jar
|
|
|
|
%{mvn_package} :gpars{*} gpars
|
|
%{mvn_file} :gpars{*} gpars/gpars@1
|
|
%{mvn_artifact} gpars-pom.xml %{SOURCE201}
|
|
|
|
%mvn_install
|
|
|
|
install -d -m 755 %{buildroot}%{_bindir}/
|
|
cat %{SOURCE1} | sed "s#@BASH@#$(which bash)#g" >gradle.sh
|
|
chmod +x gradle.sh
|
|
install -p -m 755 gradle.sh %{buildroot}%{_bindir}/%{short_name}
|
|
|
|
install -d -m 755 %{buildroot}%{_mandir}/man1/
|
|
install -p -m 644 man/%{short_name}.1 %{buildroot}%{_mandir}/man1/%{short_name}.1
|
|
|
|
#xmvn-subst $(find %{buildroot}%{_datadir}/%{short_name} -type f -name \*.jar)
|
|
#xmvn-subst -R %{buildroot} $(find %{buildroot}%{_datadir}/%{short_name} -type f -name \*.jar)
|
|
|
|
%files -f .mfiles
|
|
%{_bindir}/%{short_name}
|
|
%{_datadir}/%{short_name}
|
|
%{_mandir}/man1/%{short_name}.1%{?ext_man}
|
|
|
|
%files -n groovy-bootstrap -f .mfiles-groovy
|
|
|
|
%files -n gpars-bootstrap -f .mfiles-gpars
|
|
|
|
%changelog
|