SlideShare a Scribd company logo
1 of 43
Gradle
Новый уровень
автоматизации для
Android
Обо мне
• Антон Руткевич
• Android developer
• Яндекс

• Google Developer Group Minsk
Проблемы сборки
(до Gradle)
Несколько слабо совместимых
вариантов сборки
• Eclipse
• IntelliJ IDEA
• Ant

• Maven
• Свой велосипед
Сложное управление
зависимостями
• Jar
• Library project
• Apklib
Тяжело сгенерировать несколько
вариантов приложения
• С логами / без логов
• Тестовые / продакшн переменные
• Несколько похожих apk
Что такое Gradle?
Система автоматизации
Основной функционал –
в плагинах
Основные идеи
Скрипт сборки – это код
• Язык – Groovy
•

Java +
•
•
•
•
•

Динамическая типизация
Замыкания
Встроенные в язык коллекции
Много синтаксического сахара
….

• Файл – build.gradle
Задачи (Tasks)
• Конфигурируются
• Состоят из действий
• Выстраиваются в цепочки
зависимостей
Задачи сборки Android
• assemble
• check
• build = assemble + check
Hello world!
task hello << {
println 'Hello world!'
}
> gradle hello
Hello world!
Управление зависимостями
Основы
• Maven, Ivy – артефакты
•

Удаленные и локальные

• Локальные файлы
•
•

Jar
Другие gradle-проекты
Android-style
+ aar
• Android – проект с ресурсами
• Только как артефакт, но

можно установить локально
Hello dependency!
repositories {
mavenCentral()
}
dependencies {
compile 'com.google.code.gson:gson:2.2.4'
compile files('libs')
compile project(':libraryProjectName')
}
Hello Android dependency!
repositories {
mavenCentral()
}
dependencies {
compile
'com.actionbarcherlock:actionbarsherlock:4.4.0@aar'
}
Варианты сборки
Конфигурации сборки
• Пример: debug / release
• Могут иметь свои
•
•
•
•

Зависимости
Особые шаги
Наборы ресурсов
Особые настройки
Типы сборки (Build types)
• По умолчанию
•
•

debug
release

• Что можно настроить
•
•
•
•

packageNameSuffix
BuildConfig.java
Свои ресурсы/код
Другие параметры
Особенности сборки
(Build flavors)
• Способ легко генерировать
несколько похожих apk
• Примеры использования
•
•
•

Платное / бесплатное
Видеокарты - Tegra / Qualcomm / PowerVR
Другие особенности приложений, для
которых был введен multiple apk
Варианты сборки
(Build variants)
Особенность

Вариант

Free

FreeDebug

FreeRelease

Paid

PaidDebug

PaidRelease

Тип
Debug

Release
Наборы ресурсов (Source sets)
src/

main/
java/
resources/
…
config1/
config2/
Структура Android проекта
src/

main/
java/
res/
…
AndroidManifest.xml
Наборы ресурсов для типов и
вариантов сборки
src/
main/
release/
debug/
free/
paid/
Построение варианта сборки

main

free

debug
Особенности
использования
Ant
• Отличная интеграция
• Возможность поэтапного
перехода с Ant на Gradle
Дополнительные плагины
• Стандартные
•
•

Плагины дистрибуции
Вспомогательные плагины

• 3rd-party
•

Плагины конкретных библиотек

• Custom plugins
•

плагины для автоматизации внутренних
процессов в компании
Использование с системами
непрерывной интеграции
• Передача параметров для сборки
из CI в build.gradle
• Дополнительные действия при
сборке с помощью CI
Недостатки
Сложность
• Groovy не всегда очевиден
• Иногда сложно найти, как
достучаться до определенного
параметра сборки
Отсутствие поддержки NDK
Отсутствует в версии 0.63
Решение:

a) ждать интеграции (базовая
версия будет в 0.70)
b) сделать самому
Ограниченность библиотечных
проектов
• Нет возможности реализовывать
flavors
• При подключении к другим
проектам всегда собираются в
release версии библиотек
Версия начинается с 0
• Все еще бета (альфа?)
• Не все еще реализовано
• Баги
Когда стоит
использовать
Gradle?
Когда …
• … проекты небольшие
• … проекты большие, и есть
возможность выделить время

• … процесс сборки сложный
• … нужно собирать несколько apk
• … используются системы CI
Ресурсы
Код
Open source
• Gradle
•

https://github.com/gradle/gradle

