Weitere ähnliche Inhalte Ähnlich wie Slaying Bugs with Gradle and Jenkins (20) Kürzlich hochgeladen (20) Slaying Bugs with Gradle and Jenkins11. WTF is ?
• New Build system
• Alternatives
• ant
• maven
• buck
Wednesday, September 11, 13
In other words...
17. • Simple
• Mature
• Customizable
What’s Awesome:
Wednesday, September 11, 13
In other words, it’s like duct tape
20. • Lots of work
• No dependency management
What Sucks:
Wednesday, September 11, 13
For me, too much work
24. • Massively complex
• Shitty integration with libproject / .aar
• Hard to fix
What Sucks:
Wednesday, September 11, 13
28. Buck
What Sucks:
• No dependency management
• No support for running tests on device
• Poor documentation
Wednesday, September 11, 13
36. Basics
• Built on Groovy
• gradle files are Groovy files
Wednesday, September 11, 13
So, uh, where were we...
37. Basics
• gradle files are Groovy files
def square(x) {
x * x
}
in your build file!
Wednesday, September 11, 13
38. Hello World
> gradle -q hello
Hello world!
task hello {
doLast {
println 'Hello world!'
}
}
build.gradle
how to run
Wednesday, September 11, 13
40. Hello Java
> gradle assemble
apply plugin: 'java'
build.gradle
how to run
Wednesday, September 11, 13
42. Hello Android
buildscript {
dependencies {
classpath 'com.android.tools.build:gradle:0.5.6'
}
}
apply plugin: 'android'
android {
compileSdkVersion 17
}
build.gradle
> gradle assemble
how to run
Wednesday, September 11, 13
46. Dependencies
...
dependencies {
// from a local jar
compile files('jackson.jar')
// from maven central/etc
compile 'com.jayway.android.robotium:robotium-solo:4.2'
// from a library project
compile project(':vendor:volley')
}
...
build.gradle
Wednesday, September 11, 13
47. Test Tools
• Unit tests: Robolectric
• Integration/end-to-end: Robotium
Wednesday, September 11, 13
53. Hello Android
> gradle assemble
# compile debug/release/test
> gradle check
# run all tests
how to run
Wednesday, September 11, 13
58. Wednesday, September 11, 13
Won’t tell you stories about Burmese jewel bandits.
...but at least he won’t walk out on you to prove a point.
67. “How a programmer reads your resume” - Steve Hanov
http://stevehanov.ca/blog/resume_comic.png
Wednesday, September 11, 13
69. CheckStyle
<module name="Checker">
<module name="TreeWalker">
<property name="tabWidth" value="2"/>
<module name="Indentation">
<property name="caseIndent" value="2"/>
<property name="basicOffset" value="2"/>
</module>
<module name="GenericWhitespace"/>
<module name="AvoidStarImport"/>
<module name="ConstantName"/>
<module name="EmptyBlock"/>
<module name="MemberName"/>
<module name="ConstantName"/>
<module name="MethodName"/>
<module name="TypeName"/>
</module>
<module name="StrictDuplicateCode">
<property name="min" value="15"/>
</module>
</module>
Wednesday, September 11, 13