$shibayu36->blog;

クラスター株式会社のソフトウェアエンジニアです。エンジニアリングや読書などについて書いています。

scala

sbtが依存管理に使っているivyのローカルレポジトリやキャッシュについて調べた

自作のScalaライブラリをpublishLocalしながら手元でリリース前に最終確認する - $shibayu36->blog; で、手元で自作ライブラリの最終確認をするにはpublishLocalすれば良いことを書いた。この時にsbtが依存管理に使っているivyについてもついでに調べたので…

自作ScalaライブラリをMaven Centralにリリースする手順メモ

最近Scalaの勉強も兼ねてjoda-time-fakeというScalaライブラリをMaven Central Repositoryにリリースしてみた。今回はその手順を忘れないようにメモとして残しておく。 今回の手順でできたこと com.github.shibayu36 organizationにjoda-time-fakeとしてライ…

自作のScalaライブラリをpublishLocalしながら手元でリリース前に最終確認する

joda-time-fakeを作りながら、リリースする前に手元で最終確認したいと思い、やり方を調べていた。調べてみると、publishLocalというものを使えば、ローカルのivy repositoryに成果物をpublishすることができ、そうすることで他のプロジェクトから参照できる…

【Scala】テスト時にjoda-timeの現在時刻を変更できるjoda-time-fakeを作りました

テストをしようとすると、現在時刻を変更したくなることがよくある。現在のプロジェクトではjoda-timeを使っているので、joda-timeのDateTime.nowが返す時刻を変更したい。ということで、それを簡単にできるjoda-time-fakeというライブラリを作りました。 ht…

sbtで複数のScalaのバージョンでビルドする

ライブラリを作っていて、2.11と2.12両方共でビルドしたかったので、sbtでどうやるか調べた。 方法は非常に簡単で、https://www.scala-sbt.org/1.0/docs/Cross-Build.html#Cross-Building+a+Project を参考にすれば良い。まずbuild.sbtにcrossScalaVersions…

project/build.propertiesのsbt.versionでプロジェクトのsbtのバージョンを決められる

Scalaでビルドツールであるsbtを使っていて、そういえばsbtコマンドはグローバルのものを使っているけど、プロジェクトごとにバージョンを変えたかったらどうすればいいんだろうと疑問に思っていた。よくよく調べてみると、そもそもsbtの標準機能としてプロ…

Scala入門記

僕はこれまでまともに学習したプログラミング言語がPerlとJavaScriptしかなくて、静的言語的パラダイムや関数型パラダイムは概念は知っているものの、それがどう役に立つのか、逆にどういう面で課題がありどのように対処されているのか、などといったことを…

Scala入門してる - クラスとオブジェクト編

コップ本第04章を読んだ感想を少しだけ。 class クラス定義はclassというキーワードを使う。これで定義するのはインスタンスを生成するもの。ScalaではJavaのようなstaticなメソッドはclassでは定義できない。varでpublicなメンバー、defでメソッドを定義。p…

Scala入門してる - 演算子編

コップ本読みながら、Scala入門してる。今は第05章の基本型と演算子を読んでる。Scalaの演算子はすべてメソッド呼び出しらしい。分かりやすくて良い。例えば val x = 1 + 1 は val x = (1).+(2) と同じらしい。分かりやすい。 単項演算子みたいなのもあると…

Scala入門してる - 環境導入編

コップ本を読みながらScala入門をしている。Scalaスケーラブルプログラミング第2版作者:Martin Odersky,Lex Spoon,Bill VennersインプレスAmazonひとまず環境導入をした。 JDKのインストール Java Downloads | OracleからMac OS X用のJDKをダウンロードして…