Мой Android проект состоит из двух различных типов модулей Gradle:
- библиотечные модули, в основном функции пользовательского интерфейса, каждая функция в отдельном модуле Gradle
- прикладные модули, каждое приложение в отдельном модуле Gradle. Каждое приложение имеет свои настройки, однако они совместно используют подмножества библиотечных модулей.
Каждое приложение хотело бы предоставить свои собственные определения цвета для используемого модуля библиотеки пользовательского интерфейса. До сих пор я достигал этого путем:
- Отображение всех цветов функционального модуля в файле ресурсов
- Переопределение всех цветов в файлах ресурсов в модуле приложения
Этот подход решает бизнес-требования, однако он не очень масштабируем. Всякий раз, когда я добавляю новый цветовой ресурс в функциональный модуль, очень легко забыть обновить все модули приложения, которые используют эту функцию. Из-за этого я получаю много ошибок, связанных с неправильным стилем.
Знаете ли вы какой-нибудь механизм для механизма времени компиляции, который защитил бы меня от таких ошибок?
РЕДАКТИРОВАТЬ: Обратите внимание, что я также Нужны стили по умолчанию в функциональных модулях для запуска тестов пользовательского интерфейса (также снимок экрана)