狠狠撸

狠狠撸Share a Scribd company logo
Gradle
The Innovation Continues
About Us
Hans Dockter
  Founder Gradle, CEO Gradleware
  hans.dockter@gradleware.com


Luke Daley
  Principal Engineer, Gradleware.
  luke.daley@gradleware.com
Gradle
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.

    JVM based
    Implemented in Java, Groovy outer layer
    100% Free Open Source - Apache Standard License 2.0




                             http://www.gradle.org
The Road to 1.0
Gradle 1.0
  Released 12th June 2012.
The innovation
   Releases roughly every 6 weeks


 continues …
Clickable report URLs
Whenever a task that produces some kind of report fails, you get a URL to the
report file.

This makes it much easier to open.

    Linux - directly clickable (most terminals)
    Mac OS - + click to open
    Windows - copy/paste

Small feature, surprisingly useful.
Upgrade Assistance
Gradle has a frequent release cycle, we want to help you keep current.

The “build comparison” support facilitates testing your build with different
versions.

Verify that your outputs are the same with the new Gradle version.
Maven conversion
 Convert a pom.xml to a build.gradle
 Gives you a staring point
 Incubating!
Test Output
    Detailed test information, in the console
    Stacktraces
    Events (e.g. skipped) T
    unable and flexible M
    ultiple logging levels

There’s a very detailed forum post on this.
New dependency report
    Indicates both requested and selected versions
    Much better insight into version conflicts

(previous version only showed selected)
Dependency Insight
 Inverse of dependencies report
 Shows path to a dependency

 Explains how/why a dependency is in the graph
Dependency resolution API
 ResolutionResult
 A model of the resolved dependency graph
 requested and selected
 Selection reason
 Basis for new dependency reports
 Fine grained conflict handling rules
Performance &
   Relevance depends on scenarios


   Memory
Parallel execution
 –parallel
 –parallel-threads=?num?
 Incubating!
Compiler
 For Java, Groovy, Scala


Daemons
Incremental Scala
      Zinc (SBT) integration


     Compile
Native
  A platform wonderland


integration
Continue on failure
Live Demo
Android
apply   plugin 'android'
             :

version = '1.0'

android {
    target'android-16'
    productFlavors{
       free packageName = 'org.gradle.sample.free' }
          {
       paid
  }
    buildTypes custom }
              {
}

sourceSets {
   mai.
      njava.srcDir 'some-dir' mai.
                                 nresour
   ces.srcDir 'some-resources' fre.ejava.
   srcDir 'some-free-dir'
}
Looking forward
    Some things in the pipeline…
Dependency management
We are continuing to add new dependency management features, primarily for
conflict control and precision.

Also working on a new model to cover:

    Variants
    Publication types (beyond single file)
    Context sensitive dependency consumption
Implicit plugins
Being able to have plugins applied automatically. For

example, based on the name of a requested task.

That is, no need to add wrapper or compareGradleBuilds tasks.
JavaScript
Improving the documentation for the existing JavaScript support in Gradle.

    Minification/Compression St
    atic Analysis (e.g. JSHint) Tra
    nspiling (e.g. CoffeeScript) Te
    st Execution (e.g. Jasmine)

All based on a general purpose JavaScript tool toolkit (based on Rhino).
C/C++
Plugin D
evelopers
Enterprise
scalability
More Gradle…
Gradleware
The company behind Gradle.

    Employs full time engineers
    Gradle consulting, support, development services etc.
    Training: online, public and in-house
    General build automation services

          Germany, Australia, UK, Poland, Austria, Canada and the US.




                          http://www.gradleware.com
The Gradle Book




   Free HTML version online @http://gradleware.com/resources.
Screencasts
Screencasts about Gradle are available @Gradleware.com.




                            The Gradle Wrapper




                       A Gentle Introduction To Gradle
Webinars
We are hosting monthly webinars with Gradleware Engineers.

Past webinars (recordings available via gradleware.com/resources):

    The Gradle Roadmap
    In-Depth 1.0 power features
    Standardising and administering your build environment
    Migrating and upgrading

Upcoming:

    Permanently Slim - No Lean without Automation
    Automation Dog Food

Keep an eye on gradle.org/webinars
惭辞谤别…
    gradle.org/documentation
         User Guide
         DSL Reference
         API docs

    forums.gradle.org github.c
    om/gradle/gradle gradle.o
    rg/books gradle.org/event
    s gradle.org/webinars gra
    dle.org/news gradleware.c
    om/resources

