読者です 読者をやめる 読者になる 読者になる

冥冥乃志

ソフトウェア開発会社でチームマネージャをしているエンジニアの雑記。アウトプットは少なめです。

follow us in feedly

Dropbox4S 0.2.0をリリースしました

Scala Programming

今回は技術的には(自分の中で)ほとんど新しいことをしていないので、リリースノートレベルですね。

Shinsuke-Abe/dropbox4s · GitHub
dropbox4s

リリースノート

大まかには0.1.0で未対応だったDatastore APIとCore APIへの対応とScalaの2.11への対応です。

  • 共有データストアへの対応(Datastore API)
  • Dropboxがデータの型として許可しているラップ型の実装(Datastore API)
  • Datastore APIの各IDの制約をユーティリティとして実装(Datastore API)
  • サムネイルの取得(Core API)
  • CopyRefの実装(Core API)
  • Chunkを使ったアップロードの実装(Core API)
  • 2.10系と2.11系のマルチビルド

今回から少しReadmeを強化しました。これじゃ意味が通じないよ、な所は突っ込み入れていただけると。。。

相変わらずリリースでミスる

で、完全に忘れていたのですが、リリース時にミスりました。ローカルマシンのJDKが1.8になっているため、1.7前提のScala 2.10のビルドがこける。Scala 2.11のリリースだけが上手く行っている状態となりました。releaseプラグインを使っているので、タグも切られて次バージョンに変更されているので、とりあえず、中途半端にリリースされたり、二次的なミスとして新しいバージョンでリリースしてしまったりしたものをbintrayから削除*1してからpublishのみやり直すことにしました。
JDKのバージョンが1.7になるようにして*2、version.sbtのバージョンを書き換えた上で sbt publish を実行。

今後について

まだまだ修正していきたいところがあるので、順次対応していきたいと思います。
次のバージョンに向けて考えているのは以下です。

  • 所々でnullを返している実装をOptionに変えていく
  • レコードの行の取り扱いを便利にするユーティリティ(コンバータをクラスから作ってくれるとか)
  • レコードで使える型(Dropboxの制約)に違反したときのエラー実装
  • トランザクション(ローカルDatastore、公式のライブラリでは実装されている)
  • CI環境(一回挫折したヤツ)

この辺りまで実装が終わったら、とりあえず1.0.0として良いかなあ、と思っているのでもう少し頑張ってみようかと思います。

*1:この削除の場所が分かりづらかった。。。

*2:元々そのためにシェルを作っていたのですが、パスがうまくセットされないというおまけ付き。。。ドットつけての実行じゃないとだめなのね。。。