• Very poor module system
• Very slow
• Official build system from google (past)
Ant
Slide 6
Slide 6 text
• Beta official build system
• Build variants
• Support multiple module
• Very very slow…
Gradle
Slide 7
Slide 7 text
• Created by facebook
• Very fast!
• Solves 64k problem?
Buck
Slide 8
Slide 8 text
• Unofficial build system
• Support multiple module
• Not so slow…
Maven
Slide 9
Slide 9 text
Gradle is official, but someone uses maven…
Slide 10
Slide 10 text
No content
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
No content
Slide 13
Slide 13 text
No content
Slide 14
Slide 14 text
1. How to build with maven?
Slide 15
Slide 15 text
• Unofficial but active!
• Android studio support
• Provides apklib format
• Support aar!
• Support multiple module
• https://github.com/jayway/maven-android-plugin
maven-android-plugin
Slide 16
Slide 16 text
No content
Slide 17
Slide 17 text
What is apklib?
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
Build variants?
Slide 20
Slide 20 text
• Use profile and resourceOverlayDirectories options
• Source code may be can
• You can create build variants as many as you like
Ofcourse!
Slide 21
Slide 21 text
2. Release library
Slide 22
Slide 22 text
• Automate release and prepare for next version
• Very very useful!
• Support jenkins plugin
• http://maven.apache.org/maven-release/maven-release-plugin/
Maven release plugin
Slide 23
Slide 23 text
No content
Slide 24
Slide 24 text
No content
Slide 25
Slide 25 text
No content
Slide 26
Slide 26 text
3. How to create plugin?
Slide 27
Slide 27 text
• Maven architecture is pluggable
• You can release to maven central
• e.x) https://github.com/hotchemi/deploygate-maven-plugin
It’s very easy!
Slide 28
Slide 28 text
No content
Slide 29
Slide 29 text
• Maven is not so bad!!
• May be faster than gradle
• Maven-release-plugin is very useful!
• Create your own maven plugin!
Summary