24158


build.gradleファイルにて、  
dependenciesの項目で、+指定で読み込んだライブラリのバージョンを確認するにはどうすればいいでしょうか。


CC BY-SA 3.0
2016-04-19T06:09:05.137
24146
2016-04-19T13:57:48.597
427
question
android android-studio gradle
android studioで+指定で読み込んだライブラリのバージョンを確認するには


**`build.gradle`** :

[code]

    apply plugin: 'java'
    
    repositories {
      mavenCentral()
    }
    
    dependencies {
        compile group: 'commons-collections', name: 'commons-collections', version: '3.+'
        testCompile group: 'junit', name: 'junit', version: '4.+'
    }
    
    task printActualVersion() << {
      // test依存関係にも含まれるので不要
      // configurations.compile.getResolvedConfiguration().getResolvedArtifacts().each {
      //   println it.getName() + ": " + it.getModuleVersion().getId().getVersion()
      // }
      configurations.testCompile.getResolvedConfiguration().getResolvedArtifacts().each {
        println it.getName() + ": " + it.getModuleVersion().getId().getVersion()
      }
    }
    
[/code]

上のような`printActualVersion`タスクを自身のビルドスクリプトに追記すれば、`gradle
printActualVersion`(あるいは`gradlew printActualVersion`)コマンドの出力で確認できるかと思います。

出力例:

[code]

    $ gradle printActualVersion
    :printActualVersion
    commons-collections: 3.2.2
    junit: 4.12
    hamcrest-core: 1.3
    
    BUILD SUCCESSFUL
    
[/code]

参考: [java - In Gradle, how can I generate a POM file with dynamic dependencies
resolved to the actual version used? - Stack
Overflow](https://stackoverflow.com/questions/20959558/)


CC BY-SA 3.0
2016-04-19T09:53:18.317
24154
2016-04-19T09:53:18.317
2017-05-23T12:38:55.250
-1
2808
24146
answer


`gradle :app:dependencies`

のような感じで、対象プロジェクトの`dependencies`タスクを実行してあげると依存ライブラリのバージョンが表示されます。いろいろな種類の依存ツリーが表示されますが、`compile`や`testCompile`を見ればだいたい必要な情報はわかると思います。

例えば`testCompile`を見ると、以下のように `4.+`が`4.12`に展開されていることがわかると思います。

[code]

    testCompile - Classpath for compiling the test sources.
    \--- junit:junit:4.+ -> 4.12
         \--- org.hamcrest:hamcrest-core:1.3
    
[/code]

これをAndroid Studioから実行したい場合は、メニューの`View -> Tool Windows -> Gradle`から`Gradle
project`ビューを表示させ、そこに表示されているツリーから`:app`の`Tasks -> help -> dependencies`で実行できます。


CC BY-SA 3.0
2016-04-19T13:57:48.597
24158
2016-04-19T13:57:48.597
319
24146
answer