Slide 1

Slide 1 text

Introduction to Gradle 2.0 potatotips #9 at Fablic, 2014/9/24 Fuji Goro (gfx)

Slide 2

Slide 2 text

Myself • id:gfx (Fuji, Goro) • ΫοΫύουͷΤϯδχΞ • iOS / Android྆ํ΍Γ·͢ • ϚΠϒʔϜ͸SwiftΛۃΊΔ͜ͱ • ࠷ۙϚγϯ͕ނোͯ͠σʔλϦΧόϦ΋Ͱ͖ͳ͘ ͯ؀ڥ࡞Γͳ͓ͯ͠ਏ͔ͬͨɻϚγϯ͸յΕΔ

Slide 3

Slide 3 text

Android Studio 0.8.11 2014/9/18 ϦϦʔε

Slide 4

Slide 4 text

Shipped with Android Gradle Plugin 0.13.0

Slide 5

Slide 5 text

! Depends on Gradle 2.1 and Groovy 2.3.6

Slide 6

Slide 6 text

Gradle 2.1

Slide 7

Slide 7 text

Gradle 2.1 • ৽͍͠pluginػߏ • https://plugins.gradle.org/ • نఆͷϝλ৘ใΛ͚ͭͯjcenterʹdeploy͢Δͱࢀর Ͱ͖ΔΑ͏ʹͳΔ • pluginsϒϩοΫ • qualified idʹΑͬͯ҉໧ͷ͏ͪʹclasspathʹՃ͑Δ ࢓૊Έ

Slide 8

Slide 8 text

plugins { id 'com.github.forsety.adr' version '0.1' } apply plugin: 'com.android.application' fully-qualified id no comma! no colon! before "apply"s Android pluginࣗମ΋pluginsϒϩοΫͰࢦ ఆͰ͖ΔΑ͏ʹͦͷ͏ͪͳΔͱࢥΘΕΔ͕ ݱঢ়͸·ͩͰ͖ͳ͍ͷͰҎલͱ͓ͳ͡

Slide 9

Slide 9 text

Other features • Incremental Java compile (Android͸·ͩ…ʁʣ • Groovy 2.3.6 (Gradle 1.x͸ Groovy 1.8.6) • Java8 support

Slide 10

Slide 10 text

Groovy 2.3.6

Slide 11

Slide 11 text

@CompileStatic ੩తܕ෇͖ͰίϯύΠϧ Javaฒʹര଎ʹͳΔ

Slide 12

Slide 12 text

import groovy.transform.CompileStatic ! @CompileStatic int f(int a, int b) { return a + b } ! def a = f(10, 20) // ܕਪ࿦͸ޮ͘ println(a) import͕ඞਢ ASͩͱ੺͘ͳΔ

Slide 13

Slide 13 text

@CompileStaticͰมΘΔ͜ͱ • Gradle Pluginͷ࣮ߦ͕ߴ଎ʹͳΔ • ͨͩ͠ݴޠ͸ʮGroovyͷํݴʯʹͳΔ • ࢖༻ײ͕͚ͬ͜͏ҧ͏ • Android Gradle Pluginͷresource merge͸଎͘ ͳΔ…͔΋

Slide 14

Slide 14 text

·ͱΊ • Android Gradle Plugin 0.13Ͱ͸Gradle 2.1Λ࠾ ༻ͨ͠ • Gradle 2.1͸pluginػߏ͕Ұ৽͞ΕͯΔͷͰ AndroidΤίγεςϜͰ΋ظ଴ײͷߴ·Γ͕͋Δ • Gradle 2.1͸Groovy 2.3.6Λ࠾༻͍ͯ͠ΔͷͰ଎ ౓໘ͰվળͷݟࠐΈ͕͋Δ