grails-platform-ui-scaffolding Install package-pluginコマンドでzip作成する必要有
mintsource/grails-platform-ui-scaffolding · GitHub
scaffoldで生成するGSPファイルをGrails Plugin: Plugin Platform UI仕様にするプラグイン
platform-uiのタグに変更するの面倒なので助かる
grails install-plugin [name] [version] でインストール不可
Grails central repositoryに登録されてないので、grails install-plugin [name] [version] の指定ではインストール出来ない
http://grails.org/plugins/search?q=grails-platform-ui-scaffolding
GithubのZIPでインストール → 失敗
grails install-plugin [URL/File]でインストール。エラーが発生
$ grails install-plugin https://github.com/mintsource/grails-platform-ui-scaffolding/archive/master.zip
URLはGithubのZIPボタンから取得
これでインスト出来たら楽なんですけどね、、
コンソールログ
| Loading Grails 2.1.1 | Configuring classpath. | Environment set to development..... | Downloading zip https://github.com/mintsource/grails-platform-ui-scaffolding/archive/master.zip. Please wait... | Downloading zip https://github.com/mintsource/grails-platform-ui-scaffolding/archive/master.zip. Please wait.... | Error Zip /var/folders/k6/ntjhf80x3qd5whnvpntvfbzw0000gn/T/master.6589727975340207458.zip is not a valid plugin
ソースコピーでインストール → 失敗
マニュアルを見る限り、ソースコピーでもよさそう
scripts/InstallTemplatesPlatformUIScaffolding.groovyも含めてコピー
Now either:
Manually copy the files from the plugin's /src/templates/scaffolding folder to the root project /src/templates/scaffolding
Or install the grails-platform-ui-scaffolding plugin by referring it via a number of methods described here: http://grails.org/doc/latest/ref/Command%20Line/install-plugin.html
一応、インストールは終わったのでマニュアル通り、プラグインのテンプレートを自作プロジェクトにコピーするコマンドを実行
ファイルを認識しない?
$ grails install-templates-platform-ui-scaffolding | Loading Grails 2.1.1 | Configuring classpath | Running pre-compiled script | Script 'InstallTemplatesPlatformUiScaffolding' not found, did you mean: 1) InstallTemplatesPlatformUIScaffolding 2) InstallTemplates 3) CreateScaffoldController 4) InstallPlugin 5) UninstallPlugin > Please make a selection or enter Q to quit:
マニュアルのtypo。-ui-ではなく-uI-
原因は違うけど再度エラー発生。ソースコピーのインストールは難しそう
$ grails install-templates-platform-uI-scaffolding | Loading Grails 2.1.1 | Configuring classpath. | Environment set to development.... | Error Error executing script InstallTemplatesPlatformUIScaffolding: java.lang.NullPointerException: Cannot invoke method getURI() on null object (Use --stacktrace to see the full trace)
ソース生成したZIPでインストール → 成功
プラグインのソースからZIPを生成してみる。Grailsのverが2.1.2以外だとエラー
$ pwd /Users/tezu/Documents/workspace-ggts-3.1.0.RELEASE/grails-platform-ui-scaffolding $ grails package-plugin | Application expects grails version [2.1.2], but GRAILS_HOME is version [2.1.1] - use the correct Grails version or run 'grails upgrade' if this Grails version is newer than the version your application expects.
Grails2.1.2をダウンロード&インストール後に再度package-plugin実行。成功!
http://dist.springframework.org.s3.amazonaws.com/release/GRAILS/grails-2.1.2.zip
$ grails package-plugin | Compiling 11 source files | Compiling 136 source files | Compiling 4 source files… | Plugin packaged grails-grails-platform-ui-scaffolding-0.1.zip
grails install-plugin [URL/File]でインストール。成功!
$ grails install-plugin /Users/tezu/Documents/workspace-ggts-3.1.0.RELEASE/grails-platform-ui-scaffolding/grails-grails-platform-ui-scaffolding-0.1.zip | Loading Grails 2.1.1 | Configuring classpath. | Environment set to development..... | Installing zip grails-grails-platform-ui-scaffolding-0.1.zip..... | Installed plugin grails-platform-ui-scaffolding-0.1 | Resolving plugin JAR dependencies
テンプレートファイルのコピーも成功。grails-ec-adminがアプリケーション
$ grails install-templates-platform-uI-scaffolding | Loading Grails 2.1.1 | Configuring classpath. | Environment set to development.... sourceDir /Users/tezu/.grails/2.1.1/projects/grails-ec-admin/plugins/grails-platform-ui-scaffolding-0.1/.//src/templates/scaffolding targetDir /Users/tezu/Documents/workspace-ggts-3.1.0.RELEASE/grails-ec-admin/src/templates/scaffolding | Environment set to development..... | Platform-UI Scaffolding templates installed successfully $ pwd /Users/tezu/Documents/workspace-ggts-3.1.0.RELEASE/grails-ec-admin/src/templates/scaffolding $ ls -l total 80 -rw-r--r-- 1 tezu36 staff 4059 2 19 14:11 Controller.groovy -rw-r--r-- 1 tezu36 staff 3952 2 19 14:11 Test.groovy -rw-r--r-- 1 tezu36 staff 2189 2 19 14:11 _form.gsp -rw-r--r-- 1 tezu36 staff 989 2 19 14:11 create.gsp -rw-r--r-- 1 tezu36 staff 1519 2 19 14:11 edit.gsp -rw-r--r-- 1 tezu36 staff 2836 2 19 14:11 list.gsp -rw-r--r-- 1 tezu36 staff 11808 2 19 14:11 renderEditor.template -rw-r--r-- 1 tezu36 staff 3591 2 19 14:11 show.gsp
動作確認
Domainを生成後(Member)にgenerate-allコマンドでGSPとControllerを作成
$ grails generate-all jp.gr.java_conf.tezu.grails.ec.Member2 | Loading Grails 2.1.1 | Configuring classpath. | Environment set to development..... | Packaging Grails application.... | Compiling 1 source files | Compiling 1 source files..... | Packaging Grails application..... | Generating views for domain class jp.gr.java_conf.tezu.grails.ec.Member2 | Generating controller for domain class jp.gr.java_conf.tezu.grails.ec.Member2 | Finished generation for domain class jp.gr.java_conf.tezu.grails.ec.Member2
一覧 list.gsp
新規作成 create.gsp
詳細 show.gsp
編集 edit.gspと編集結果
削除結果
これをベースに一覧画面を検索画面に変更するなどのカスタマイズをすれば楽ですね