SlideShare a Scribd company logo
http://www.gradlesummit.com
Android’s New Build
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Gradleware
• Build Automation
• Continuous Delivery
• Gradle
• Builds as easy and configurable as possible
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Gradleware Summit
2013
• Santa Clara, CA
• June 13-14th
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Gradle Summit 2013
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
A
B
i
ii
iii
iv
v
X
Y
JOIN JOIN
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
AiX
BiX
AiiX
BiiX
AiiiX
BiiiX
AivX
BivX
AvX
BvX
AiY
BiY
AiiY
BiiY
AiiiY
BiiiY
AivY
BivY
AvY
BvY
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Free
Paid
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Prod
QA
QA
Prod
Free
Prod
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Prod QA
QA
Prod
Free
Paid
QA
ARM x86
x86ARM
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
A/
A/i/
A/i/X/build.xml
A/i/Y/build.xml
A/
A/ii/
A/ii/X/build.xml
A/ii/Y/build.xml
A/
A/iii/
A/iii/X/build.xml
A/iii/Y/build.xml
No.
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
A/
A/i/
pom.xml
A/
A/ii/
pom.xml No.
A/
A/ii/
pom.xml
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Gradle
• Support for
• Product Flavors
• Build Types
• BuildVariant
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Product Flavors
• Free vs. Paid
• Almost every successful application uses
this model
• Source Code + Resource Overlay
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
Build Type
• Debug, Release
• Debug flag
• Proguard Options
• Debug Signing
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
BuildVariant
• ARM, x86
• Many different devices (more than just
mobile)
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.build:gradle:0.2'
}
}
apply plugin: 'android'
android {
target = ‘android-15’
defaultConfig {
versionCode = 12
versionName = “2.0”
}
}
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
android {
defaultConfig {
versionCode = 12
minSdkVersion = 8
}
productFlavors {
free {
packageName = “com.example.myapp.free”
minSdkVersion = 10
}
paid {
packageName = “com.example.myapp.paid”
versionCode = 14
}
}
}
Wednesday, May 15, 13
http://www.gradlesummit.com @gradleware
android {
buildTypes {
debug {
packageNameSuffix = “.debug”
}
staging {
packageNameSuffix = “.staging”
debuggable = true
debugSigned = true
}
}
}
Wednesday, May 15, 13

More Related Content

What's hot

Bending the rules to build a 3rd party web app
Bending the rules to build a 3rd party web appBending the rules to build a 3rd party web app
Bending the rules to build a 3rd party web app
Stephen Purcell
 
webapp 8/29
webapp 8/29webapp 8/29
webapp 8/29
Thinkful
 
First 2 slides where found
First 2 slides where foundFirst 2 slides where found
First 2 slides where found
zoology1
 
Week 2
Week 2Week 2
Adobe Touch Apps
Adobe Touch AppsAdobe Touch Apps
Adobe Touch Apps
Elaine Giles
 
Search Engine Optimization
Search Engine OptimizationSearch Engine Optimization
Search Engine Optimization
club46mass
 
EdwardsCPSY8404-9
EdwardsCPSY8404-9EdwardsCPSY8404-9
EdwardsCPSY8404-9
Curtis G. Edwards
 
Build a webapp la september 6
Build a webapp la september 6Build a webapp la september 6
Build a webapp la september 6
Thinkful
 
FinCon15 - You're Doing It Wrong; 13 Mistakes WordPress Users Make
FinCon15 - You're Doing It Wrong; 13 Mistakes WordPress Users MakeFinCon15 - You're Doing It Wrong; 13 Mistakes WordPress Users Make
FinCon15 - You're Doing It Wrong; 13 Mistakes WordPress Users Make
Dustin Hartzler
 
Week4
Week4Week4
How To Succeed In Web Design
How To Succeed In Web DesignHow To Succeed In Web Design
How To Succeed In Web Design
Shawn Rider
 
Automate, Create Tools, & Test Ideas Quickly with Google Apps Script
Automate, Create Tools, & Test Ideas Quickly with Google Apps ScriptAutomate, Create Tools, & Test Ideas Quickly with Google Apps Script
Automate, Create Tools, & Test Ideas Quickly with Google Apps Script
Catalyst
 
Best job search websites in world
Best job search websites in worldBest job search websites in world
Best job search websites in world
MohammadSaifulIslam45
 
Aurelia the next generation java script framework you will love
Aurelia   the next generation java script framework you will loveAurelia   the next generation java script framework you will love
Aurelia the next generation java script framework you will love
Jakub Jedryszek
 
Early Stage Customer Acquisition (aka: Sales for Engineers)
Early Stage Customer Acquisition (aka: Sales for Engineers)Early Stage Customer Acquisition (aka: Sales for Engineers)
Early Stage Customer Acquisition (aka: Sales for Engineers)
Cory von Wallenstein
 
The Metric System: Making Correct Performance Measurements.
The Metric System: Making Correct Performance Measurements.The Metric System: Making Correct Performance Measurements.
The Metric System: Making Correct Performance Measurements.
All Things Open
 
Maximes Presentation For Rubyconf China 2009
Maximes Presentation For Rubyconf China 2009Maximes Presentation For Rubyconf China 2009
Maximes Presentation For Rubyconf China 2009
Robbin Fan
 

What's hot (17)

Bending the rules to build a 3rd party web app
Bending the rules to build a 3rd party web appBending the rules to build a 3rd party web app
Bending the rules to build a 3rd party web app
 
webapp 8/29
webapp 8/29webapp 8/29
webapp 8/29
 
First 2 slides where found
First 2 slides where foundFirst 2 slides where found
First 2 slides where found
 
Week 2
Week 2Week 2
Week 2
 
