sbt

sbtからflatbuffersのjavaを使う

flatbuffers自体の説明はあまりしません。ググったり公式ページ見てください。 https://google.github.io/flatbuffers/

ScalaPBで使える protocol buffers の linter の plugin を作った

github.com 最初に作ったのは結構前なのですが、OSSにしてなかったのでOSSにしました。 sbtでの設定方法はgithubのREADMEなどを見てください。 protocol buffersには多少の慣習というかstyle guideが公式にあり、

ScalaコンパイラやsbtとJava 9の対応表

Java 9が広まってきて、しかし多少古いScalaやsbtのままやろうとしてハマっている人を見かけることが多くなってきたので、簡単にまとめておきます。

sbt 0.13.13でtestOnly時のテストクラス名のtab補完が効かないデグレのワークアラウンド

sbt

以下をプロジェクトのbuild.sbtか グローバルなやつ (例 $HOME/.sbt/0.13/build.sbt )に書いておく inConfig(Test){ definedTestNames <<= { import sbinary.DefaultProtocol.StringFormat import Cache.seqFormat (definedTests map (_.map(_.name).distinc…

Scala2.12とsbtのインクリメンタルコンパイルとコンパイル速度

標題の件について簡単に実験をして、それにともなう(コンパイル速度改善可能性の)予想をたてたので、それを書いていく。

sbt-protobufでsrc/test/protobufみたいなのをサポートしたい

以前書いたとおり、sbt-protobufというsbt pluginのコミッターになったので、地味にメンテしてるわけですが

sbt-protobufというsbtのpluginのコミッターになってリリース権限もらった

https://github.com/sbt/sbt-protobuf 経緯の解説をする

sbt-dependency-graphをherokuで実行するやつ作った

https://github.com/xuwei-k/dependency-graph

sbtで依存ライブラリのjarのsha1やsizeをチェックする

sonatypeって確か何故か上書きできる?し、その他なぜか信用ならないリポジトリを使わざるを得ない、もしくはとても心配性な人のためのなにか

sbtにおけるKeyとは何か? 〜 有向非巡回グラフ(Directed Acyclic Graph)とsbt

sbt

sbtを使ったことがある人なら、たいていSettingKeyやTaskKeyという言葉を聞いたことがあるはずです。もし聞いたことがなくても、1度でもsbtを使ったことがあるなら、すでに知らないうちにそれらに触れているはずでしょう。 それらSettingKeyやTaskKeyを含ん…

sbtで、privateリポジトリやgithub enterpriseでも、project referenceを使ってsshプロトコルで直接参照する方法

sbt

タイトル長ぇよ!

sbtで重複を許可しないparserを作る

"重複を許可しない" という言葉だけだと、何言ってるかわからないと思いますが、少しタイトル長くした程度ではいずれにせよ理解してもらえなそうだったので、こういうタイトルになりました。

json4sの3.3系とsbt0.13.7やsbt0.13.8は一緒に使えません

https://github.com/json4s/json4s/issues/236#issuecomment-103363789

sbtのtest-interfaceについて

sbt

これ https://github.com/sbt/test-interface

sbtのCommandとTaskの違い

sbt

Scala祭での、eed3si9nさんによる「sbt被害者の会」をまとめたgoogle documentより抜粋をしたtweetURL"commandは世に出すべきものではないというスタンス、ドキュメントにもそう書いている""stateにアクセスしないといけない場合のみ(sbtそのものの挙動を変…

sbtで "-Ywarn-unused" や "-Ywarn-unused-import" を設定する際のベストプラクティス

前提や問題点 "-Ywarn-unused" と "-Ywarn-unused-import" は、Scala2.11以降の機能 REPLでこれが有効になるとうざいだけなので、REPLのときのみ無効にしたい

scalikejdbcのcode generatorとflywayのsbt pluginを組み合わせて頑張ろうとしてる話

「頑張ろうとしてる」とは、どういうことかというと 「とりあえず方法思いついたけど、これで本当にうまくやっていけるかなぁ?と半信半疑なので、意見を伺いたい状態」 ということ。

sbtのtestOnlyで入力にマッチするテストが1つもなかった場合に失敗にする方法

sbt

testResultLogger := TestResultLogger.Defaults.Main( printNoTests = TestResultLogger((_, _, _) => sys.error("そんな名前のテストないよ(^Д^)www")) ) 以下簡単な解説

sbtで指定した特定のScalaコンパイラの警告を表示しないようにする方法

sbt

https://github.com/ermine-language/ermine-legacy/blob/d576a7b97/build.sbt#L39-L59 https://github.com/ermine-language/ermine-legacy/blob/d576a7b97/project/Build.scala#L42-L61

jol(Java Object Layout)という、Javaのオブジェクトがどのようにメモリ上にレイアウトされるのか?というツールをsbtから便利に使えるようにする

最近公式にopenjdkの一部になったらしい?ので、まだあまり有名じゃないかもしれませんが、以下のような便利ツールがあるの知ってますか?http://openjdk.java.net/projects/code-tools/jol/

sbt-appengineで2段階認証

https://github.com/sbt/sbt-appengine1. sbtのコンソールで以下のように入力

scalikejdbcでsbt0.13.6にアップデートしようとした際のトラブルまとめ

scripted testのnewerコマンド失敗する そもそもsbt0.13.5までnewerコマンド自体がバグってた(必ず成功してしまう) https://github.com/sbt/sbt/commit/4d29302632a07fd scalikejdbcのnewerの部分、引数逆だった 引数逆に修正しても、lastModifiedの時間同じ…

sbtをScala2.11で単なるライブラリとして使う

sbt

Scala祭の興奮冷めやらぬ中?なのか、べつにそうでもないのかよくわかりませんが、引き続きこういった地味なお役立ち情報を書いていきたい所存です。

sbtのconsole上からIntelliJ IDEAを起動させる

commands += BasicCommands.newAlias("openIdea", """eval sys.process.Process("open" :: "/Applications/IntelliJ IDEA 13 CE.app" :: Nil).!""")

sbtで、テストを1つずつ実行して、1つでもテストが失敗したらその時点で他のテストは実行せずに終了するコマンド

同僚に聞かれて、そういえば標準にはない?し、少し調べても見つからなかったので作りました。「すでにあるよ!」「もっといい方法あるよ!」 などあれば教えて下さい。 あと、テスト名sortの部分はカスタマイズできるようにしたほうが便利そうですね。 追記…

sbtrcでsbt pluginを追加できるようにしておくと便利なことに気づいた

sbt

sbtには、便利なのにあまり知られてない.sbtrcという仕組みがあります。

Scalaでクラス図を表示するsbt plugin作った

コードのベースは、もう4年くらい前 に書いたやつ持ってきただけhttps://github.com/xuwei-k/sbt-class-diagram

sbtの "~ compile" がファイル名変更や移動を検知してくれない件

sbt

sbtにissue作るかpull reqを出したいけれど 「誰が見ても明らかなバグで修正方法も明らか」 ではなく*1、少し議論の余地がありそうだけれど、そのあたりを英語でうまく説明する自信がないので、まずは日本語で書きだしてみるシリーズ(たぶん後でissue報告かp…

typesafe activatorを使わないplayframework2.3の始め方

tototoshiさんの、これPlay 2.3 がリリースされたので変更点と試し方を説明しますの便乗(?)的な感じで、なぜか自分もチュートリアルを書いてみます。普通に書いたら意味ないので、少しだけ変わった方法を書いてみます。

giter8-pluginとtravis-ciで、複数versionのScalaのテストをする

giter8-pluginのversion0.6.4時点の情報です。giter8-pluginは、giter8で作ったテンプレート自体のテストを書くためのsbt-pluginです。