• Gradle-android-plugin
•

http://tools.android.com/build/gradleplugin

• Sample project
•

https://github.com/roottony/gdg-minskgradle-sample
Информация
• gradle.org
•

http://www.gradle.org

• Gradle Plugin User Guide
•

http://tools.android.com/tech-docs/newbuild-system/user-guide

• adt-dev – Google Groups
•

https://groups.google.com/forum/#!forum/ad
t-dev
Спасибо за внимание!
Вопросы?
anton.rutkevich@gmail.com
http://www.linkedin.com/in/antonrutkevich

GDG Minsk BY
https://plus.google.com/u/1/communities/
112573540938850912460

More Related Content

What's hot

04 - Android 6. Добавление драйвера
04 - Android 6. Добавление драйвера04 - Android 6. Добавление драйвера
04 - Android 6. Добавление драйвераRoman Brovko
 
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir WebdriverТестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir WebdriverAlex Mikitenko
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsWinium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsSQALab
 
Go для веба глазами PHP-разработчика
Go для веба глазами PHP-разработчикаGo для веба глазами PHP-разработчика
Go для веба глазами PHP-разработчикаUP2IT
 
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"IT Event
 
AzovDevMeetup 2016 | Zero downtime — как релизить продукт миллионам пользоват...
AzovDevMeetup 2016 | Zero downtime — как релизить продукт миллионам пользоват...AzovDevMeetup 2016 | Zero downtime — как релизить продукт миллионам пользоват...
AzovDevMeetup 2016 | Zero downtime — как релизить продукт миллионам пользоват...JSC “Arcadia Inc”
 
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...JSC “Arcadia Inc”
 
Альтернативные способы изучения программирования с нуля
Альтернативные способы изучения программирования с нуляАльтернативные способы изучения программирования с нуля
Альтернативные способы изучения программирования с нуляCOMAQA.BY
 
Apache maven in java projects
Apache maven in java projectsApache maven in java projects
Apache maven in java projectsAsya Dudnik
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...SQALab
 
React Native в продакшне
React Native в продакшнеReact Native в продакшне
React Native в продакшнеEugeni Feudorov
 
Angular vs Angular 2 vs React. Сергей Александров
Angular vs Angular 2 vs React. Сергей АлександровAngular vs Angular 2 vs React. Сергей Александров
Angular vs Angular 2 vs React. Сергей АлександровEatDog
 
Иван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаИван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаYandex
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationSQALab
 
«Pocker - GUI для Docker», Владимир Василькин (ALMWorks, Санкт-Петербург)
«Pocker - GUI для Docker», Владимир Василькин (ALMWorks, Санкт-Петербург)«Pocker - GUI для Docker», Владимир Василькин (ALMWorks, Санкт-Петербург)
«Pocker - GUI для Docker», Владимир Василькин (ALMWorks, Санкт-Петербург)Mail.ru Group
 
Тестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях ИнтернетаТестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях ИнтернетаSQALab
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest
 
selenium stack in python
selenium stack in pythonselenium stack in python
selenium stack in pythonCOMAQA.BY
 
Test driven development in net
Test driven development in netTest driven development in net
Test driven development in netAlex Tumanoff
 
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"Fwdays
 

What's hot (20)

04 - Android 6. Добавление драйвера
04 - Android 6. Добавление драйвера04 - Android 6. Добавление драйвера
04 - Android 6. Добавление драйвера
 
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir WebdriverТестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
Тестирование web-приложений на базе технологий Ruby/Cucumber/Watir Webdriver
 
Winium — это как Selenium, только под Windows
Winium — это как Selenium, только под WindowsWinium — это как Selenium, только под Windows
Winium — это как Selenium, только под Windows
 
Go для веба глазами PHP-разработчика
Go для веба глазами PHP-разработчикаGo для веба глазами PHP-разработчика
Go для веба глазами PHP-разработчика
 
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
Григорий Петров "WebRTC в мобильных приложениях при помощи React Native"
 
AzovDevMeetup 2016 | Zero downtime — как релизить продукт миллионам пользоват...
AzovDevMeetup 2016 | Zero downtime — как релизить продукт миллионам пользоват...AzovDevMeetup 2016 | Zero downtime — как релизить продукт миллионам пользоват...
AzovDevMeetup 2016 | Zero downtime — как релизить продукт миллионам пользоват...
 
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
AzovDevMeetup 2016 | Выстраивание процесса и применение Best Practices с нуля...
 
