Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introduction to Gradle
Search
Adrien Couque
January 07, 2014
Technology
0
27
Introduction to Gradle
Adrien Couque
January 07, 2014
Tweet
Share
More Decks by Adrien Couque
See All by Adrien Couque
A roadmap to psychohistory
acq
0
32
ML Session n°8
acq
0
46
ML Session n°7
acq
0
14
ML Session n°6
acq
0
18
ML Session n°5
acq
0
40
ML Session n°4
acq
0
18
ML Session n°3
acq
0
35
ML Session n°2
acq
1
31
ML Session n°1
acq
0
23
Other Decks in Technology
See All in Technology
Meta Quest 3 で動く桜マシマシ WebXR アプリを IBM Cloud Code Engine と Babylon.js で作った話
1ftseabass
PRO
0
120
Java EE/Jakarta EEの現状と将来―クラウドネイティブ時代にJava EEは対応できるのか?―
takakiyo
1
160
web-application-security
matsuihidetoshi
0
170
Azure犬駆動開発の記録/GlobalAzureFukuoka2024_20240420
nina01
1
210
JAWS-UG Bedrock Claude Night
yamahiro
3
600
Kernel MemoryでAzure OpenAI Serviceとお手軽データソース連携
mitsuzono
1
250
AOAI をきっかけに 社内の Azure 管理を見直した話
recruitengineers
PRO
1
280
Janus
bkuhlmann
1
490
KubeCon EU 2024 Recap “Kubernetes Policy Time Machine: Where to Next?”
ryysud
0
220
ゼロから始めるVue.jsコミュニティ貢献 / first-vuejs-community-contribution-link-and-motivation
lmi
1
120
【NW X Security JAWS#3】L3-4:AWS環境のIPv6移行に向けて知っておきたいこと
shotashiratori
0
150
本当のAWS基礎
toru_kubota
0
520
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
42
12k
Design by the Numbers
sachag
274
18k
Visualization
eitanlees
136
14k
Building Effective Engineering Teams - LeadDev
addyosmani
28
1.8k
Automating Front-end Workflow
addyosmani
1356
200k
No one is an island. Learnings from fostering a developers community.
thoeni
16
2.1k
How GitHub (no longer) Works
holman
304
140k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
116
18k
Producing Creativity
orderedlist
PRO
337
39k
Facilitating Awesome Meetings
lara
42
5.6k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
2
3.4k
Typedesign – Prime Four
hannesfritz
36
2.1k
Transcript
Confidentiel © 2014 Applidium | Focus On : Gradle Focus
On
None
Gradle User Guide
Gradle Build automa+on • Compila+on • Packaging
• Tests • Déploiements make
Build tools
Build tools
Démo 1 : Java
Structure du projet Ancien Nouveau
Structure du projet : fichiers spécifiques Ancien Nouveau
Structure du projet Ancien Nouveau
Structure du projet : dépendances Ancien Nouveau
Structure du projet : sources Ancien Nouveau
Structure du projet : ressources Ancien Nouveau
Structure du projet : manifeste Ancien Nouveau
Structure du projet : build Ancien Nouveau
Structure du projet : résultat Ancien Nouveau
Structure du projet : résultat Ancien Nouveau
Démo 2 : Android
Fichiers Gradle • build.gradle : configura+on du build •
settings.gradle : emplacement des fichiers build.gradle (si plusieurs modules) • gradlew : wrapper Gradle • gradlew.bat : wrapper (Windows) • gradle/ : dépendances de gradlew(.bat)
Tasks • clean : neHoie le dossier build/ •
assemble : compile le projet • check : lance les tests et vérifica+ons (ex : lint) • build : assemble + check
Build Types Par défaut : • Debug :
– debuggable – signé automa+quement (path : ~/.android/debug.keystore) • Release : – non debuggable – doit être signé (via keystore spécifique) Possibilité de customiser (permissions, ressources, ...) et d’ajouter d’autres build types
Dépendances • Librairie locale compile file(‘libs/foo.jar’) • Librairie distante
(par défaut : Maven Central) compile ‘com.google.foo:foo:11.0.2’ Nouveauté Gradle : fichiers aar : • jar : code Java, pas de ressources • aar : archive Android (uniquement pour Gradle)
Démo 3 : Sanofi
Product flavors • Permet de générer plusieurs applica+ons à
par+r du même code • Peuvent être configurées indépendamment (ex : package, min SDK, ...) • Build Type + Product Flavor = Build Variant • Généralement : sourceSets différents
Product flavors : source sets conflicts Ecrase *.java Layouts Drawables
Assets Menus Raw ... Fusionne AndroidManifest.xml colors.xml strings.xml styles.xml attrs.xml
Multi-flavor variants • Possibilité de définir plusieurs variantes en
même temps android { flavorGroups "abi", "version" productFlavors { freeapp { flavorGroup "version" ... } x86 { flavorGroup "abi" ... } } } • x86-freeapp-debug • x86-freeapp-release • arm-freeapp-debug • arm-freeapp-release • mips-freeapp-debug • mips-freeapp-release • x86-paidapp-debug • x86-paidapp-release • arm-paidapp-debug • arm-paidapp-release • mips-paidapp-debug • mips-paidapp-release
Démo 4 : VinciPark
Démo 5 : RMN Grand Palais
None
None