Flex Builder/Eclipseで新規にプロジェクトを作成する際に、Yui FrameworksやProgression,Swizなどのフレームワークのライブラリ(swcファイル)を含んだものがあるといいなぁと前から思っていたので、Dolteng(どぅるてん)の拡張ポイントを利用して作成することにチャレンジしてみました。
Dolteng(どぅるてん)はseasar関連プロダクトの開発効率を向上させる為のプラグインです。
templateを用意して、plugin.xmlを編集することで生成するプロジェクトを追加することができるようになっていて結構自由度がききます。
これをみてもらうとわかる?のですがfacetタグを追記することで、
テンプレートから決まったファイルを所定のディレクトリにコピー、テキストファイルの文字置換くらいであればpluginのコードを変更しなくても生成するプロジェクトを追加することができます。
今回は、Flex/ASプロジェクトの生成するにあたりWizardも作っているのですが、勝手がわかってないのでとりあえずはDoltengをマルパクリで作りました。
現在作成中の機能としては以下のようになっています。
メニューからFile->New ->Project...を選ぶとプロジェクト作成のWizardが表示されます。
そこで(本家と混乱しそうな名前の)「Flash Platform Project」を選択できます。
プロジェクト名称や、rootPackage,フレームワークを選択できるWizard画面が表示されます。
ここはまだ拡張中なので今の画面レイアウトは適当です。^^
フレームワークの選択とともに、追加したいライブラリを選択できるようになっています。
今は適当にBetweenAS3とTweener,QRCodeReaderを追加しています。
プロジェクトのレイアウトとしては、yui-frameworks(Flex Project)とProgression(AS)の2つで試しています。ActionScriptっていうのがマッチしてません..。
Progressionを選択するとActionScriptプロジェクトでプロジェクトを生成します。
libs以下にProgression3.swcをコピーし、プロジェクト生成時に入力したrootPackageにあわせて、スケルトンを生成します。
flashのファイル(flaファイル)は編集方法がわからないので、コピーするだけ。
生成するファイルについては、Flash Professional CS4でprogressionプロジェクトを生成したときのファイルをテンプレートにしています。あっているのかは...。
Yui-Frameworksを選択するとFlex Projectでプロジェクトを生成します。
下の図は、Yui-Frameworksに加えてtweenerを選んでいるのでswcがlib以下に配置されています。
加えてrootPackageで指定されたフォルダ以下にview,action,validator,viewを配置するフォルダを作ります。
Main.mxmlには、YuiFrameworkMixinタグにrootPackageを指定した形でコピーしています。
これですぐにYui Frameworksのアプリを作り始めることができると思います。
プロジェクト生成まではできるようになったので、pluginとしてexportする方法と、dontengに依存している部分をどう設定するかを調べてwizardまわりを(すこし)整理したら公開できたらなぁと思っています。
あと今考えているのは以下の点です。
- 紛らわしい名前の変更
- iconの追加
- Wizardページの整理(カテゴリとかFrameworkとか2ページ目とか) サーバテクノロジーに合わせたFlexプロジェクトの生成(今はサーバテクノロジーなし状態)
- 選択できるフレームワーク・ライブラリの追加
これをベースにYui Frameworks Pluginの開発も進めてくれる事も期待。> arkwさん
リンク
--
プロジェクトウィザードプラグインについて - 設計と実装の狭間で。
http://d.hatena.ne.jp/taichitaichi/20070330/1175273524#20070330fn1
プロジェクトのタイプを増やすには。 - 設計と実装の狭間で。
http://d.hatena.ne.jp/taichitaichi/20070723/1185178374
DoltengのScaffoldを拡張するには。 - 設計と実装の狭間で。
http://d.hatena.ne.jp/taichitaichi/20070723/1185178375
#実際に拡張ポイントを使って実装した例。参考になりましたm(__)m
☆Doltengの拡張ポイント使ってWicketのアプリをScaffoldするアレ。 - 日記
http://d.hatena.ne.jp/H_Yamaguchi/20080128/p1
この記事に対するコメント