uehaj's blog

Grな日々 - GroovyとかGrailsとかElmとかRustとかHaskellとかReactとかFregeとかJavaとか -

grails run-app + grails console

以下は新しいGrailsではできません。比較的新しいGrails(1.0RC2以降)で実行するには
http://d.hatena.ne.jp/uehaj/20071205/1200971154
をどうぞ。

"grails console"で、実行中のgrailsアプリケーションに対していろいろgroovyレベルでアクセスを行うことができる。しかし、このときのgrailsはWebアプリとしては実行されていないので、ドメインクラスとかダイナミックファインダーメソッドとかを呼び出すことはできても、同時にWEBブラウザからWebアプリとして操作できないように思われる。WebのUIの様子を見たり、WebのUIからデータを投入したりしつつ、consoleも使えると便利なのだが・・・
と思って、grails_home/script/RunApp.groovyをいじってRunAppAndConsole.groovyというのを作ってみました。1行追加、1行修正しただけなんですが。

> diff RunApp.groovy RunAppAndConsole.groovy
42a43
> includeTargets << new File ( "${grailsHome}/scripts/Console.groovy" )
47c48
< depends( checkVersion, configureProxy, packagePlugins, packageApp )

    • -

> depends( checkVersion, configureProxy, packagePlugins, packageApp, console )

こんな機能、コマンドラインオプションとかあるいはscriptとして既にありますかね。いかにもありそうというか無いのが変なので、見つけ損なっているのだという確信に近いものがありますが。

あるいは、groovy consoleから簡単なgroovyコード実行でgroovy run-appに相当することができるとか。

どなたかご存知でしたら教えてくださいませ。

(11/09 21:02追記, DB更新に問題があったため、consoleタスクを明示的に呼び出すのではなくdependsに列挙するようにした)