-
1.
Eclipse Buildship
Simon Scholz
https://twitter.com/simonscholz
-
2.
Agenda
● Gradle in general
● Buildship
– Explanation
– Demo
– Future plans
● Questions
Please ask questions at any the time!
-
3.
What is Gradle?
● Buildtool (Concepts of both Ant and Maven)
● Groovy based DSL instead of XML
● Multi-project builds
● Polyglot Builds
● Incremental Build
● Lots of Plugins
➔ apply plugin: 'java'
➔ https://plugins.gradle.org/
-
4.
Sample Gradle script
apply plugin: 'java'
repositories {
jcenter()
mavenCentral()
ivy {
url "http://repo.mycompany.com/repo"
}
}
task JUGHH { System.out.println(“Please the audience”) }
dependencies {
compile 'org.slf4j:slf4j-api:1.7.12'
testCompile 'junit:junit:4.12'
}
-
5.
Gradle Wrapper
● Project may contain a Gradle wrapper
● Linux / Mac
➢ gradlew
● Windows
➢ gradlew.bat
./gradlew build
-
6.
What is needed for Gradle?
● Java 6 or higher (JDK or JRE)
● No Groovy installation required
● Add “GRADLE_HOME/bin” to your path
● Latest Version 2.7 (14th
of September)
You can check installation with the “gradle -v” command in a terminal
https://docs.gradle.org/current/release-notes
-
7.
What is Buildship?
Current Version 1.0.3 will be shipped with Eclipse Mars 4.5.1 (25th
of Sep.)
-
8.
Tooling API
Gradle
Tooling API
BuildshipSingle truth
of build logic!
Etienne Studer
-
9.
Beginning of the screenshot
slides,
which where shown live in
Eclipse
-
10.
We recommend to leave it like in the sreenshot,
because all settings made here are only locally in your Eclipse IDE
and therefore won't be available for others who checkout the Projects
Tip : Rather specify
your settings
in the Gradle build files
-
11.
Gradle automatically chooses
the right version, which is defined
in the build files or
the latest, if no version is defined.
The preview also shows the
project structure of
the overall import
-
12.
Gradle Task View
Shows the tasks of the Gradle projects
Filter options in the
View's menu
-
13.
Gradle Execution View
See all running tasks with options to open test files, see failures and (re-)run tests
-
14.
Jump to test file and see test
summary
-
15.
Gradle Run Configuration
-
16.
The New Wizard uses the
gradle init --type 'java-library'
command to create this Project
-
17.
End of the screenshot slides,
which where shown live in
Eclipse
-
18.
Buildship Libraries
● Several Eclipse IDE Libraries (Resources,
JDT...)
● Google Guava
● Google GSON
● SLF4J
● Gradle Tooling API
● Testing: Spock, SWTBot tests
Obtained from Eclipse Orbit
Will soon be part of Eclipse Orbit
http://download.eclipse.org/tools/orbit/downloads/
-
19.
Current Features
● Import Gradle projects
● Create new Gradle projects
● Run Gradle tasks in the IDE
– It is recommended to use the latest Gradle Version
● Visualize Gradle task execution
-
20.
What is needed for Buildship?
● Java 6 or higher (JDK or JRE)
● At least Eclipse 3.6
● Gradle will be downloaded automatically
● Certain Features depend on the Gradle version
-
21.
Future Plans
● Task favorites
● Run Configuration history in Task View
● Components View
● Plugins View
● Run configuration in debug mode
● Gradle Editor
● Gradle Perspective for Buildmasters
● ...AndMore
-
22.
Detailed Information
● https://projects.eclipse.org/projects/tools.buildship
● https://github.com/eclipse/buildship
● https://gradle.org/blog/
● http://www.vogella.com/tutorials/EclipseGradle/arti
-
23.
Do not miss the Eclipse HackathonEclipse Hackathon
18.09.2015 18:00
https://wiki.eclipse.org/Hackathon_Hamburg_2015_Q4
You can also
contribute to
Buildship
-
24.
Thank you for your
attention!
Simon Scholz
https://twitter.com/simonscholz
Incremental builds, build caching and parallelization drives the Gradle daemon to new heights of performance
Out of the box, Gradle handles transitive dependencies that resolve across multiple repository types including Maven, Ivy, flat files.
Linkedin uses Gradle to build 60 different programming languages including Java, Scala, Python, C/C++, Android, IOS and many many more.
Robust build analytic capabilities that allow build masters to see exactly what needs to be optimized and zero in on build problems. Gain insight into the efficiency of the build pipeline including which modules are outperforming and which are lagging.
Make sure that the builds runs the same everywhere
Release every 4-6 weeks
Release every 4-6 weeks