Sunday, 15 May 2011

scala - How to access Ivy directly, i.e. access dependency reports or execute Ivy commands? -



scala - How to access Ivy directly, i.e. access dependency reports or execute Ivy commands? -

sbt uses ivy under hood dependencies. ivy can generate lots of dependency reports. how can access via sbt?

in general, if want utilize ivy command via sbt, how can it? can generate pom sbt dependencies?

update: goal debug , manually fine tune problems, not part of automated tasks

update 2: debug, i'd see whole transitive dependency chain, not top level dependencies.

there several options when debugging dependencies.

using sbt-dependency-graph

you can utilize whatdependson <organization> <module> <revision> command see dependency used.

for illustration have transitive dependency org.apache.httpcomponents:httpcore:4.0.1. see includes can utilize whatdependson.

[play-slick-advanced] $ whatdependson org.apache.httpcomponents httpcore 4.0.1 [info] org.apache.httpcomponents:httpcore:4.0.1 [info] +-oauth.signpost:signpost-commonshttp4:1.2.1.2 [info] | +-com.typesafe.play:play_2.10:2.2.0 [info] | +-com.typesafe.play:play-java_2.10:2.2.0 [info] | | +-default:play-slick-advanced_2.10:1.0.1 [s] [info] | | [info] | +-com.typesafe.play:play-jdbc_2.10:2.2.0 [info] | | +-com.typesafe.play:play-slick_2.10:0.5.0.8 [s] [info] | | +-default:play-slick-advanced_2.10:1.0.1 [s] [info] | | +-org.virtuslab:unicorn_2.10:0.4 [s] [info] | | +-default:play-slick-advanced_2.10:1.0.1 [s] [info] | | [info] | +-com.typesafe.play:play-slick_2.10:0.5.0.8 [s] [info] | | +-default:play-slick-advanced_2.10:1.0.1 [s] [info] | | +-org.virtuslab:unicorn_2.10:0.4 [s] [info] | | +-default:play-slick-advanced_2.10:1.0.1 [s] [info] | | [info] | +-default:play-slick-advanced_2.10:1.0.1 [s] [info] | [info] +-org.apache.httpcomponents:httpclient:4.0.1 [info] +-oauth.signpost:signpost-commonshttp4:1.2.1.2 [info] +-com.typesafe.play:play_2.10:2.2.0 [info] +-com.typesafe.play:play-java_2.10:2.2.0 [info] | +-default:play-slick-advanced_2.10:1.0.1 [s] [info] | [info] +-com.typesafe.play:play-jdbc_2.10:2.2.0 [info] | +-com.typesafe.play:play-slick_2.10:0.5.0.8 [s] [info] | +-default:play-slick-advanced_2.10:1.0.1 [s] [info] | +-org.virtuslab:unicorn_2.10:0.4 [s] [info] | +-default:play-slick-advanced_2.10:1.0.1 [s] [info] | [info] +-com.typesafe.play:play-slick_2.10:0.5.0.8 [s] [info] | +-default:play-slick-advanced_2.10:1.0.1 [s] [info] | +-org.virtuslab:unicorn_2.10:0.4 [s] [info] | +-default:play-slick-advanced_2.10:1.0.1 [s] [info] | [info] +-default:play-slick-advanced_2.10:1.0.1 [s] just using sbt

i think fact reports produced cool , underestimated feature. generated in target/resolution-cache/reports directory, after update task.

this step step guide on how utilize them.

clean project

run update , go target/resolution-cache/reports

open of xml files firefox

this part bit tricky, reason browsers render right report, , read file xml file. not sure why that, sure firefox works well. doesn't matter file you'll open can switch between them using tabs in rendered page.

scala sbt ivy

No comments:

Post a Comment