Grails開発用に、開発支援プラグイン作ってみたよ
こちらの記事に感化され、Grailsで自分用プラグインを作成してみました。
機能
graisl create-domain-class
コマンドで作成されるDomainクラス(毎回記述する固定プロパティを追加)- Morph eXchange にアップロード、デプロイするための
grails deploy-morph
コマンド grails generate-all
コマンド実行時に、すでにcontroller、viewが存在した場合上書きをするかを聞かれるが、面倒なので強制生成するgraisl generate-all-force
コマンド
インストール
対象プロジェクトで、以下のコマンドを実行。
$ grails install-plugin http://genzouw.googlepages.com/grails-development-utilities-0.1.zip
機能1について
通常は空のDomainクラスが作成されますが、いくつかプロパティが追加されたソースが生成されます。
@artifact.package@class @artifact.name@ {
/*
static hasMany = [
]
*/
/*
static belongsTo = [
]
*/
Date dateCreated
Date lastUpdated
static constraints = {
dateCreated(editable:false)
lastUpdated(editable:false)
}
}
僕がGrailsアプリを作成しているときは大抵以下のプロパティは必須としています。したがって、それらを出力内容に追加しました。
- dateCreated
- lastUpdated
- hasMany
- belongTo
機能2について
Morph eXchange サーバーは無料でGrailsアプリを配置できるサーバーですが、ここでは導入方法は割愛します。(要望があれば投稿しますね・・・)
実行するためには、 application.properties
ファイルに以下の2つの設定を追記します。(それぞれ、morphで使用するユーザー名、パスワードです。)
- morph.username
- morph.password
設定後、 grails deploy-morph
コマンドで配置が始まります。( grails war
コマンドであらかじめwarファイルを作成しておきましょう)
機能3について
- いたって単純です。通常の
grails generate-all
コマンドと同じですが、強制的にcontroller、viewを作成します。 - すでにリソースがあった場合にはプロジェクト直下に backup フォルダを作成し、そこに配置します。
- ドメインを複数指定し、
grails generate-all-force compnay employee
といった実行も可能です。(生成対象のドメインは、必ず1つ以上指定が必要です。)
ひとこと
自分では、結構よくできたと思います。
そのほかこんなこと毎回コーディングしたりしているので、プラグインあったらいいなぁ、というようなのがあったらコメントください。
追記-2008/10/15
最新のmorph-pluginはこちらから。
grails install-plugin http://grails-morph-plugin.googlecode.com/files/grails-morph-plugin-0.1.zip
ディスカッション
コメント一覧
まだ、コメントがありません