[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