私の BuildConfig.groovy には、プラグインごとに多くのディレクトリを配置する必要がある構成パラメーターがあります。これらのディレクトリをすべて生成する簡単な方法を作成したいと思います。Groovy 構成ファイルが Groovy コードであることは知っていますが、ヘルパー メソッドを作成するための推奨される方法に関連する情報が見つからないようです。(たとえば、mavenRepo、grailsPlugins()、grailsHome() など)。独自のヘルパー メソッドを作成する場合は、どこに配置すればよいので、次のように呼び出すことができます。
someProperty = myHelperMethod()
ちょっと更新。このメソッドを BuildConfig.groovy ファイルに直接書きましたが、うまくいきました。しかし、私はそれを移動して、よりよく整理したいと思います。このようなメソッドを作成して BuildConfig.groovy などの構成ファイルに公開するにはどうすればよいですか?
def pluginDirs() {
List dirs = []
String trash = "[:]/"
grails.plugin.location.each() { name, plugin ->
if( plugin.startsWith(trash) ) {
plugin = plugin.substring(trash.length())
}
dirs << "${plugin}/src/groovy" <<
"${plugin}/grails-app/controllers" <<
"${plugin}/grails-app/domain" <<
"${plugin}/grails-app/services" <<
"${plugin}/grails-app/taglib" <<
"${plugin}/grails-app/utils"
}
return dirs
}
追加クレジット: これらのプラグインの一部は ${basedir} を使用してパスを定義しますが、スクリプトの 1 つを実行すると、${basedir} が定義されていないため、[:] ゴミが URL に挿入されます。それが、その醜いコードがそこにある理由です。