SlideShare une entreprise Scribd logo
1  sur  34
Télécharger pour lire hors ligne
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
More…
    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.

Contenu connexe

Tendances

REST vs GraphQL
REST vs GraphQLREST vs GraphQL
REST vs GraphQLSquareboat
 
GraphQL London January 2018: Graphql tooling
GraphQL London January 2018: Graphql toolingGraphQL London January 2018: Graphql tooling
GraphQL London January 2018: Graphql toolingSøren Bramer Schmidt
 
GraphQL @ Manc.JS (March 2018)
GraphQL @ Manc.JS (March 2018)GraphQL @ Manc.JS (March 2018)
GraphQL @ Manc.JS (March 2018)Chris Grice
 
Standing out as a new grad candidate
Standing out as a new grad candidateStanding out as a new grad candidate
Standing out as a new grad candidateSashko Stubailo
 
Why UI Developers Love GraphQL - Sashko Stubailo, Apollo/Meteor
Why UI Developers Love GraphQL - Sashko Stubailo, Apollo/MeteorWhy UI Developers Love GraphQL - Sashko Stubailo, Apollo/Meteor
Why UI Developers Love GraphQL - Sashko Stubailo, Apollo/MeteorJon Wong
 
An intro to GraphQL
An intro to GraphQLAn intro to GraphQL
An intro to GraphQLvaluebound
 
GraphQL: The Missing Link Between Frontend and Backend Devs
GraphQL: The Missing Link Between Frontend and Backend DevsGraphQL: The Missing Link Between Frontend and Backend Devs
GraphQL: The Missing Link Between Frontend and Backend DevsSashko Stubailo
 
The Apollo and GraphQL Stack
The Apollo and GraphQL StackThe Apollo and GraphQL Stack
The Apollo and GraphQL StackSashko Stubailo
 
GraphQL in an Age of REST
GraphQL in an Age of RESTGraphQL in an Age of REST
GraphQL in an Age of RESTYos Riady
 
How to GraphQL
How to GraphQLHow to GraphQL
How to GraphQLTomasz Bak
 
What's new in Gradle 4.0
What's new in Gradle 4.0What's new in Gradle 4.0
What's new in Gradle 4.0Eric Wendelin
 
Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)Rafael Wilber Kerr
 
"Production Driven Development", Serhii Kalinets
"Production Driven Development", Serhii Kalinets"Production Driven Development", Serhii Kalinets
"Production Driven Development", Serhii KalinetsFwdays
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQLRodrigo Prates
 
GraphQL: Enabling a new generation of API developer tools
GraphQL: Enabling a new generation of API developer toolsGraphQL: Enabling a new generation of API developer tools
GraphQL: Enabling a new generation of API developer toolsSashko Stubailo
 
Developing ML-enabled Data Pipelines on Databricks using IDE & CI/CD at Runta...
Developing ML-enabled Data Pipelines on Databricks using IDE & CI/CD at Runta...Developing ML-enabled Data Pipelines on Databricks using IDE & CI/CD at Runta...
Developing ML-enabled Data Pipelines on Databricks using IDE & CI/CD at Runta...Databricks
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQLMuhilvarnan V
 

Tendances (20)

GraphQL
GraphQLGraphQL
GraphQL
 
REST vs GraphQL
REST vs GraphQLREST vs GraphQL
REST vs GraphQL
 
GraphQL London January 2018: Graphql tooling
GraphQL London January 2018: Graphql toolingGraphQL London January 2018: Graphql tooling
GraphQL London January 2018: Graphql tooling
 
GraphQL @ Manc.JS (March 2018)
GraphQL @ Manc.JS (March 2018)GraphQL @ Manc.JS (March 2018)
GraphQL @ Manc.JS (March 2018)
 
Standing out as a new grad candidate
Standing out as a new grad candidateStanding out as a new grad candidate
Standing out as a new grad candidate
 
Why UI Developers Love GraphQL - Sashko Stubailo, Apollo/Meteor
Why UI Developers Love GraphQL - Sashko Stubailo, Apollo/MeteorWhy UI Developers Love GraphQL - Sashko Stubailo, Apollo/Meteor
Why UI Developers Love GraphQL - Sashko Stubailo, Apollo/Meteor
 
