Sbt lock1
Upcoming SlideShare
Loading in...5
×
 

Sbt lock1

on

  • 408 views

 

Statistics

Views

Total Views
408
Views on SlideShare
337
Embed Views
71

Actions

Likes
0
Downloads
0
Comments
0

1 Embed 71

https://twitter.com 71

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Sbt lock1 Sbt lock1 Presentation Transcript

  • sbt-lock Lock library versions for stable build 2014/3/11 #rpscala 121回 @kawachi
  • 緩いバージョン指定問題 My Application LibA 1.0.0 org % libA % [1.0.0,) LibA 2.0.0 書き換えていないのに 時間が経ったら
 ビルド結果が変わる ! 「前は動いてたのに!」 new release 「1.0.0以上」
  • My Application LibA 1.0.0 LibB 1.0.0 LibB 2.0.0 ここが大丈夫でも… こことか ここで
 問題が起きるかも… 依存関係は続くので
 問題が起きる箇所を
 把握するのは面倒
  • 解決案1. exclude • 固定したい部分を exclude して、
 明示的にバージョンを指定する • libraryDependencies ++= Seq(
 "log4j" % "log4j" % "1.2.15" exclude("javax.jms", jms ),
 javax.jms" % jms % 1.0.0 
 ) exclude する箇所を探すのが大変
  • 解決案2. retrieveManged • 新品の Play! 2.2.2 scala プロジェクトで (依存が多いと)わりと残念
  • バージョン指定を上書き • dependencyOverrides += "log4j" % "log4j" % "1.2.16" • ライブラリ毎にバージョンの指定ができる
 (依存関係は増やさない) 全依存ライブラリの dependencyOverrides を
 書いた .sbt ファイルを作ればよさそう。
  • lock.sbt ↓こんな内容を書き込みます update task の結果を元に 「あ、うごきそう」
  • やってみて気づいたこと • Configuration 毎に別のバージョンは
 指定できなさそう • Configuration 毎に別バージョンを使いたい ことはある?
  • やってみて気づいたこと • libraryDependencies のバージョンを
 書き換えても変化がない • dependencyOverrides で上書きしてるので
 正しいが、気づきづらい
  • わからないこと • lock.sbt ファイルを作った後/消した後に reload したい • command にすればいいのでしょうか? • project/, project/project/ も lock すべき?
  • https://github.com/tkawachi/sbt-lock/