Lambdaカクテル

京都在住Webエンジニアの日記です

Invite link for Scalaわいわいランド

sbt

ScalaプロジェクトをMaven Centralにpublishするメモ

この記事はScalaプロジェクトをMaven Central Repositoryにリリースして全世界から使えるようにする手順をまとめたものである。作業は大別してSonatype側とビルドツール側とに分かれる。今回はビルドツールとしてMillを利用したが、作業の過半は同じである。…

sbtの依存性定義でたまに見るtestやprovidedとは何か--コンフィギュレーションについて学ぼう

sbtはかつてsimple build toolと呼ばれていた(今は酢豚の略とされている)。しかしビルドツールというのは本質的に難しい。複数の依存性を解決し、コンパイラ達が吐き出す成果物を統合し、1つあるいは2つ以上の最終成果物にしなければならないのだから、複雑…

sbtでサブプロジェクトをクロスコンパイルする

大きなsbtプロジェクトのScalaのバージョンアップを行いたいが、共通して依存されているモジュールがあるとそこがボトルネックになって結局全てのモジュールのScalaバージョンを上げなければならなくなってしまう。これをクロスコンパイルで解消したメモ。 …

sbt-native-packagerでDockerイメージにファイルを追加する

sbt-native-packagerのDocker pluginでentrypoint.shを追加してイメージの実行を制御したかったがつまづいたので 解決方法をメモ。 sbt-native-packager sbt-native-packagerとは、Scalaプロジェクトを様々なプラットフォームのネイティブな方式にパッケージ…

SBTプロジェクトのバージョンに"-SNAPSHOT"を付加する理由

SBTに限らないことかもしれないが、g8のようなテンプレートを利用してSBTプロジェクトを作成すると、バージョン名のデフォルトがX.Y.Z-SNAPSHOTとなっていることがある。この理由が分かったのでメモ。 要点 Ivy2はローカルなレポジトリのキャッシュを保有し…

野良Play! FrameworkをPaaSにデプロイするはなし

おひさしぶりです。 さて、懲りもせずにP2P2chのコードを書いておりまして、デプロイとCIを自動化したいな〜などと思ったのでPaaSを色々と調べた。 昔Herokuで実験したが、向こうが用意したPlay frameworkしか使うことができず、こちらがコンパイルしたもの…

★記事をRTしてもらえると喜びます
Webアプリケーション開発関連の記事を投稿しています.読者になってみませんか?