Скрипт Kotlin как параметры конфигурации Gradle, не использующие расширение

Я использую скрипт Kotlin как конфигурацию модулей Gradle в моем проекте. У меня есть настраиваемый плагин развертывания, который настроен во время выполнения для каждого экземпляра сервера. Я использую расширение для передачи параметров из сценария в плагин, поскольку он написан в документах gradle .

build.gradle.kts :

 apply { plugin(DeployPlugin::class.java) } extensions.add("settingsExtension", {s: Server -> getSettings(s)}) fun getSettings(cfg: Server) = DeploySettings( //configure it with respect to cfg ) 

DeployPlugin.kt :

 val settingsExtension = project.extensions.getByName("settingsExtension") as ((Server) -> DeploySettings) val settings = settingsExtension.invoke(currentServer) 

То, что мне не нравится в этом способе настройки, – это то, что добавление расширений в каждую конфигурацию модуля является шаблоном. Я не знаю, является ли это корневым, если я не запускаю задачу. Есть ли другой способ передать функцию getSettings в код плагина? Благодарю.