An intro to GraphQL
An intro to GraphQLAn intro to GraphQL
An intro to GraphQL
 
GraphQL: The Missing Link Between Frontend and Backend Devs
GraphQL: The Missing Link Between Frontend and Backend DevsGraphQL: The Missing Link Between Frontend and Backend Devs
GraphQL: The Missing Link Between Frontend and Backend Devs
 
The Apollo and GraphQL Stack
The Apollo and GraphQL StackThe Apollo and GraphQL Stack
The Apollo and GraphQL Stack
 
GraphQL in an Age of REST
GraphQL in an Age of RESTGraphQL in an Age of REST
GraphQL in an Age of REST
 
How to GraphQL
How to GraphQLHow to GraphQL
How to GraphQL
 
What's new in Gradle 4.0
What's new in Gradle 4.0What's new in Gradle 4.0
What's new in Gradle 4.0
 
Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)Graphql Intro (Tutorial and Example)
Graphql Intro (Tutorial and Example)
 
"Production Driven Development", Serhii Kalinets
"Production Driven Development", Serhii Kalinets"Production Driven Development", Serhii Kalinets
"Production Driven Development", Serhii Kalinets
 
Introduction to GraphQL
Introduction to GraphQLIntroduction to GraphQL
Introduction to GraphQL
 
Angular js
Angular jsAngular js
Angular js
 
GraphQL: Enabling a new generation of API developer tools
GraphQL: Enabling a new generation of API developer toolsGraphQL: Enabling a new generation of API developer tools
GraphQL: Enabling a new generation of API developer tools
 
GraphQL
GraphQLGraphQL
GraphQL
 
Developing ML-enabled Data Pipelines on Databricks using IDE & CI/CD at Runta...
Developing ML-enabled Data Pipelines on Databricks using IDE & CI/CD at Runta...Developing ML-enabled Data Pipelines on Databricks using IDE & CI/CD at Runta...
Developing ML-enabled Data Pipelines on Databricks using IDE & CI/CD at Runta...
 
Introduction to graphQL
Introduction to graphQLIntroduction to graphQL
Introduction to graphQL
 

Similaire à Gradle(the innovation continues)

Szczepan.faber.gradle
Szczepan.faber.gradleSzczepan.faber.gradle
Szczepan.faber.gradlemagda3695
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene GroeschkeCodeFest
 
Enterprise build tool gradle
Enterprise build tool gradleEnterprise build tool gradle
Enterprise build tool gradleDeepak Shevani
 
Bdd Net Frameworks
Bdd Net FrameworksBdd Net Frameworks
Bdd Net Frameworkshdgarcia
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldRoberto Pérez Alcolea
 
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and DataflowHow to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and DataflowDaniel Zivkovic
 
Boost your App with Gatling
Boost your App with GatlingBoost your App with Gatling
Boost your App with GatlingKnoldus Inc.
 
ServerTemplate Deep Dive
ServerTemplate Deep DiveServerTemplate Deep Dive
ServerTemplate Deep DiveRightScale
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Mack Hardy
 
6_PDFsam_DevOps.pdf
6_PDFsam_DevOps.pdf6_PDFsam_DevOps.pdf
6_PDFsam_DevOps.pdfmadhu291670
 
Care and feeding notes
Care and feeding notesCare and feeding notes
Care and feeding notesPerrin Harkins
 
Version control for PL/SQL
Version control for PL/SQLVersion control for PL/SQL
Version control for PL/SQLGerger
 
Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Florent BENOIT
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...WSPDC & FEDSPUG
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on RailsViridians
 
Bringing Server Add-ons to the Cloud and Back Again
Bringing Server Add-ons to the Cloud and Back AgainBringing Server Add-ons to the Cloud and Back Again
Bringing Server Add-ons to the Cloud and Back AgainAtlassian
 
Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by ExampleNalin Goonawardana
 
Django app deployment in Azure By Saurabh Agarwal
Django app deployment in Azure By Saurabh AgarwalDjango app deployment in Azure By Saurabh Agarwal
Django app deployment in Azure By Saurabh Agarwalratneshsinghparihar
 

Similaire à Gradle(the innovation continues) (20)

Szczepan.faber.gradle
Szczepan.faber.gradleSzczepan.faber.gradle
Szczepan.faber.gradle
 
