Как стать автором
Обновить
17.53

Gradle *

Система автоматизации сборки Java-проектов

Сначала показывать
Порог рейтинга
Уровень сложности

Оптимизация Gradle: избавляемся от Android-модулей

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров1.9K

Ты уже оптимизировал билд кэши на CI, но время прогонов в МРах неуклонно переваливает за 10 минут? Не хочешь лезть в импакт анализ? Долгий синк проекта в студии?

Разбираем интересную оптимизацию билда Gradle для больших Android проектов.

Читать далее
Всего голосов 6: ↑5 и ↓1+4
Комментарии0

Новости

Compose Desktop ShadowJar

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров962

По состоянию на 12 августа 2024 года нет хорошего туториала/документации по Compose Desktop ShadowJar.

Существующие руководства помогут настроить ComposeMultiplatform для распространения нативных таргетов.

Но что, если вы хотите использовать ShadowJar, чтобы каждый пользователь мог запустить ваше приложение через .jar?

Дисклеймер: Это руководство предоставит информацию о некоторых частных случаях, но в зависимости от вашего проекта шаги могут отличаться.

Эта статья, вероятно, не предоставит полного охвата вашего частного случая. Более того, не каждый пользователь сможет запустить созданный .jar файл. Например, пользователь с Java 8 не сможет запустить .jar файл, который был построен с использованием более поздней версии Java. Но это не относится напрямую к статье.

Читать далее
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Генерация HTTP клиентов для Spring Boot приложения по OpenAPI спецификации

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров4.1K

В новом переводе от команды Spring АйО вы узнаете, как можно сгенерировать код HTTP клиентов для Spring Boot приложения по OpenAPI спецификации, используя плагин openapi-generator для Gradle.

В статье вы найдете:

1. Пошаговую инструкцию по использованию openapi-generator для Gradle

2. Настройки для генератора, которые помогут оставить только нужный код

3. Пример конфигурации сгенерированных Spring-бинов

Читать далее
Всего голосов 13: ↑13 и ↓0+15
Комментарии0

Gradle + GitLab: эффективный и бесплатный билд-кэш

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров2K

Гайд по бюджетной настройке GitLab кэшей для Gradle в Android проектах без использования Gradle Enterprise и Remote Build Cache.

Читать далее
Всего голосов 11: ↑11 и ↓0+16
Комментарии4

Истории

Как публиковать библиотеку в Maven Central Portal в 2024 году

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров1.1K

Начиная с 12 марта 2024 года регистрация на OSSRH портале теперь недоступна. Большинство существующих туториалов в интернете описывает как раз опыт публикации через OSSRH на Maven Central. Из-за чего после марта 2024 года эти туториалы стали не актуальны для публикации проектов новых авторов.

Читать далее
Всего голосов 11: ↑11 и ↓0+13
Комментарии1

Declarative Gradle: рывок или прорыв?

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров8.5K

Полгода назад команда Gradle представила новый продукт — Declarative Gradle. Команда Spring АйО, со своей стороны, провела исследование и готова поделиться результатами. 

TL;DR: технология всё ещё активно развивается, но пока что не поддерживается привычными инструментами, такими как IntelliJ IDEA. Несмотря на это, нам удалось запустить Spring Boot приложение!

Читать далее
Всего голосов 22: ↑20 и ↓2+22
Комментарии27

Как мы разобрали монолитное приложение для бизнеса на модули

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров2.5K

Привет, Хабр! Я Анатолий, главный инженер-программист разработки мобильных приложений в ПСБ. В этой статье делюсь опытом миграции крупного монолитного приложения «Мой Бизнес» на модули. Расскажу все ключевые моменты, и с какими сложностями мы столкнулись на этом пути.

Читать далее
Всего голосов 3: ↑2 и ↓1+3
Комментарии1

Как я делаю build больших Android/iOS проектов со 128 GB памяти на старом Mac

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров3K

Наверняка вы не раз сталкивались с проблемой нехватки памяти на вашем ПК при билде проектов? Недавно мне стало не хватать основной памяти на диске, где установлена система MacOS. Решением проблемы послужило приобретение внешнего SSD диска. Как же настроить работу билдов Android и iOS на внешнем диске и перенести все проекты и приложения? Об этом и пойдет речь в этой статье. Приятного чтения!

Читать далее
Всего голосов 5: ↑3 и ↓2+1
Комментарии22

Комбинированная авторизация в Spring Security: Социальные сети и логин через username/password

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров5K

Привет! Меня зовут Данекер, я Fullstack-разработчик (Java, Angular). В этой статье я хочу поделиться с вами, как реализовать комбинированную авторизацию в Spring Security, используя примеры авторизации через социальные сети, такие как GitHub, а также традиционный логин через username/password. Мы рассмотрим процесс настройки и интеграции обоих методов, чтобы ваши пользователи могли выбирать наиболее удобный для них способ входа в систему. Надеюсь, это руководство будет полезным и поможет вам упростить процесс аутентификации в вашем приложении. Если у вас возникнут вопросы, буду рад ответить на них в комментариях. Также приветствую обратную связь от более опытных и искушённых разработчиков.

Читать далее
Всего голосов 11: ↑8 и ↓3+7
Комментарии10

Как не свихнуться с кучей модулей в проекте

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.6K