Adobe Touch Apps
Adobe Touch AppsAdobe Touch Apps
Adobe Touch Apps
 
Search Engine Optimization
Search Engine OptimizationSearch Engine Optimization
Search Engine Optimization
 
EdwardsCPSY8404-9
EdwardsCPSY8404-9EdwardsCPSY8404-9
EdwardsCPSY8404-9
 
Build a webapp la september 6
Build a webapp la september 6Build a webapp la september 6
Build a webapp la september 6
 
FinCon15 - You're Doing It Wrong; 13 Mistakes WordPress Users Make
FinCon15 - You're Doing It Wrong; 13 Mistakes WordPress Users MakeFinCon15 - You're Doing It Wrong; 13 Mistakes WordPress Users Make
FinCon15 - You're Doing It Wrong; 13 Mistakes WordPress Users Make
 
Week4
Week4Week4
Week4
 
How To Succeed In Web Design
How To Succeed In Web DesignHow To Succeed In Web Design
How To Succeed In Web Design
 
Automate, Create Tools, & Test Ideas Quickly with Google Apps Script
Automate, Create Tools, & Test Ideas Quickly with Google Apps ScriptAutomate, Create Tools, & Test Ideas Quickly with Google Apps Script
Automate, Create Tools, & Test Ideas Quickly with Google Apps Script
 
Best job search websites in world
Best job search websites in worldBest job search websites in world
Best job search websites in world
 
Aurelia the next generation java script framework you will love
Aurelia   the next generation java script framework you will loveAurelia   the next generation java script framework you will love
Aurelia the next generation java script framework you will love
 
Early Stage Customer Acquisition (aka: Sales for Engineers)
Early Stage Customer Acquisition (aka: Sales for Engineers)Early Stage Customer Acquisition (aka: Sales for Engineers)
Early Stage Customer Acquisition (aka: Sales for Engineers)
 
The Metric System: Making Correct Performance Measurements.
The Metric System: Making Correct Performance Measurements.The Metric System: Making Correct Performance Measurements.
The Metric System: Making Correct Performance Measurements.
 
Maximes Presentation For Rubyconf China 2009
Maximes Presentation For Rubyconf China 2009Maximes Presentation For Rubyconf China 2009
Maximes Presentation For Rubyconf China 2009
 

Viewers also liked

Es posible la Revolución Educativa sin la integración de herramientas tecnoló...
Es posible la Revolución Educativa sin la integración de herramientas tecnoló...Es posible la Revolución Educativa sin la integración de herramientas tecnoló...
Es posible la Revolución Educativa sin la integración de herramientas tecnoló...
Magdalena Balcacer
 
Revolucion educativa
Revolucion educativaRevolucion educativa
Revolucion educativa
Diaisa De la Rosa Herrera
 
Expresiones regulares y gramáticas
Expresiones regulares y gramáticasExpresiones regulares y gramáticas
Expresiones regulares y gramáticas
Santiago Ramirez
 
Revolucion educativa y beneficios del aprendizaje en la nube
Revolucion educativa y beneficios del aprendizaje en la nubeRevolucion educativa y beneficios del aprendizaje en la nube
Revolucion educativa y beneficios del aprendizaje en la nube
Yolanda Corral
 
Es posible la revolución educativa sin la integración
Es posible la revolución educativa sin la integraciónEs posible la revolución educativa sin la integración
Es posible la revolución educativa sin la integración
angelamenasantana
 
Significado de la Metodología PACIE
Significado de la Metodología PACIESignificado de la Metodología PACIE
Significado de la Metodología PACIE
Pedro Camacho
 
La Web 2.0: Creación de Contenido Educativo Digital
La Web 2.0: Creación de Contenido Educativo Digital La Web 2.0: Creación de Contenido Educativo Digital
La Web 2.0: Creación de Contenido Educativo Digital
Instituto Tecnológico de Las Américas (ITLA)
 
Mooc
MoocMooc
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
SlideShare
 

Viewers also liked (10)

Es posible la Revolución Educativa sin la integración de herramientas tecnoló...
Es posible la Revolución Educativa sin la integración de herramientas tecnoló...Es posible la Revolución Educativa sin la integración de herramientas tecnoló...
Es posible la Revolución Educativa sin la integración de herramientas tecnoló...
 
Revolucion educativa
Revolucion educativaRevolucion educativa
Revolucion educativa
 
Expresiones regulares y gramáticas
Expresiones regulares y gramáticasExpresiones regulares y gramáticas
Expresiones regulares y gramáticas
 
Revolucion educativa y beneficios del aprendizaje en la nube
Revolucion educativa y beneficios del aprendizaje en la nubeRevolucion educativa y beneficios del aprendizaje en la nube
Revolucion educativa y beneficios del aprendizaje en la nube
 
Es posible la revolución educativa sin la integración
Es posible la revolución educativa sin la integraciónEs posible la revolución educativa sin la integración
Es posible la revolución educativa sin la integración
 
Significado de la Metodología PACIE
Significado de la Metodología PACIESignificado de la Metodología PACIE
Significado de la Metodología PACIE
 
La Web 2.0: Creación de Contenido Educativo Digital
La Web 2.0: Creación de Contenido Educativo Digital La Web 2.0: Creación de Contenido Educativo Digital
La Web 2.0: Creación de Contenido Educativo Digital
 
Mooc
MoocMooc
Mooc
 
How to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & TricksHow to Make Awesome SlideShares: Tips & Tricks
How to Make Awesome SlideShares: Tips & Tricks
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Recently uploaded

Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
Adtran
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 

Recently uploaded (20)

Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Pushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 daysPushing the limits of ePRTC: 100ns holdover for 100 days
Pushing the limits of ePRTC: 100ns holdover for 100 days
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 

Mobile macarons