Всем привет! На связи Дима Котиков, и мы завершаем цикл статей о том, как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах. В предыдущих статьях мы подготовили и настроили базовый модуль для написания Gradle Convention Plugins, написали несколько convention-плагинов в файлах -.gradle.kts, сделали еще один модуль и создали convention-плагины на базе kotlin-классов. В заключительной части мы немного порефакторим написанный код, попытаемся настроить области видимости convention-плагинов и extension-функций для конфигурации сборки, а также подведем итоги.
Gradle *
Система автоматизации сборки Java-проектов
Новости
Образы БД для юнит-тестирования, опять
В прошлой статье был предложен вариант для создания docker образов БД для последующего использования в разработке и тестирования приложений в пайплайнах гитлаба.
Из-за перехода на новую инфрастуктуру k8s 1.30 (restricted psp) и новый гитлаб 17.3 все это ломается. Поэтому придется исправлять ситуацию!
Декларативный подход в организации gradle зависимостей в Android-проектах
В многомодульных приложениях Android существует проблема организации зависимости gradle. Каждая зависимость указывается отдельно.
Создание Convention Plugin-ов на базе Kotlin-классов
Всем привет! На связи Дима Котиков и мы продолжаем разговор о том, как облегчить себе жизнь и уменьшить bolierplate в gradle-файлах. В предыдущих статьях мы сделали отдельный модуль для написания Convention Plugins, провели необходимые настройки и написали несколько Convention Plugin‑ов в «‑.gradle.kts»‑файлах. В этой части мы будем создавать Convention Plugin‑ы на базе Kotlin‑классов.
Истории
Создание плагинов и переиспользуемых частей в .gradle.kts-файлах и Kotlin extension-функциях
Всем привет! На связи Дима Котиков, и мы продолжаем разговор о том, как облегчить себе жизнь и уменьшить Boilerplate в gradle-файлах. В первой части поговорили о том, как подготовиться к созданию модулей для Gradle Convention Plugin. Двигаемся дальше!
Gradle Convention Plugins: как облегчить себе жизнь и уменьшить boilerplate в gradle-файлах
Привет, Хабр! Я Дима Котиков, ведущий android-разработчик в Т-Банке. Работаю в команде приложения Долями. Разработкой под Android начал увлекаться в 2020 году, а потом хобби переросло в работу. Люблю разбираться в технологиях, разрабатывать под Android и KMP и латте на фундучном молоке :)
Я расскажу о том, как облегчить работу с Gradle с использованием Gradle Convention Plugins. Всю информацию я разбил на серию статей для удобства. Они будут полезны всем, кто пользуется Gradle в качестве сборщика проектов. В первой части поговорим о проблеме с build.gradle-файлами и сделаем начальную настройку для написания Gradle Convention Plugins.
Ниссан jooq
Это небольшая история о том как я настраивал jooq генератор с gradle и postgis. По большому счету в моем пэт проекте это было не особо нужно, но хотелось повторить стэк, с которым работаю, но с нуля.
Как переход на AGP&Gradle 8.* изменил взгляд на работу с производительностью сборки
Переход на технологии и инструменты новых версий может быть обусловлен разными причинами: от банального появления проблем при работе с устаревшими версиями до желания получать больше возможностей. При этом для многих команд, независимо от причин, апгрейд стека является задачей, скрывающей не только выгоды, но и сложности, которые приходится стойко преодолевать.
Меня зовут Богдан Мащенко. Я Android-разработчик в платформенной команде Одноклассников. В этой статье я расскажу о нашем опыте перехода на AGP (Android Gradle Plugin) и Gradle версий 8.*: что стало причиной перехода, как преодолевали трудности, и что мы смогли получить в результате.
Оптимизация Gradle: избавляемся от Android-модулей
Ты уже оптимизировал билд кэши на CI, но время прогонов в МРах неуклонно переваливает за 10 минут? Не хочешь лезть в импакт анализ? Долгий синк проекта в студии?
Разбираем интересную оптимизацию билда Gradle для больших Android проектов.
Compose Desktop ShadowJar
По состоянию на 12 августа 2024 года нет хорошего туториала/документации по Compose Desktop ShadowJar.
Существующие руководства помогут настроить ComposeMultiplatform для распространения нативных таргетов.
Но что, если вы хотите использовать ShadowJar, чтобы каждый пользователь мог запустить ваше приложение через .jar
?
Дисклеймер: Это руководство предоставит информацию о некоторых частных случаях, но в зависимости от вашего проекта шаги могут отличаться.
Эта статья, вероятно, не предоставит полного охвата вашего частного случая. Более того, не каждый пользователь сможет запустить созданный .jar файл. Например, пользователь с Java 8 не сможет запустить .jar файл, который был построен с использованием более поздней версии Java. Но это не относится напрямую к статье.
Генерация HTTP клиентов для Spring Boot приложения по OpenAPI спецификации
В новом переводе от команды Spring АйО вы узнаете, как можно сгенерировать код HTTP клиентов для Spring Boot приложения по OpenAPI спецификации, используя плагин openapi-generator для Gradle.
В статье вы найдете:
1. Пошаговую инструкцию по использованию openapi-generator для Gradle
2. Настройки для генератора, которые помогут оставить только нужный код
3. Пример конфигурации сгенерированных Spring-бинов
Gradle + GitLab: эффективный и бесплатный билд-кэш
Гайд по бюджетной настройке GitLab кэшей для Gradle в Android проектах без использования Gradle Enterprise и Remote Build Cache.
Как публиковать библиотеку в Maven Central Portal в 2024 году
Начиная с 12 марта 2024 года регистрация на OSSRH портале теперь недоступна. Большинство существующих туториалов в интернете описывает как раз опыт публикации через OSSRH на Maven Central. Из-за чего после марта 2024 года эти туториалы стали не актуальны для публикации проектов новых авторов.
Ближайшие события
Declarative Gradle: рывок или прорыв?
Полгода назад команда Gradle представила новый продукт — Declarative Gradle. Команда Spring АйО, со своей стороны, провела исследование и готова поделиться результатами.
TL;DR: технология всё ещё активно развивается, но пока что не поддерживается привычными инструментами, такими как IntelliJ IDEA. Несмотря на это, нам удалось запустить Spring Boot приложение!
Как мы разобрали монолитное приложение для бизнеса на модули
Привет, Хабр! Я Анатолий, главный инженер-программист разработки мобильных приложений в ПСБ. В этой статье делюсь опытом миграции крупного монолитного приложения «Мой Бизнес» на модули. Расскажу все ключевые моменты, и с какими сложностями мы столкнулись на этом пути.
Как я делаю build больших Android/iOS проектов со 128 GB памяти на старом Mac
Наверняка вы не раз сталкивались с проблемой нехватки памяти на вашем ПК при билде проектов? Недавно мне стало не хватать основной памяти на диске, где установлена система MacOS. Решением проблемы послужило приобретение внешнего SSD диска. Как же настроить работу билдов Android и iOS на внешнем диске и перенести все проекты и приложения? Об этом и пойдет речь в этой статье. Приятного чтения!
Комбинированная авторизация в Spring Security: Социальные сети и логин через username/password
Привет! Меня зовут Данекер, я Fullstack-разработчик (Java, Angular). В этой статье я хочу поделиться с вами, как реализовать комбинированную авторизацию в Spring Security, используя примеры авторизации через социальные сети, такие как GitHub, а также традиционный логин через username/password. Мы рассмотрим процесс настройки и интеграции обоих методов, чтобы ваши пользователи могли выбирать наиболее удобный для них способ входа в систему. Надеюсь, это руководство будет полезным и поможет вам упростить процесс аутентификации в вашем приложении. Если у вас возникнут вопросы, буду рад ответить на них в комментариях. Также приветствую обратную связь от более опытных и искушённых разработчиков.
Как не свихнуться с кучей модулей в проекте
На данный момент я работаю с весьма ветвистыми проектами (один из них состоит из почти 120 градл модулей) и уже достаточно давно разные факторы подталкивали меня написать статью о том, как я организую свои проекты: стажеры и коллеги, чтение различных статей и книг. Понятное дело, что не существует серебряной пули, но я надеюсь, что эта статья поможет кому-то в понимании, как можно организовывать проекты. Добро пожаловать в комментарии для обмена опытом :)
Современный способ организации зависимостей в Android. Version catalog и Gradle convention plugin
Я — Денис, Middle Android-разработчик в «Лайв Тайпинге». В этой статье я расскажу о современном подходе организации зависимостей в Android. Вы узнаете как использовать version catalog и convention plugin в вашем проекте.
AndroidFoodRecipesGuideTutorial
В данной статье мы создадим простое приложение для отображения списков блюд на платформе Android с использованием языка программирования Kotlin.
Мы погрузимся в увлекательный мир мобильной разработки и научимся использовать различные технологии, включая RecyclerView для отображения списков, фрагменты для организации интерфейса, и многое другое. Наше приложение будет не только функциональным, но и простым в создании благодаря мощным инструментам, которые предоставляет нам Kotlin и Android SDK.
Давайте вместе разберемся, как создать этот простой, но полезный инструмент, который может быть использован в различных контекстах, будь то кулинарное приложение, список покупок или что-то еще. Погнали!