温泉シバソン#1
自称若者達が雑に作業したりしなかったりする概念っぽいのがシバソン*1
癒やしを求めて温泉でシバソンするって感じで有馬温泉に行ってきた
温泉入って、美味しいご飯食べれたし、こういうの作れたし満足
最寄り駅からバスで1本で行けると信じて当日バス乗り込んだら、道路封鎖されてて遅刻したのはミスった。バスが山越えで異常に酔うし最寄り駅まで戻されるために往復しなきゃだしつらかった。
今回作ったplay-autodoc、r7kamura/autodoc · GitHubがオリジナルで、Play2.xで使えるやつ作ったって感じ。play-autodoc-core
とsbt-plugin
を別に作って、Playみたいにsbt-plugin入れたらlibraryDependencies
に本体が追加される、みたいな世界観で作った。同時にautodoc用のConfiguration追加して、このScopeにおけるテストを実行した時のみドキュメントが生成される。
オリジナルはRSpecの機能使ってるけど、Play書いてる人はSpecsもScalaTestも使ってる人いるし、そもそものPlayのテストヘルパーを拡張する感じで書いた。おかげで全部のテスト終了後...みたいのは取れないからその辺はsbt-pluginでフォローする感じ。
sbt-pluginは一度しか書いたことないし、sbt自体もsourceGenerators
でコンパイル時にコード生成したりするぐらいしかしたことなかったから結構つまずいた。そもそも今回書いたのがいい方法なのかわからない。PlayがやってるようにPlay自体のlibraryDependencies
に与えるversionとsbt-pluginのversionを同じにするためにコード生成したり、sbtに渡した設定値も一度書き出してから渡したりしてる。
使ってないけど、Tests.Cleanupとか使う感じにしても良いかも。
sbt、ドキュメント全部読んだけど異常に難しい ∧ 出来る事めっちゃ多い。ベストプラクティス的な本が欲しい。
大体シバソン気が向いたら適当に家で一人で作業しつつ、適当にSlackのログ眺めてたりしてる。いつも本読んだりなんかしたりして過ぎ去る時間を、取り敢えず便利ツール作るかって感じで色々リポジトリ増えたりしてるの面白い。