Версіонування артефактів складання Gradle використовуючи git імена тегів, бранчів і комітів

З переїздом з SVN на GIT і gitlab (плюс переїзд з Jenkins на Gitlab-CI, але його використання також згадаємо), постало питання версионирования одержуваних артефактів складання програми.

В SVN був усім звичний номер ревізії, монотонно збільшується з кожним комітом. Його було зручно додавати в номер версії, і це вирішувало більшість проблем. Але git звичайно надає безліч булочок, і варто переконувати керівництво і всі команду перевести проект на нього…
Зате довелося відбудувати заново процес версионирования одержуваних артефактів складання.

У підсумку зупинилися на дуже хорошому Gradle плагіні github.com/nemerosa/versioning, про його використанні я і збираюся розповісти.

Читати далі →

Android Tips and Tricks

В даному матеріалі можна буде побачити різні інструменти і підказки, які здорово полегшують життя Android розробникам. Велика частина зібрана безпосередньо від знайомих розробників і містить речі, які повинен знати кожен. Доповнення і розширення вітаються, і якщо ви знаєте про якомусь крутому механізмі, який не був згаданий у статті, не полінуйтеся перейти в оригінал і відкрити pull request.

Читати далі →

Автоматизація публікації програми в Google Play — прямо з Android Studio

Всім привіт! Пів року тому на хабре стаття про те, як автоматизувати завантаження оновлень програми в Google Play. Перший коментар до статті і відповідь на нього свідчив одну неприємну річ:



Але я з радістю готовий повідомити, що це — не правда. Публікувати додаток прямо з Android Studio можна! Більш того, можна робити це взагалі без Android Studio на вашому CI — так як робитися це буде за допомогою звичайного Gradle task.

Читати далі →

Як вирішити проблему обмеження в 64К методів в Unity3D

чи Можете ви уявити гру для Android, зроблений у Unity, яка використовує більше 64K методів Java? Не вдалося це і архітекторам байт-коду Dalvik. Можливо, у них вийшло (я не читав специфікації), і звинувачувати слід інші елементи тулчейна. Як би те ні було, якщо ваша гра перевищує обмеження в 64K методів на файл DEX, вам доведеться копирсатися в своїх нативних плагінах і/або процесі складання. Цей пост є спробою показати різні способи вирішення проблеми.

Читати далі →

Установка Jenkins і Bonobo Git Server під ОС Windows для складання Android додатків

Добрий день. Не маючи часу копатися в LinuxЗіткнувшись з пробілами інформації при пошуку по мережі інструкцій по установці і настройці під ОС Windows сервера безперервної складання Jenkins для додатків Android, Git сервера та їх інтеграції вирішив поділитися інформацією про те, що у мене вийшло.

Читати далі →

Кілька Gradle фішок для вашого Android програми



В одну з останніх розсилок Android Weakly потрапила стаття, в якій згадали цікаві особливості організації складання проекту. Після її прочитання мені захотілося поділитися дечим з того, що я використовую для налаштування збірки Android проекту.

Читати далі →

Збираємо Docker контейнер з http-сервером за допомогою Gradle

image
Виникла така задача: Зробити простий web — сервер з мінімальним числом залежностей. При цьому деплоиться він буде у вигляді docker контейнера. Для реалізації самого сервера буду використовувати GrizzlyWebServer. Для складання Gradle c плагіном для docker від Benjamin Muschko (bmuschko).
Такий вибір інструментів не випадковий, я займаюся розробкою для android і мені ближче Java і Gradle ніж щось інше. У цій статті хочу детально описати процес від написання додатки до запуску в docker, можливі проблеми та їх вирішення.
І так, почнемо: сервер.
Читати далі →

Позбавляємося від бінарних залежностей з композитної складанням в Gradle 3.1

З самого появи Gradle існувало 2 способу розбити свою збірку на компоненти: через бінарні залежності і з допомогою многопроектной складання. Кожен з цих способів має свої плюси і мінуси. У випадку з бінарними залежностями виникає необхідність у публікації артефактів, що ускладнює. У разі використання многопроектной збірки стає
складніше ізолювати компоненти один від одного.
Композитні складання
готується до релізу версії 3.1 в Gradle з'являється новий похід до організації збірок, які складаються із декількох компонентів: композитні складання (ориг. Composite Builds).
Композитні складання дозволяють:
  • Швидко підкласти виправлену версію исходников бібліотеки в інший проект, без необхідності збирати її, опубліковувати і правити складання.
  • Ділити великі проекти на кілька невеликих, ізольованих збірок, над кожною з яких можна працювати як окремо, так і одночасно.
  • Відокремити розробку плагіна для системи збирання від проекту, його використовує (аналог
    buildSrc
    )

Читати далі →

Joker Student Edition: Кращі відео минулих конференцій

Безкраї простори інтернету часто спалахують спалахами праведного гніву з приводу безглуздість і даремність студентів-айтішників, нашої освіти і нарікань у стилі «раніше трава була зеленішою».



Цей пост вийде великим, а всі ось чому: ми розглянемо ТОП-5 доповідей з двох наших студентських конференцій (Joker 2015 University Day і JPoint 2016 Student Day), поговоримо про те, чого хоче молодь в 2016 році, а також пройдемося по новому формату Joker 2016 Student Edition (Петербург, 15 жовтня, Експофорум).

Читати далі →

Java DevTools: модно не значить добре

Сьогодні з нами Антон Архипов — розробник і менеджер продукту JRebel в компанії ZeroTurnaround, — і ми говоримо про правильних засобах розробки та їх неправильному використанні. Антон професійно займається розробкою на Java більш десяти років. Основні інтереси пов'язані з мовами програмування і инструментарными засобами розробки ПО. Дуже любить vim і IntelliJIDEA. Часто виступає на міжнародних конференціях — за спиною виступи на таких конференціях як JAX, JavaOne, Joker, JPoint, GeeCON, Jfokus, JavaZone, EclipseCon.


— Антон, чим ви займаєтеся в області Java-розробки?

— Останні шість років я працюю в компанії «ZeroTurnaround», і з обов'язку служби займаюся улюбленою справою – розробкою інструментів для Java-розробників. Наш відомий продукт – JRebel для Java-розробників, і наш другий великий продукт – це XRebel, теж для Java-розробників, але більше для тих, хто займається веб-розробкою. Я займався перші три роки JRebel, і останні три роки беру участь у створенні XRebel.

Читати далі →