хочу чтобы выполнялась ф-я которая выбирает рандомное число или букву и отдаёт её уже на компиляцию просто как переменную, т.е ф-я отработает только один раз - при сборке?
Нет. В гредле есть source sets, которые можно при желании подключать условно. Но это полноценные отдельные директории с сорцами, которые потенциально просто могут совместно учавствовать в сборке. Ближе к препроцессору из крестов может быть разве что шаблонизация, но это треш, угар и содомия (хотя я не удивлюсь, если есть готовые плагины для гредла, которые такое реализуют).
Я согласен, но интересно узнать чем они плохи, для того чтобы иметь в голове из-за чего это треш, угар и содомия
Для предварительной обработки файлов с сорцами? Да тем же, чем и препроцессор -- это кошмар для тулинга, если хочется такое поддерживать.
По-хорошему, сборка должна быть воспроизводимая, поэтому генерировать рандомное число это очень плохая идея.
В моем случае не очень плохая
Может, всё-таки git commit id или «sha256 от исходников» будет лучше?
Но, да, в простейшем случае можно через Gradle файлик сгенерировать (у меня очень часто есть такое для генерации файла с «текущей версией») или же через compiler plugin или же через annotation processor.
так а что нужно сделать по факту? какая конечная цель?
Обсуждают сегодня