2008/09/18

grails開発用に、開発支援プラグイン作ってみたよ

こちらの記事に感化され、Grailsで自分用プラグインを作成してみました。

Grails プラグインの作り方 - シンプルな easyb 実行プラグインを作成 - なんとなくな Developer のメモ

 

機能

  1. graisl create-domain-classコマンドで作成されるDomainクラス(毎回記述する固定プロパティを追加)
  2. Morph eXchangeにアップロード、デプロイするためのgrails deploy-morphコマンド
  3. 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ファイルに

  • morph.username
  • morph.password

の2つの設定を追記します。(それぞれ、morphで使用するユーザー名、パスワードです。)設定後、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

0 件のコメント:

コメントを投稿