Rene Groeschke
Rene GroeschkeRene Groeschke
Rene Groeschke
 
Enterprise build tool gradle
Enterprise build tool gradleEnterprise build tool gradle
Enterprise build tool gradle
 
Bdd Net Frameworks
Bdd Net FrameworksBdd Net Frameworks
Bdd Net Frameworks
 
Keeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository worldKeeping your build tool updated in a multi repository world
Keeping your build tool updated in a multi repository world
 
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and DataflowHow to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
How to build unified Batch & Streaming Pipelines with Apache Beam and Dataflow
 
Boost your App with Gatling
Boost your App with GatlingBoost your App with Gatling
Boost your App with Gatling
 
ServerTemplate Deep Dive
ServerTemplate Deep DiveServerTemplate Deep Dive
ServerTemplate Deep Dive
 
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
Strategies and Tips for Building Enterprise Drupal Applications - PNWDS 2013
 
6_PDFsam_DevOps.pdf
6_PDFsam_DevOps.pdf6_PDFsam_DevOps.pdf
6_PDFsam_DevOps.pdf
 
Gradle build capabilities
Gradle build capabilities Gradle build capabilities
Gradle build capabilities
 
Care and feeding notes
Care and feeding notesCare and feeding notes
Care and feeding notes
 
Version control for PL/SQL
Version control for PL/SQLVersion control for PL/SQL
Version control for PL/SQL
 
Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014Introduction to Codenvy / JugSummerCamp 2014
Introduction to Codenvy / JugSummerCamp 2014
 
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
FEDSPUG April 2014: Visual Studio 2013 for Application Lifecycle Management &...
 
Viridians on Rails
Viridians on RailsViridians on Rails
Viridians on Rails
 
Visual studio 2019 launch
Visual studio 2019 launch Visual studio 2019 launch
Visual studio 2019 launch
 
Bringing Server Add-ons to the Cloud and Back Again
Bringing Server Add-ons to the Cloud and Back AgainBringing Server Add-ons to the Cloud and Back Again
Bringing Server Add-ons to the Cloud and Back Again
 
Behavior Driven Development by Example
Behavior Driven Development by ExampleBehavior Driven Development by Example
Behavior Driven Development by Example
 
Django app deployment in Azure By Saurabh Agarwal
Django app deployment in Azure By Saurabh AgarwalDjango app deployment in Azure By Saurabh Agarwal
Django app deployment in Azure By Saurabh Agarwal
 

Plus de Sejong Park

3주차. stream api advance
3주차. stream api advance 3주차. stream api advance
3주차. stream api advance Sejong Park
 
자바8강의 2강. Stream API
자바8강의 2강. Stream API자바8강의 2강. Stream API
자바8강의 2강. Stream APISejong Park
 
자바8강의 0강. java8 overview
자바8강의 0강. java8 overview자바8강의 0강. java8 overview
자바8강의 0강. java8 overviewSejong Park
 
자바8강의 1강. lambda expression
자바8강의 1강. lambda expression자바8강의 1강. lambda expression
자바8강의 1강. lambda expressionSejong Park
 
ProjectEuler 소개 및 활용법
ProjectEuler 소개 및 활용법ProjectEuler 소개 및 활용법
ProjectEuler 소개 및 활용법Sejong Park
 
마크다운 소개
마크다운 소개마크다운 소개
마크다운 소개Sejong Park
 

Plus de Sejong Park (6)

3주차. stream api advance
3주차. stream api advance 3주차. stream api advance
3주차. stream api advance
 
자바8강의 2강. Stream API
자바8강의 2강. Stream API자바8강의 2강. Stream API
자바8강의 2강. Stream API
 
자바8강의 0강. java8 overview
자바8강의 0강. java8 overview자바8강의 0강. java8 overview
자바8강의 0강. java8 overview
 
자바8강의 1강. lambda expression
자바8강의 1강. lambda expression자바8강의 1강. lambda expression
자바8강의 1강. lambda expression
 
ProjectEuler 소개 및 활용법
ProjectEuler 소개 및 활용법ProjectEuler 소개 및 활용법
ProjectEuler 소개 및 활용법
 
마크다운 소개
마크다운 소개마크다운 소개
마크다운 소개
 

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. More… 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.