From Fedora Project Wiki
(Dependencies)
Line 148: Line 148:
 
  |  
 
  |  
 
  |  
 
  |  
|-
 
| ch.qos.logback
 
| logback-classic
 
| pom
 
|
 
| 1.0.13
 
| logback
 
| 1.1.1
 
|-
 
| ch.qos.logback
 
| logback-classic
 
| jar
 
|
 
| 1.0.13
 
| logback
 
| 1.1.1
 
|-
 
| ch.qos.logback
 
| logback-core
 
| pom
 
|
 
| 1.0.13
 
| logback
 
| 1.1.1
 
|-
 
| ch.qos.logback
 
| logback-core
 
| jar
 
|
 
| 1.0.13
 
| logback
 
| 1.1.1
 
|-
 
| ch.qos.logback
 
| logback-parent
 
| pom
 
|
 
| 1.0.13
 
| logback
 
| 1.1.1
 
 
  |-
 
  |-
 
  | com.drewwilson.code
 
  | com.drewwilson.code
Line 205: Line 165:
 
  |  
 
  |  
 
  |-
 
  |-
  | com.gradleware.analytics
+
  | com.thoughtworks.xstream
  | analytics-plugin
+
  | xstream
| jar
 
|
 
| 0.1-20140728061809
 
|
 
|
 
|-
 
| com.mashape.unirest
 
| unirest-java
 
 
  | pom
 
  | pom
 
  |  
 
  |  
  | 1.3.6
+
  | 1.4.7
  |  
+
  | xstream
  |  
+
  | 1.4.7
 
  |-
 
  |-
  | com.mashape.unirest
+
  | com.thoughtworks.xstream
  | unirest-java
+
  | xstream
 
  | jar
 
  | jar
 
  |  
 
  |  
  | 1.3.6
+
  | 1.4.7
  |  
+
  | xstream
 +
| 1.4.7
 +
|-
 +
| com.thoughtworks.xstream
 +
| xstream-parent
 +
| pom
 
  |  
 
  |  
 +
| 1.4.7
 +
| xstream-parent
 +
| 1.4.7
 
  |-
 
  |-
 
  | com.typesafe.sbt
 
  | com.typesafe.sbt
Line 538: Line 498:
 
  |  
 
  |  
 
  | 0.10
 
  | 0.10
|
 
|
 
|-
 
| org.apache.httpcomponents
 
| httpasyncclient
 
| jar
 
|
 
| 4.0
 
|
 
|
 
|-
 
| org.apache.httpcomponents
 
| httpasyncclient
 
| pom
 
|
 
| 4.0
 
|
 
|
 
|-
 
| org.apache.httpcomponents
 
| httpcomponents-asyncclient
 
| pom
 
|
 
| 4.0
 
 
  |  
 
  |  
 
  |  
 
  |  
Line 650: Line 586:
 
  |  
 
  |  
 
  | 1.46
 
  | 1.46
 +
|
 +
|
 +
|-
 +
| org.codehaus.gpars
 +
| gpars
 +
| pom
 +
|
 +
| 1.2.1
 +
|
 +
|
 +
|-
 +
| org.codehaus.gpars
 +
| gpars
 +
| jar
 +
|
 +
| 1.2.1
 
  |  
 
  |  
 
  |  
 
  |  
Line 685: Line 637:
 
  | 1.8.9
 
  | 1.8.9
 
  |-
 
  |-
  | org.codehaus.groovy
+
  | org.codehaus.jsr166-mirror
  | groovy-all
+
  | jsr166y
 
  | pom
 
  | pom
 
  |  
 
  |  
  | 2.3.6
+
  | 1.7.0
 
  |  
 
  |  
 
  |  
 
  |  
 
  |-
 
  |-
  | org.codehaus.groovy
+
  | org.codehaus.jsr166-mirror
  | groovy-all
+
  | jsr166y
 
  | jar
 
  | jar
 
  |  
 
  |  
  | 2.3.6
+
  | 1.7.0
 
  |  
 
  |  
 
  |  
 
  |  
Line 780: Line 732:
 
  |  
 
  |  
 
  |  
 
  |  
|-
 
| org.codenarc
 
| CodeNarc
 
| jar
 
|
 
| 0.21
 
| codenarc
 
| 0.17
 
|-
 
| org.codenarc
 
| CodeNarc
 
| pom
 
|
 
