[gradle] Build using local dependencies
Mikolaj Izdebski
mizdebsk at fedoraproject.org
Tue Nov 18 20:10:14 UTC 2014
commit b17201facdc1cc0f2135e06eed2a4febce642ec2
Author: Mikolaj Izdebski <mizdebsk at redhat.com>
Date: Fri Oct 17 14:57:04 2014 +0200
Build using local dependencies
...ocal-mode.patch => 0001-Gradle-local-mode.patch | 2 +-
0002-Port-to-Maven-3.2.3.patch | 72 ++++++++++
gradle.spec | 137 +++++++++++++++++++-
3 files changed, 203 insertions(+), 8 deletions(-)
---
diff --git a/gradle-local-mode.patch b/0001-Gradle-local-mode.patch
similarity index 98%
rename from gradle-local-mode.patch
rename to 0001-Gradle-local-mode.patch
index 0db7c9f..c0fa659 100644
--- a/gradle-local-mode.patch
+++ b/0001-Gradle-local-mode.patch
@@ -1,7 +1,7 @@
From b512f941f12409f2ad3553f28b7149179c7011c4 Mon Sep 17 00:00:00 2001
From: Mikolaj Izdebski <mizdebsk at redhat.com>
Date: Wed, 15 Oct 2014 14:23:30 +0200
-Subject: [PATCH] Gradle local mode
+Subject: [PATCH 1/2] Gradle local mode
---
build.gradle | 1 +
diff --git a/0002-Port-to-Maven-3.2.3.patch b/0002-Port-to-Maven-3.2.3.patch
new file mode 100644
index 0000000..aee7816
--- /dev/null
+++ b/0002-Port-to-Maven-3.2.3.patch
@@ -0,0 +1,72 @@
+From 99ae9e462de0ce2ffcb1129ce02e13dc5c9ea9e2 Mon Sep 17 00:00:00 2001
+From: Mikolaj Izdebski <mizdebsk at redhat.com>
+Date: Fri, 17 Oct 2014 14:41:20 +0200
+Subject: [PATCH 2/2] Port to Maven 3.2.3
+
+---
+ gradle/dependencies.gradle | 11 ++++++-----
+ .../plugins/internal/maven/MavenProjectsCreator.java | 4 ++--
+ subprojects/core-impl/core-impl.gradle | 3 ++-
+ 3 files changed, 10 insertions(+), 8 deletions(-)
+
+diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle
+index 5e1d7b4..d211dce 100755
+--- a/gradle/dependencies.gradle
++++ b/gradle/dependencies.gradle
+@@ -128,11 +128,12 @@ libraries.maven3 = dependencies.module("org.apache.maven:maven-core:3.0.4") {
+ dependency 'org.apache.maven.wagon:wagon-http-shared4:2.4 at jar'
+
+ //eather:
+- dependency "org.sonatype.aether:aether-api:1.13.1 at jar"
+- dependency "org.sonatype.aether:aether-impl:1.13.1 at jar"
+- dependency "org.sonatype.aether:aether-spi:1.13.1 at jar"
+- dependency "org.sonatype.aether:aether-util:1.13.1 at jar"
+- dependency 'org.sonatype.aether:aether-connector-wagon:1.13.1 at jar'
++ dependency "org.eclipse.aether:aether-api:1.0.0.v20140518 at jar"
++ dependency "org.eclipse.aether:aether-impl:1.0.0.v20140518 at jar"
++ dependency "org.eclipse.aether:aether-spi:1.0.0.v20140518 at jar"
++ dependency "org.eclipse.aether:aether-util:1.0.0.v20140518 at jar"
++ dependency 'org.eclipse.aether:aether-connector-basic:1.0.0.v20140518 at jar'
++ dependency 'org.eclipse.aether:aether-transport-wagon:1.0.0.v20140518 at jar'
+ }
+
+ libraries.spock = [
+diff --git a/subprojects/build-init/src/main/groovy/org/gradle/buildinit/plugins/internal/maven/MavenProjectsCreator.java b/subprojects/build-init/src/main/groovy/org/gradle/buildinit/plugins/internal/maven/MavenProjectsCreator.java
+index ddd4924..fe9914d 100644
+--- a/subprojects/build-init/src/main/groovy/org/gradle/buildinit/plugins/internal/maven/MavenProjectsCreator.java
++++ b/subprojects/build-init/src/main/groovy/org/gradle/buildinit/plugins/internal/maven/MavenProjectsCreator.java
+@@ -29,8 +29,8 @@ import org.gradle.mvn3.org.codehaus.plexus.PlexusContainerException;
+ import org.gradle.mvn3.org.codehaus.plexus.classworlds.ClassWorld;
+ import org.gradle.mvn3.org.codehaus.plexus.component.repository.exception.ComponentLookupException;
+ import org.gradle.mvn3.org.codehaus.plexus.configuration.PlexusConfigurationException;
+-import org.gradle.mvn3.org.sonatype.aether.RepositorySystemSession;
+-import org.gradle.mvn3.org.sonatype.aether.util.DefaultRepositorySystemSession;
++import org.gradle.mvn3.org.eclipse.aether.RepositorySystemSession;
++import org.gradle.mvn3.org.eclipse.aether.DefaultRepositorySystemSession;
+ import org.gradle.util.CollectionUtils;
+
+ import java.io.File;
+diff --git a/subprojects/core-impl/core-impl.gradle b/subprojects/core-impl/core-impl.gradle
+index ee4a931..d0dfbac 100644
+--- a/subprojects/core-impl/core-impl.gradle
++++ b/subprojects/core-impl/core-impl.gradle
+@@ -44,6 +44,7 @@ task jarJarMaven3(type: JarJar) {
+ rule('org.apache.maven.**', 'org.gradle.mvn3.org.apache.maven. at 1')
+ rule('org.codehaus.**', 'org.gradle.mvn3.org.codehaus. at 1')
+ rule('org.sonatype.**', 'org.gradle.mvn3.org.sonatype. at 1')
++ rule('org.eclipse.aether.**', 'org.gradle.mvn3.org.eclipse.aether. at 1')
+
+ avoidConflictingPlexusComponents(it)
+ }
+@@ -67,7 +68,7 @@ def avoidConflictingPlexusComponents(JarJar task) {
+ //I'm removing the components.xml file from the sec-dispatcher jar.
+ //This file contains only single component so I think we can remove it.
+ task.doLast {
+- def plexusSec = "$outputDir/jarjar-plexus-sec-dispatcher-1.3.jar"
++ def plexusSec = "$outputDir/jarjar-plexus-sec-dispatcher.jar"
+ def plexusSecNoComps = "$plexusSec-noComps"
+ ant {
+ zip(destfile: plexusSecNoComps, update: true) {
+--
+1.9.3
+
diff --git a/gradle.spec b/gradle.spec
index 7a2f34b..f7819a2 100644
--- a/gradle.spec
+++ b/gradle.spec
@@ -4,36 +4,156 @@
Name: gradle
Version: 2.1
-Release: 0.5%{?dist}
-Summary: XXX
+Release: 0.6%{?dist}
+Summary: Build automation tool
License: XXX
-URL: XXX
+URL: http://www.gradle.org/
BuildArch: noarch
Source0: http://services.gradle.org/distributions/gradle-%{version}-src.zip
Source1: http://services.gradle.org/versions/all#/all-released-versions.json
-Patch0: gradle-local-mode.patch
+Patch0: 0001-Gradle-local-mode.patch
+Patch1: 0002-Port-to-Maven-3.2.3.patch
BuildRequires: gradle-local
-BuildRequires: gradle-deps
+BuildRequires: gradle-deps >= 2.1-0.2
+
+BuildRequires: android-json-org-java
+BuildRequires: ant
+BuildRequires: ant-antlr
+BuildRequires: antlr-tool
+BuildRequires: apache-commons-beanutils
+BuildRequires: apache-commons-cli
+BuildRequires: apache-commons-codec
+BuildRequires: apache-commons-collections
+BuildRequires: apache-commons-configuration
+BuildRequires: apache-commons-io
+BuildRequires: apache-commons-lang
+BuildRequires: apache-commons-logging
+BuildRequires: apache-commons-parent
+BuildRequires: apache-ivy
+BuildRequires: apache-mina
+BuildRequires: apache-parent
+# upstream uses internal apache-sshd APIs, which changed between 0.10.0 to 0.11.0
+#BuildRequires: apache-sshd
+BuildRequires: atinject
+BuildRequires: beust-jcommander
+BuildRequires: bsh
+BuildRequires: checkstyle
+# requires groovy
+#BuildRequires: codenarc
+BuildRequires: dom4j
+BuildRequires: ecj
+BuildRequires: findbugs
+BuildRequires: forge-parent
+BuildRequires: geronimo-annotation
+BuildRequires: geronimo-parent-poms
+# requires groovy
+#BuildRequires: gmetrics
+BuildRequires: google-gson
+# upstream requires groovy 2.3.6, we have 1.8.x
+#BuildRequires: groovy-lib
+BuildRequires: guava
+BuildRequires: hamcrest
+BuildRequires: httpcomponents-client
+BuildRequires: httpcomponents-core
+BuildRequires: httpcomponents-project
+BuildRequires: itext-core
+BuildRequires: jansi
+BuildRequires: jarjar
+BuildRequires: jatl
+BuildRequires: jaxen
+BuildRequires: jboss-parent
+BuildRequires: jcifs
+BuildRequires: jcip-annotations
+BuildRequires: jcl-over-slf4j
+BuildRequires: jetty-parent
+BuildRequires: jhighlight
+BuildRequires: jmock
+BuildRequires: jna
+BuildRequires: jsch
+BuildRequires: jsoup
+BuildRequires: jsr-305
+BuildRequires: jul-to-slf4j
+BuildRequires: junit
+BuildRequires: kryo
+BuildRequires: littleproxy
+BuildRequires: log4j-over-slf4j
+# requires groovy
+#BuildRequires: logback
+BuildRequires: maven
+BuildRequires: maven-parent
+BuildRequires: maven-wagon
+BuildRequires: maven-wagon-http
+BuildRequires: maven-wagon-provider-api
+BuildRequires: maven-wagon-providers
+BuildRequires: minlog
+# we have too old version
+#BuildRequires: native-platform
+BuildRequires: nekohtml
+BuildRequires: netty31
+BuildRequires: objectweb-asm
+BuildRequires: objenesis
+BuildRequires: parboiled
+BuildRequires: pegdown
+BuildRequires: plexus-cipher
+BuildRequires: plexus-classworlds
+BuildRequires: plexus-components-pom
+BuildRequires: plexus-containers
+BuildRequires: plexus-containers-component-annotations
+BuildRequires: plexus-containers-container-default
+BuildRequires: plexus-interpolation
+BuildRequires: plexus-pom
+BuildRequires: plexus-sec-dispatcher
+BuildRequires: plexus-utils
+BuildRequires: reflectasm
+BuildRequires: rhino
+BuildRequires: scala
+BuildRequires: simple
+BuildRequires: slf4j
+BuildRequires: snakeyaml
+BuildRequires: sonatype-oss-parent
+BuildRequires: spice-parent
+# incompatible groovy version
+#BuildRequires: spock-core
+BuildRequires: testng
+BuildRequires: tomcat-servlet-3.0-api
+BuildRequires: xalan-j2
+BuildRequires: xbean
+BuildRequires: xerces-j2
+BuildRequires: xml-commons-apis
Requires: javapackages-tools
Requires: java-devel
Requires: gradle-local
%description
-XXX
+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.
+
%prep
%setup -q
%patch0 -p1
+%patch1 -p1
mkdir -p build
cp %{SOURCE1} build/all-released-versions.json
%build
-gradle --offline
+# docs:userguidePdf fails because of incompatible itext version
+gradle --offline -s -x docs:userguidePdf
%install
install -d -m 755 %{buildroot}%{_datadir}/%{name}/
@@ -57,6 +177,9 @@ jar cfm %{buildroot}%{_datadir}/%{name}/lib/plugins/gradle-core-impl-2.1*.jar ME
%doc changelog.txt LICENSE NOTICE getting-started.html
%changelog
+* Fri Oct 17 2014 Mikolaj Izdebski <mizdebsk at redhat.com> - 2.1-0.6
+- Build using local dependencies
+
* Fri Oct 17 2014 Mikolaj Izdebski <mizdebsk at redhat.com> - 2.1-0.5
- Simplify gradle-local-mode.patch
More information about the scm-commits
mailing list