2017-11-06 12 views
0

依存バージョンの競合がある場合にリリースビルドを失敗させるアンドロイドアプリケーションを開発しています。私はデバッグビルドのためにそれを有効にしたくないしかしリリースビルドのみでgradle resolutionStrategyを設定するにはどうすればよいですか?

configurations.all { 
    resolutionStrategy { 
     failOnVersionConflict() 
    } 
} 

:私はすべてのビルドのためにそれを有効にしたい場合は、私がこれを行うことができます。私はどのようにそれを行うためのドキュメントを見つけることができません。私は試しました:

configurations.each { 
    if (it.name.startsWith("release")) { 
     it.resolutionStrategy { 
      failOnVersionConflict() 
     } 
    } 
} 

しかし、これは適用されません。私は単にここ.eachため.allを切り替えるんだけど、でもコードかかわらfailOnVersionConflictは適用されません

configurations.each { 
    it.resolutionStrategy { 
     failOnVersionConflict() 
    } 
} 

:これは効果がありません - 私も、私は最初の例と同等のだろうと思ったものを試してみました実行される。

私は間違っていますか?

答えて

0

それは次のように動作するはずです:あなたはgradle depsを実行すると、それがバージョンの競合で失敗しなければならない

apply plugin: 'java' 

configurations.compile.resolutionStrategy { 
    failOnVersionConflict() 
} 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile 'com.google.guava:guava:23.0' 
    compile 'com.google.guava:guava:22.0' 
} 

task deps(type: Copy) { 
    from configurations.compile 
    into('deps') 
} 

。設定ブロックをコメントアウトすると、バージョン23.0のguavaがコピーされます。

関連する問題