Альтернативные способы изучения программирования с нуля
Альтернативные способы изучения программирования с нуляАльтернативные способы изучения программирования с нуля
Альтернативные способы изучения программирования с нуля
 
Apache maven in java projects
Apache maven in java projectsApache maven in java projects
Apache maven in java projects
 
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
Автоматизация визуального тестирования адаптивного дизайна на примере Galen F...
 
React Native в продакшне
React Native в продакшнеReact Native в продакшне
React Native в продакшне
 
Angular vs Angular 2 vs React. Сергей Александров
Angular vs Angular 2 vs React. Сергей АлександровAngular vs Angular 2 vs React. Сергей Александров
Angular vs Angular 2 vs React. Сергей Александров
 
Иван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проектаИван Крутов - Автоматизация сборки Java-проекта
Иван Крутов - Автоматизация сборки Java-проекта
 
Docker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous IntegrationDocker + Selenium Webdriver в рамках Continuous Integration
Docker + Selenium Webdriver в рамках Continuous Integration
 
«Pocker - GUI для Docker», Владимир Василькин (ALMWorks, Санкт-Петербург)
«Pocker - GUI для Docker», Владимир Василькин (ALMWorks, Санкт-Петербург)«Pocker - GUI для Docker», Владимир Василькин (ALMWorks, Санкт-Петербург)
«Pocker - GUI для Docker», Владимир Василькин (ALMWorks, Санкт-Петербург)
 
Тестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях ИнтернетаТестируем мобильное приложение в суровых реалиях Интернета
Тестируем мобильное приложение в суровых реалиях Интернета
 
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытанияCodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
CodeFest 2012. Курносова Т. и Баяндин А. — Selenium2: полевые испытания
 
selenium stack in python
selenium stack in pythonselenium stack in python
selenium stack in python
 
Test driven development in net
Test driven development in netTest driven development in net
Test driven development in net
 
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
Сергей Мелашич "Настройка SEO для одностраничных web-приложений на Angular"
 

Viewers also liked

Building next gen android library with gradle
Building next gen android library with gradleBuilding next gen android library with gradle
Building next gen android library with gradleAnton Rutkevich
 
Plugin for plugin, or extending android new build system
Plugin for plugin, or extending android new build systemPlugin for plugin, or extending android new build system
Plugin for plugin, or extending android new build systemAnton Rutkevich
 
Modern Android UI, or not by Action Bar alone
Modern Android UI, or not by Action Bar aloneModern Android UI, or not by Action Bar alone
Modern Android UI, or not by Action Bar aloneAnton Rutkevich
 
Cutting edge android stack. One year later
Cutting edge android stack. One year laterCutting edge android stack. One year later
Cutting edge android stack. One year laterAnton Rutkevich
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsLinkedIn
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerLuminary Labs
 

Viewers also liked (6)

Building next gen android library with gradle
Building next gen android library with gradleBuilding next gen android library with gradle
Building next gen android library with gradle
 
Plugin for plugin, or extending android new build system
Plugin for plugin, or extending android new build systemPlugin for plugin, or extending android new build system
Plugin for plugin, or extending android new build system
 
Modern Android UI, or not by Action Bar alone
Modern Android UI, or not by Action Bar aloneModern Android UI, or not by Action Bar alone
Modern Android UI, or not by Action Bar alone
 
Cutting edge android stack. One year later
Cutting edge android stack. One year laterCutting edge android stack. One year later
Cutting edge android stack. One year later
 
Study: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving CarsStudy: The Future of VR, AR and Self-Driving Cars
Study: The Future of VR, AR and Self-Driving Cars
 
Hype vs. Reality: The AI Explainer
Hype vs. Reality: The AI ExplainerHype vs. Reality: The AI Explainer
Hype vs. Reality: The AI Explainer
 

Similar to Gradle. Новый уровень автоматизации для Android

Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Yandex
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Yandex
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовOlesya_V
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...Provectus
 
Корпоративное приложение на Rails
Корпоративное приложение на RailsКорпоративное приложение на Rails
Корпоративное приложение на RailsAndrei Kaleshka
 
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity AndroidUnity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity AndroidDevGAMM Conference
 
Java cloud platforms. jee conf 2012
Java cloud platforms. jee conf 2012Java cloud platforms. jee conf 2012
Java cloud platforms. jee conf 2012Yuriy Ryashko
 