| 0.21
 
| codenarc
 
| 0.17
 
|-
 
| org.gmetrics
 
| GMetrics
 
| jar
 
|
 
| 0.5
 
| gmetrics
 
| 0.6
 
|-
 
| org.gmetrics
 
| GMetrics
 
| pom
 
|
 
| 0.5
 
| gmetrics
 
| 0.6
 
 
  |-
 
  |-
 
  | org.mortbay.jetty
 
  | org.mortbay.jetty
Line 954: Line 874:
 
  |  
 
  |  
 
  | 6.1.25
 
  | 6.1.25
 +
|
 +
|
 +
|-
 +
| org.multiverse
 +
| multiverse
 +
| pom
 +
|
 +
| 0.7.0
 +
|
 +
|
 +
|-
 +
| org.multiverse
 +
| multiverse-core
 +
| pom
 +
|
 +
| 0.7.0
 +
|
 +
|
 +
|-
 +
| org.multiverse
 +
| multiverse-core
 +
| jar
 +
|
 +
| 0.7.0
 
  |  
 
  |  
 
  |  
 
  |  
Line 994: Line 938:
 
  |  
 
  |  
 
  | 2.2.3-SNAP2
 
  | 2.2.3-SNAP2
 +
|
 +
|
 +
|-
 +
| org.scalatest
 +
| scalatest_2.11
 +
| pom
 +
|
 +
| 3.0.0-SNAP1
 
  |  
 
  |  
 
  |  
 
  |  
Line 1,028: Line 980:
 
  |  
 
  |  
 
  |  
 
  |  
|-
 
| org.spockframework
 
| spock-core
 
| jar
 
|
 
| 0.7-groovy-2.0
 
| spock-core
 
| 0.7
 
|-
 
| org.spockframework
 
| spock-core
 
| pom
 
|
 
| 0.7-groovy-2.0
 
| spock-core
 
| 0.7
 
 
  |-
 
  |-
 
  | ubuntumono
 
  | ubuntumono
Line 1,090: Line 1,026:
 
  |  
 
  |  
 
  | R8rc1
 
  | R8rc1
 +
|
 +
|
 +
|-
 +
| xmlpull
 +
| xmlpull
 +
| pom
 +
|
 +
| 1.1.3.1
 +
|
 +
|
 +
|-
 +
| xmlpull
 +
| xmlpull
 +
| jar
 +
|
 +
| 1.1.3.1
 
  |  
 
  |  
 
  |  
 
  |  

Revision as of 10:30, 20 October 2014

Goals

  • package latest Gradle 2.x
  • implement local resolver so that packages can be built with Gradle
    • this includes Gradle itself
  • package older Gradle from 1.x line, if needed (optionall)
    • some projects won't compile with Gradle 2.x or even incompatible version from 1.x line

TODO

  • report usage of non-free JSON library (org.json:json)
    • "The Software shall be used for Good, not Evil."
    • android-json-org-java can be used as free replacement
  • packaging
    • update to newer version
      • groovy
      • spock-core
      • native-platform
  • patching Gradle
    • port to apache-sshd 0.11.0 (uses 0.10.0, minor patch)
    • port to jetty 9 (uses 6)
    • port to aether-ant-tasks from maven-ant-tasks

Bootstrap plan

Plan for bootstrapping Gradle in Fedora.

People involved: Mikolaj Izdebski

Current state: during phase 3

Phase 1 (initial bootstrap)

Phase 2 (local mode)

  • implement local mode using XMvn
  • package all Gradle build dependencies in wrapper rpm
    • binaries taken from the Internet
    • XMvn metadata added
  • from now on:

Phase 3 (dependency refinement)

  • while wrapper rpm is not empty:
    • pick one artifact from wrapper rpm
    • if it is not yet available in fedora:
      • build it from source and package it as rpm
      • skip tests if there are too many missing test dependencies
      • add any missing build or test dependencies to wrapper rpm
    • rebuild Gradle and run tests to make sure everything keeps working
    • if there are build or test failures, debug them and create patches
  • get rid of wrapper rpm
  • from now on:
    • Gradle with all dependencies are free from prebuilt binaries
    • everything is patched to work with artifact versions available in Fedora

Phase 4 (push to Fedora)

  • request FPC bootstrap exception
  • for all new packages:
    • do review (licensing etc)
    • cleanup spec file
    • submit for review
    • someone else reviews the package
    • package is checked into Fedora git and built in Koji
  • from now on:
    • we have gradle in Fedora