На данный момент я работаю с весьма ветвистыми проектами (один из них состоит из почти 120 градл модулей) и уже достаточно давно разные факторы подталкивали меня написать статью о том, как я организую свои проекты: стажеры и коллеги, чтение различных статей и книг. Понятное дело, что не существует серебряной пули, но я надеюсь, что эта статья поможет кому-то в понимании, как можно организовывать проекты. Добро пожаловать в комментарии для обмена опытом :)

Добро пожаловать :)
Всего голосов 7: ↑5 и ↓2+8
Комментарии10

Современный способ организации зависимостей в Android. Version catalog и Gradle convention plugin

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров4.8K

Я — Денис, Middle Android-разработчик в «Лайв Тайпинге». В этой статье я расскажу о современном подходе организации зависимостей в Android. Вы узнаете как использовать version catalog и convention plugin в вашем проекте.

Читать далее
Всего голосов 11: ↑9 и ↓2+10
Комментарии6

AndroidFoodRecipesGuideTutorial

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.5K

В данной статье мы создадим простое приложение для отображения списков блюд на платформе Android с использованием языка программирования Kotlin.

Мы погрузимся в увлекательный мир мобильной разработки и научимся использовать различные технологии, включая RecyclerView для отображения списков, фрагменты для организации интерфейса, и многое другое. Наше приложение будет не только функциональным, но и простым в создании благодаря мощным инструментам, которые предоставляет нам Kotlin и Android SDK.

Давайте вместе разберемся, как создать этот простой, но полезный инструмент, который может быть использован в различных контекстах, будь то кулинарное приложение, список покупок или что-то еще. Погнали!

Погнали!
Всего голосов 4: ↑1 и ↓30
Комментарии3

Создание и использование BOM в Gradle

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров7.5K

В каждой компании (а если она крупная, то, скорее всего, в каждом подразделении) должна быть выстроена культура использования BOM (bill of materials) для управления версиями зависимостей. В этой статье я хочу поделиться своим видением того, как это может быть организовано, а также рассмотреть более сложные случаи создания и использования BOM в Gradle-проектах.

Читать далее
Всего голосов 13: ↑12 и ↓1+11
Комментарии9

Ближайшие события

Переход на Gradle 8 Android проекта

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров4.8K

Всем привет, меня зовут Карамышев Саша и я Android разработчик. Занимаюсь проектом связанным со страхованием.

На днях поступила моя любимая нетривиальная задача, перевести проект на 8ой градл, чтобы потренироваться на котиках на не большом проекте и столкнутся с основными проблемами.

И конечно документация мне не помогла.

Рассказываю, где документация меня запутывала и как я выпутался

Читать далее
Всего голосов 6: ↑4 и ↓2+3
Комментарии4

Как распараллелить тесты с базой данных

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров4.6K

Представьте проект, в котором уже написано несколько сотен тестов. Каждый тест настраивает базу под себя: добавляет данные, вызывает truncate по окончанию. Хочется запускать тесты параллельно, чтобы ускориться, но если два теста запустить одновременно, они почти наверняка друг другу помешают.

В данной статье поделюсь подходом, который позволил решить проблему без рефакторинга.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии20

Как мониторить здоровье вашей Gradle-сборки

Время на прочтение11 мин
Количество просмотров5.6K

Как себя чувствуют ваши Gradle-сборки? Рассказываем, как проверить их состояние и как «подлечить», чтобы CI работал чётко.

Читать далее
Всего голосов 5: ↑5 и ↓0+5
Комментарии2

Protobuf или Reflection в JNI

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров10K

Вы когда нибудь задумывались, на сколько grpc быстрый. Да в сети, ему равных нет. Если вы гоняете маленькие сообщения, которые надо быстро доставить, то лучше grpc попросту не найти ( найти, но по мнению автору protobuf остается движком сериализации, поддерживающим большее кол-во языков ). Но насколько он хорош? Сможет ли он к примеру сравнится просто с нативными вызовами?

Попробуем сравнить это, но так как в обычной жизни нам это может не пригодится, то добавим еще одно условие - сравниваем как лучший способ взаимодействия с jni библиотекой.

Читать далее
Всего голосов 10: ↑6 и ↓4+4
Комментарии14

Убираем дублирование конфигурации Gradle и при чём здесь косы и горы

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров2.3K

Хотите избавиться от дублирования конфигураций и зависимостей Gradle в многомодульном проекте? В данной статье я расскажу свой способ от этого избавиться и упростить себе конфигурацию новых модулей.

Статья больше ориентирована на специфику Android, но может пригодиться и другим пользователям Gradle.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии8

Gradle для тестировщика

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров8.3K

Всем привет. Меня зовут Ирек, и я в профессиональном IT с 2012 года. Прошел путь от специалиста службы поддержки до разработчика. На данный момент занимаюсь автоматизацией тестирования в компании РТК ИТ.

В статье хочу рассказать о полезных для автоматизатора возможностях Gradle.

Читать далее
Всего голосов 10: ↑9 и ↓1+9
Комментарии0

Как проверить наличие обновлений зависимостей в Gradle?

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.5K

Каждый раз, добавляя новую библиотеку в проект, встаёт вопрос о том, можно ли обойтись без неё. И не удивительно, ведь нам, разработчикам, и так приходится поддерживать зоопарк библиотек в наших проектах. Каждая новая добавляет рутинной работы по поиску, обновлению и миграции библиотек на новые версии. И если миграцию на новые версии за нас никто не выполнит, то поиск обновлений можно автоматизировать.

Именно об этом, Я и расскажу в этой статье.

Читать далее
Всего голосов 11: ↑9 и ↓2+8
Комментарии9