Professional services available through gradleware.com.
Thank You
 Come and talk to us at our booth.

More Related Content

Gradle(the innovation continues)

  • 2. About Us Hans Dockter Founder Gradle, CEO Gradleware hans.dockter@gradleware.com Luke Daley Principal Engineer, Gradleware. luke.daley@gradleware.com
  • 3. Gradle 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. JVM based Implemented in Java, Groovy outer layer 100% Free Open Source - Apache Standard License 2.0 http://www.gradle.org
  • 5. Gradle 1.0 Released 12th June 2012.
  • 6. The innovation Releases roughly every 6 weeks continues …
  • 7. Clickable report URLs Whenever a task that produces some kind of report fails, you get a URL to the report file. This makes it much easier to open. Linux - directly clickable (most terminals) Mac OS - + click to open Windows - copy/paste Small feature, surprisingly useful.
  • 8. Upgrade Assistance Gradle has a frequent release cycle, we want to help you keep current. The “build comparison” support facilitates testing your build with different versions. Verify that your outputs are the same with the new Gradle version.
  • 9. Maven conversion Convert a pom.xml to a build.gradle Gives you a staring point Incubating!
  • 10. Test Output Detailed test information, in the console Stacktraces Events (e.g. skipped) T unable and flexible M ultiple logging levels There’s a very detailed forum post on this.
  • 11. New dependency report Indicates both requested and selected versions Much better insight into version conflicts (previous version only showed selected)
  • 12. Dependency Insight Inverse of dependencies report Shows path to a dependency Explains how/why a dependency is in the graph
  • 13. Dependency resolution API ResolutionResult A model of the resolved dependency graph requested and selected Selection reason Basis for new dependency reports Fine grained conflict handling rules
  • 14. Performance & Relevance depends on scenarios Memory
  • 15. Parallel execution –parallel –parallel-threads=?num? Incubating!
  • 16. Compiler For Java, Groovy, Scala Daemons
  • 17. Incremental Scala Zinc (SBT) integration Compile
  • 18. Native A platform wonderland integration
  • 20. Android apply plugin 'android' : version = '1.0' android { target'android-16' productFlavors{ free packageName = 'org.gradle.sample.free' } { paid } buildTypes custom } { } sourceSets { mai. njava.srcDir 'some-dir' mai. nresour ces.srcDir 'some-resources' fre.ejava. srcDir 'some-free-dir' }
  • 21. Looking forward Some things in the pipeline…
  • 22. Dependency management We are continuing to add new dependency management features, primarily for conflict control and precision. Also working on a new model to cover: Variants Publication types (beyond single file) Context sensitive dependency consumption
  • 23. Implicit plugins Being able to have plugins applied automatically. For example, based on the name of a requested task. That is, no need to add wrapper or compareGradleBuilds tasks.
  • 24. JavaScript Improving the documentation for the existing JavaScript support in Gradle. Minification/Compression St atic Analysis (e.g. JSHint) Tra nspiling (e.g. CoffeeScript) Te st Execution (e.g. Jasmine) All based on a general purpose JavaScript tool toolkit (based on Rhino).
  • 25. C/C++
  • 29. Gradleware The company behind Gradle. Employs full time engineers Gradle consulting, support, development services etc. Training: online, public and in-house General build automation services Germany, Australia, UK, Poland, Austria, Canada and the US. http://www.gradleware.com
  • 30. The Gradle Book Free HTML version online @http://gradleware.com/resources.
  • 31. Screencasts Screencasts about Gradle are available @Gradleware.com. The Gradle Wrapper A Gentle Introduction To Gradle
  • 32. Webinars We are hosting monthly webinars with Gradleware Engineers. Past webinars (recordings available via gradleware.com/resources): The Gradle Roadmap In-Depth 1.0 power features Standardising and administering your build environment Migrating and upgrading Upcoming: Permanently Slim - No Lean without Automation Automation Dog Food Keep an eye on gradle.org/webinars
  • 33. 惭辞谤别… gradle.org/documentation User Guide DSL Reference API docs forums.gradle.org github.c om/gradle/gradle gradle.o rg/books gradle.org/event s gradle.org/webinars gra dle.org/news gradleware.c om/resources Professional services available through gradleware.com.
  • 34. Thank You Come and talk to us at our booth.