Phase 5 (further improvements)

  • implement javapackages macros for Gradle
  • prepare packaging documentation
  • announce gradle availability
  • upstream patches
  • enable tests (if skipped)

Dependencies

Gradle 2.1 build and test dependencies.

groupId artifactId extension classifier version Fedora package Fedora version
biz.aQute.bnd bndlib pom 2.1.0
biz.aQute.bnd bndlib jar 2.1.0
biz.aQute.bnd parent pom 2.1.0
cglib cglib-nodep jar 2.2.2
cglib cglib-nodep pom 2.2.2
cglib cglib-nodep pom 2.2
cglib cglib-nodep jar 2.2
com.drewwilson.code jquery.tipTip js minified 1.3
com.drewwilson.code jquery.tipTip pom 1.3
com.thoughtworks.xstream xstream pom 1.4.7 xstream 1.4.7
com.thoughtworks.xstream xstream jar 1.4.7 xstream 1.4.7
com.thoughtworks.xstream xstream-parent pom 1.4.7 xstream-parent 1.4.7
com.typesafe.sbt compiler-interface pom 0.13.0
com.typesafe.sbt compiler-interface jar sources 0.13.0
com.typesafe.sbt incremental-compiler jar 0.13.0
com.typesafe.sbt incremental-compiler pom 0.13.0
com.typesafe.sbt sbt-interface jar 0.13.0
com.typesafe.sbt sbt-interface pom 0.13.0
com.typesafe.zinc zinc pom 0.3.0
com.typesafe.zinc zinc jar 0.3.0
docbook docbook-xsl zip 1.75.2
docbook docbook-xsl pom 1.75.2
flot flot pom 0.8.1
flot flot js min 0.8.1
jquery jquery.min js 1.11.0
jquery jquery.min js 1.8.0
junit junit pom 4.11 junit 4.11
junit junit pom 4.12-beta-1 junit 4.11
junit junit pom 4.12-beta-2 junit 4.11
lato bold ttf DvlFBScY1r-FMtZSYIYoYw 6
lato bold-italic ttf HkF_qI1x_noxlxhrhMQYEKCWcynf_cDxXwCLxiixG1c 6
lato regular ttf v0SdcGFAl2aezM9Vq_aFTQ 6
lato regular-italic ttf LqowQDslGv4DmUBAfWa2Vw 6
net.rubygrapefruit native-platform pom 0.10 native-platform 0.3
net.rubygrapefruit native-platform jar 0.10 native-platform 0.3
net.rubygrapefruit native-platform-freebsd-amd64 pom 0.10
net.rubygrapefruit native-platform-freebsd-amd64 jar 0.10
net.rubygrapefruit native-platform-freebsd-i386 pom 0.10
net.rubygrapefruit native-platform-freebsd-i386 jar 0.10
net.rubygrapefruit native-platform-linux-amd64 pom 0.10 native-platform 0.3
net.rubygrapefruit native-platform-linux-amd64 jar 0.10 native-platform 0.3
net.rubygrapefruit native-platform-linux-i386 pom 0.10
net.rubygrapefruit native-platform-linux-i386 jar 0.10
net.rubygrapefruit native-platform-osx-amd64 pom 0.10
net.rubygrapefruit native-platform-osx-amd64 jar 0.10
net.rubygrapefruit native-platform-osx-i386 jar 0.10
net.rubygrapefruit native-platform-osx-i386 pom 0.10
net.rubygrapefruit native-platform-windows-amd64 jar 0.10
net.rubygrapefruit native-platform-windows-amd64 pom 0.10
net.rubygrapefruit native-platform-windows-i386 pom 0.10
net.rubygrapefruit native-platform-windows-i386 jar 0.10
org.apache.maven maven-ant-tasks pom 2.1.3
org.apache.maven maven-ant-tasks jar 2.1.3
org.apache.maven.wagon wagon-http-shared4 jar 2.4
org.apache.maven.wagon wagon-http-shared4 pom 2.4
org.apache.sshd sshd pom 0.10.0 apache-sshd 0.11.0
org.apache.sshd sshd-core pom 0.10.0
org.apache.sshd sshd-core jar 0.10.0 apache-sshd 0.11.0
org.bouncycastle bcpg-jdk15 jar 1.46
org.bouncycastle bcpg-jdk15 pom 1.46
org.bouncycastle bcprov-jdk15 jar 1.46
org.bouncycastle bcprov-jdk15 pom 1.46
org.codehaus.gpars gpars pom 1.2.1
org.codehaus.gpars gpars jar 1.2.1
org.codehaus.groovy groovy pom 2.3.7 groovy-lib 1.8.9
org.codehaus.groovy groovy pom 2.4.0-beta-1 groovy-lib 1.8.9
org.codehaus.groovy groovy pom 2.4.0-beta-2 groovy-lib 1.8.9
org.codehaus.groovy groovy pom 2.4.0-beta-3 groovy-lib 1.8.9
org.codehaus.jsr166-mirror jsr166y pom 1.7.0
org.codehaus.jsr166-mirror jsr166y jar 1.7.0
org.codehaus.sonar-plugins parent pom 13
org.codehaus.sonar-plugins sonar-runner jar 2.0
org.codehaus.sonar-plugins sonar-runner pom 2.0
org.codehaus.sonar sonar pom 2.9
org.codehaus.sonar sonar-batch pom 2.9
org.codehaus.sonar sonar-batch jar 2.9
org.codehaus.sonar sonar-batch-bootstrapper pom 2.9
org.codehaus.sonar sonar-batch-bootstrapper jar 2.9
org.codehaus.sonar sonar-plugin-api jar 2.9
org.codehaus.sonar sonar-plugin-api pom 2.9
org.mortbay.jetty jetty pom 6.1.25
org.mortbay.jetty jetty jar 6.1.25
org.mortbay.jetty jetty-annotations jar 6.1.25
org.mortbay.jetty jetty-annotations pom 6.1.25
org.mortbay.jetty jetty-naming jar 6.1.25
org.mortbay.jetty jetty-naming pom 6.1.25
org.mortbay.jetty jetty-parent pom 10
org.mortbay.jetty jetty-parent pom 7
org.mortbay.jetty jetty-plus jar 6.1.25
org.mortbay.jetty jetty-plus pom 6.1.25
org.mortbay.jetty jetty-util jar 6.1.25
org.mortbay.jetty jetty-util pom 6.1.25
org.mortbay.jetty jsp-2.1 jar 6.1.14
org.mortbay.jetty jsp-2.1 pom 6.1.14
org.mortbay.jetty jsp-api-2.1 jar 6.1.14
org.mortbay.jetty jsp-api-2.1 pom 6.1.14
org.mortbay.jetty project pom 6.1.14
org.mortbay.jetty project pom 6.1.25
org.multiverse multiverse pom 0.7.0
org.multiverse multiverse-core pom 0.7.0
org.multiverse multiverse-core jar 0.7.0
org.scala-lang.modules scala-xml_2.11 pom 1.0.2
org.scala-lang scala-library pom 2.11.3 scala 2.10.4
org.scalatest scalatest_2.11 pom 2.2.2
org.scalatest scalatest_2.11 pom 2.2.3-SNAP1
org.scalatest scalatest_2.11 pom 2.2.3-SNAP2
org.scalatest scalatest_2.11 pom 3.0.0-SNAP1
org.sonatype.pmaven pmaven-common pom 0.8-20100325
org.sonatype.pmaven pmaven-common jar 0.8-20100325
org.sonatype.pmaven pmaven-groovy jar 0.8-20100325
org.sonatype.pmaven pmaven-groovy pom 0.8-20100325
ubuntumono bold ttf ceqTZGKHipo8pJj4molytp_TkvowlIOtbR7ePgFOpF4 3
ubuntumono bold-italic ttf n_d8tv_JOIiYyMXR4eaV9WsGzsqhEorxQDpu60nfWEc 3
ubuntumono regular ttf ViZhet7Ak-LRXZMXzuAfkZ0EAVxt0G0biEntp43Qt6E 3
ubuntumono regular-italic ttf KAKuHXAHZOeECOWAHsRKA-LrC4Du4e_yfTJ8Ol60xk0 3
xhtmlrenderer xhtmlrenderer jar R8rc1
xhtmlrenderer xhtmlrenderer pom R8rc1
xmlpull xmlpull pom 1.1.3.1
xmlpull xmlpull jar 1.1.3.1
xslthl xslthl jar 2.0.1
xslthl xslthl pom 2.0.1