Suche senden
Hochladen
Sbt lock1
•
0 gefällt mir
•
1,574 views
Takashi Kawachi
Folgen
Melden
Teilen
Melden
Teilen
1 von 11
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
Let s database_testing
Let s database_testing
Yuji Shimada
[C14] ソーシャル ゲーム基盤を支える SQL Server by Takashi Inaba
[C14] ソーシャル ゲーム基盤を支える SQL Server by Takashi Inaba
Insight Technology, Inc.
最小 Hello World! チャレンジ
最小 Hello World! チャレンジ
Takashi Kawachi
とりあえず使えるSBT
とりあえず使えるSBT
Kiyotaka Kunihira
Play!framework2.0 introduction
Play!framework2.0 introduction
masahitojp
2011年javaの旅
2011年javaの旅
torutk
45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと
Insight Technology, Inc.
What is java_se_7
What is java_se_7
TakumiIINO
Empfohlen
Let s database_testing
Let s database_testing
Yuji Shimada
[C14] ソーシャル ゲーム基盤を支える SQL Server by Takashi Inaba
[C14] ソーシャル ゲーム基盤を支える SQL Server by Takashi Inaba
Insight Technology, Inc.
最小 Hello World! チャレンジ
最小 Hello World! チャレンジ
Takashi Kawachi
とりあえず使えるSBT
とりあえず使えるSBT
Kiyotaka Kunihira
Play!framework2.0 introduction
Play!framework2.0 introduction
masahitojp
2011年javaの旅
2011年javaの旅
torutk
45分で理解する SQL Serverでできることできないこと
45分で理解する SQL Serverでできることできないこと
Insight Technology, Inc.
What is java_se_7
What is java_se_7
TakumiIINO
例外のlogを快適に
例外のlogを快適に
Takashi Kawachi
MacroPyがすごい
MacroPyがすごい
Takashi Kawachi
Silhouette intro
Silhouette intro
Takashi Kawachi
Sbt doctest
Sbt doctest
Takashi Kawachi
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Takashi Kawachi
やさしいIteratee入門
やさしいIteratee入門
Takashi Kawachi
Haskell超初心者勉強会20
Haskell超初心者勉強会20
Takashi Kawachi
Haskell超初心者勉強会17
Haskell超初心者勉強会17
Takashi Kawachi
Haskell超初心者勉強会14
Haskell超初心者勉強会14
Takashi Kawachi
Haskell超初心者勉強会11
Haskell超初心者勉強会11
Takashi Kawachi
Scalaでの例外処理
Scalaでの例外処理
Takashi Kawachi
Weitere ähnliche Inhalte
Mehr von Takashi Kawachi
例外のlogを快適に
例外のlogを快適に
Takashi Kawachi
MacroPyがすごい
MacroPyがすごい
Takashi Kawachi
Silhouette intro
Silhouette intro
Takashi Kawachi
Sbt doctest
Sbt doctest
Takashi Kawachi
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
Takashi Kawachi
やさしいIteratee入門
やさしいIteratee入門
Takashi Kawachi
Haskell超初心者勉強会20
Haskell超初心者勉強会20
Takashi Kawachi
Haskell超初心者勉強会17
Haskell超初心者勉強会17
Takashi Kawachi
Haskell超初心者勉強会14
Haskell超初心者勉強会14
Takashi Kawachi
Haskell超初心者勉強会11
Haskell超初心者勉強会11
Takashi Kawachi
Scalaでの例外処理
Scalaでの例外処理
Takashi Kawachi
Mehr von Takashi Kawachi
(11)
例外のlogを快適に
例外のlogを快適に
MacroPyがすごい
MacroPyがすごい
Silhouette intro
Silhouette intro
Sbt doctest
Sbt doctest
Elastic beanstalk と Docker と Play
Elastic beanstalk と Docker と Play
やさしいIteratee入門
やさしいIteratee入門
Haskell超初心者勉強会20
Haskell超初心者勉強会20
Haskell超初心者勉強会17
Haskell超初心者勉強会17
Haskell超初心者勉強会14
Haskell超初心者勉強会14
Haskell超初心者勉強会11
Haskell超初心者勉強会11
Scalaでの例外処理
Scalaでの例外処理
Sbt lock1
1.
sbt-lock Lock library versions
for stable build 2014/3/11 #rpscala 121回 @kawachi
2.
緩いバージョン指定問題 My Application LibA
1.0.0 org % libA % [1.0.0,) LibA 2.0.0 書き換えていないのに 時間が経ったら ビルド結果が変わる ! 「前は動いてたのに!」 new release 「1.0.0以上」
3.
My Application LibA
1.0.0 LibB 1.0.0 LibB 2.0.0 ここが大丈夫でも… こことか ここで 問題が起きるかも… 依存関係は続くので 問題が起きる箇所を 把握するのは面倒
4.
解決案1. exclude • 固定したい部分を
exclude して、 明示的にバージョンを指定する • libraryDependencies ++= Seq( "log4j" % "log4j" % "1.2.15" exclude("javax.jms", jms ), javax.jms" % jms % 1.0.0 ) exclude する箇所を探すのが大変
5.
解決案2. retrieveManged • 新品の
Play! 2.2.2 scala プロジェクトで (依存が多いと)わりと残念
6.
バージョン指定を上書き • dependencyOverrides +=
"log4j" % "log4j" % "1.2.16" • ライブラリ毎にバージョンの指定ができる (依存関係は増やさない) 全依存ライブラリの dependencyOverrides を 書いた .sbt ファイルを作ればよさそう。
7.
lock.sbt ↓こんな内容を書き込みます update task の結果を元に 「あ、うごきそう」
8.
やってみて気づいたこと • Configuration 毎に別のバージョンは 指定できなさそう •
Configuration 毎に別バージョンを使いたい ことはある?
9.
やってみて気づいたこと • libraryDependencies のバージョンを 書き換えても変化がない •
dependencyOverrides で上書きしてるので 正しいが、気づきづらい
10.
わからないこと • lock.sbt ファイルを作った後/消した後に reload
したい • command にすればいいのでしょうか? • project/, project/project/ も lock すべき?
11.
https://github.com/tkawachi/sbt-lock/
Jetzt herunterladen