Brikster / Chatty

Bukkit-compatible chat management system
MIT License
92 stars 48 forks source link

Использовать convention плагины за место allprojects и subprojects #247

Open DrupalDoesNotExists opened 1 year ago

DrupalDoesNotExists commented 1 year ago

Исходя из документации и некоторых статей, Gradle предпочитает композицию над наследованием. Allprojects и subprojects это лишь совместимость с Maven'ом (который построен на наследовании).

Наследование ведёт к тому, что конфигурация, отвечающая за подпроект может находиться в файле, далёком от build скрипта этого подпроекта. Так же, со временем она ведёт к сильному ветвлению.

Есть несколько статей на этот счёт: https://melix.github.io/blog/2021/12/composition-in-gradle.html https://docs.gradle.org/current/userguide/structuring_software_products.html

Скоро прикреплю PR для того, чтобы закрыть эту issue.

Brikster commented 1 year ago

В master/dev ветках нет большого смысла проделывать эту работу, т.к. там старая версия плагина, которая в скором времени не будет обновляться. В ветке v3 полностью переработанный код, но эта версия пока не в релизе. Тем не менее, там это будет намного более уместно (мержить изменения из основных веток будет очень проблематично).