Java cloud platforms. jee conf 2012
Java cloud platforms. jee conf 2012Java cloud platforms. jee conf 2012
Java cloud platforms. jee conf 2012Yuriy Ryashko
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON
 
Инструменты разработки ПО в *nix
Инструменты разработки ПО в *nixИнструменты разработки ПО в *nix
Инструменты разработки ПО в *nixAlexander Gerasiov
 
Непрерывная интеграция - шаг к непрерывному деплойменту
Непрерывная интеграция - шаг к непрерывному деплойментуНепрерывная интеграция - шаг к непрерывному деплойменту
Непрерывная интеграция - шаг к непрерывному деплойментуИгорь Родионов
 
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»DevGAMM Conference
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Technopark
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesPositive Hack Days
 
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...DrupalCamp MSK
 
Porting existing games to Apple Metal API. Case study: Divinity Original Sin ...
Porting existing games to Apple Metal API. Case study: Divinity Original Sin ...Porting existing games to Apple Metal API. Case study: Divinity Original Sin ...
Porting existing games to Apple Metal API. Case study: Divinity Original Sin ...DevGAMM Conference
 
непрерывная интеграция шаг к непрерывному деплою родионов игорь
непрерывная интеграция   шаг к непрерывному деплою родионов игорьнепрерывная интеграция   шаг к непрерывному деплою родионов игорь
непрерывная интеграция шаг к непрерывному деплою родионов игорьdrupalconf
 

Similar to Gradle. Новый уровень автоматизации для Android (20)

Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"Юрий Василевский "Автоматизация в XCode"
Юрий Василевский "Автоматизация в XCode"
 
Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»Юрий Василевский «Автоматизация в XCode»
Юрий Василевский «Автоматизация в XCode»
 
Кирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектовКирилл Комлев. О реализации continuous integration для web проектов
Кирилл Комлев. О реализации continuous integration для web проектов
 
Gitlab devconf
Gitlab devconfGitlab devconf
Gitlab devconf
 
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs..."How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
 
Корпоративное приложение на Rails
Корпоративное приложение на RailsКорпоративное приложение на Rails
Корпоративное приложение на Rails
 
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity AndroidUnity: "Очевидное-невероятное” или хитрости разработки на Unity Android
Unity: "Очевидное-невероятное” или хитрости разработки на Unity Android
 
Java cloud platforms. jee conf 2012
Java cloud platforms. jee conf 2012Java cloud platforms. jee conf 2012
Java cloud platforms. jee conf 2012
 
Java cloud platforms. jee conf 2012
Java cloud platforms. jee conf 2012Java cloud platforms. jee conf 2012
Java cloud platforms. jee conf 2012
 
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
SECON'2017, Кулагин Егор, Непрерывное развертывание. Конвейер здорового челов...
 
Инструменты разработки ПО в *nix
Инструменты разработки ПО в *nixИнструменты разработки ПО в *nix
Инструменты разработки ПО в *nix
 
Wgforge CI/CD
Wgforge CI/CDWgforge CI/CD
Wgforge CI/CD
 
Непрерывная интеграция - шаг к непрерывному деплойменту
Непрерывная интеграция - шаг к непрерывному деплойментуНепрерывная интеграция - шаг к непрерывному деплойменту
Непрерывная интеграция - шаг к непрерывному деплойменту
 
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
Unity: WebGL и IL2CPP — будущее скриптинга в Unity»
 
Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5Тестирование весна 2013 лекция 5
Тестирование весна 2013 лекция 5
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
DevOps guide for awesome quality assurance
DevOps guide for awesome quality assuranceDevOps guide for awesome quality assurance
DevOps guide for awesome quality assurance
 
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
Continuous integration сайтов на Drupal: Jenkins, Bitbucket, Features, Drush ...
 
Porting existing games to Apple Metal API. Case study: Divinity Original Sin ...
Porting existing games to Apple Metal API. Case study: Divinity Original Sin ...Porting existing games to Apple Metal API. Case study: Divinity Original Sin ...
Porting existing games to Apple Metal API. Case study: Divinity Original Sin ...
 
непрерывная интеграция шаг к непрерывному деплою родионов игорь
непрерывная интеграция   шаг к непрерывному деплою родионов игорьнепрерывная интеграция   шаг к непрерывному деплою родионов игорь
непрерывная интеграция шаг к непрерывному деплою родионов игорь
 

Gradle. Новый уровень автоматизации для Android