ものがたり(旧)

atsushieno.hatenablog.com に続く

今年はハッカーになりたい(!) というわけで、連休中にMonoDevelopのアドインでも作ってみようと思っていじっていたのだけど、意外としょうもないことで何度かハマってしまった。

  • Blah.addin.xmlをビルドにちゃんと組み込む。Makefile.amにADDINという行を追加する必要がある。
  • Blah.addin.xmlをbuild/AddIns以下にコピーするようMakefile.amに自分で手順を追加する必要がある。ターゲットは$(ADDIN_BUILD)/$(ADDIN)で、アクションとしてはbuild/AddInsにコピーするだけ。
  • configure.inにBlah.addin.xmlを追加する必要がある。
  • 以上を全て行わないと、そもそもアドインが追加されない。(アドインが追加されているかどうかは、アドインマネージャ、あるいはaboutboxのアセンブリ一覧で確認できる。)
  • テンプレートファイルを追加したら、RES=... で追加して、さらにMakefile.amで$(RES:%=/resource:%)を追加してリソースを埋め込む必要がある。そうしないとテンプレートが見付からないとして怒られる。
  • 以上はMonoDevelop上で行ってもmakeベースのビルドとは別に行わなければならない。
  • テンプレートを他所からコピーしてきて不要な部分をコメントアウトするとInvalidCastExceptionが発生する。これはmonodevelop本体のバグのようなものなので、パッチを当てれば直るはず。

参考になるとしたら、Extras/NUnitとか、Extras/MonoQueryとか、Extras/AspNetAddInとか、かな。

…で、肝心のアドイン本体は何も出来ていない(w