eclipsecon us 2016 buildship 16to9 · • proxy for embedding gradle • extension mechanism to...

Post on 29-May-2020

5 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

EclipseCon US 2016 Benjamin Muschko, Principal Engineer

Buildship

Gradle is a Modern Open-Source Polyglot Enterprise Build Automation System

http://gradle.org/migrating-a-maven-build-to-gradle/

Gradle - Background

The Build

Integration Testing

Dependency Mgmt.

Compile

Code Generation

Unit Testing

Deploy

Package Mgmt. Custom

ExtensionsStandardization

Polyglot

Customers

Adoption

more than 1’100’000 downloads of Gradle during the month of December 2015

5All rights reserved. 2014 © ZeroTurnaround OÜ

Sample population of 2164 Java professionals, sample error 2.1%

Books

TerminologyProject

TaskTask

Project Project

Task Depen-dency

IDE-Integration - Vision

Make Eclipse more powerful

- extend what you can do from within Eclipse - integrate deeply into Eclipse

Have a single truth of build logic

- put all execution logic into the build - derive all information from the build model

In a unified build,Gradle is the single source of build logic.

GradleLauncher

Eclipse

Tooling API

Server(daemon)

Cmd Line(developer) (build master)

(cont integ)

• Proxy for embedding Gradle

• Extension mechanism to provide custom models

Tooling API

Client VM with gradle-tooling-api.jar

Gradle Daemon for Gradle build

get build models

invoke build tasksinvoke tests

Tooling API• Backward & forward compatible

From 1.0 to 2.8

• Runtime Isolation Separate daemon process

• High Level Services Build Cancellation, Continuous Mode, Test Execution, etc.

• Build Event Model Life-cycle events, task events, test events

Demo

Coming soon

In the works• Project dependency substitution

• Debugging tests run through Gradle from IDE

• Views for dependency tree and applied plugins

• Support for WTP

https://github.com/eclipse/buildship/tree/master/docs/stories

Preview

Resources

https://projects.eclipse.org/projects/tools.buildship https://github.com/eclipse/buildship

👍

👍

👍

Historyhttps://gradle.org/buildship-from-its-inception-to-its-inclusion-in-eclipse-mars-1-2/

• Data of every build is collected

• CI or local

• From every location

• Shared with your colleagues / community

• Available at gradle.com

Gradle.com

hansd — SpinDoctor

Changed Strategy of configuration ‘:compile after it has been resolved inLorem ipsum dolornum 3.7

build.gradle

Test failed: is failingA wrong JVM is used to run the tests??

see the stack trace

SpinDoctor build

Hans’ Jenkins minion 1 hour agoGradle 2.7250 second build

Warning Warning Failure

see the full commit

Hans committed 5 minutes agoMaster / 3e320bUpdating code

Deprecation warnings (compileJava) foundLorem Ipsum dolornum 678.8

see the stack trace

see the stack trace

SpinDoctor build

Dynamic dependency: org.apache.commons:commons-lang:3.3+ from 3.3.2 vs 3.3.3 for this build.

see 3 more changes from related

Dynamic dependency: org.apache.commons:commons-lang:3.3+ from 3.3.2 vs. 3.3.3 for this build.

SpinDoctor build

DateTest.testDa

compile

CompileJava

Gradle.com

gradle.com

?

Evaluate the Sessions

Sign in and vote at eclipsecon.org

- 1 + 10

top related