2014-10-28 75 views

回答

0

通常,最佳實踐是始終針對確切版本進行構建,以避免出現不可預測的情況。

但是,如果你真的想建立針對最新的版本中,你可以做這樣的:

dependencies { 
    myConfiguration 'group:module:latest.release' 
} 

唯一的(正確)的方式來執行latest.release所有文物是寫的決議戰略。 看看:ResolutionStrategy

+0

非常感謝執行這個。最後,我想補充的所有{ resolutionStrategy { eachDependency {d - > 如果 d.useVersion 'latest.release' }} (d.target.version!)}來配置 – nxx 2014-10-29 03:47:47

+0

歡迎您很高興我能幫助! 。 – Sean 2014-10-29 23:39:54

0

我通常不會使用絕對最新版本,但您可以簡單地在gradle中使用它。

語法使用「+」來匹配任何版本,例如, 「4. +」將檢查最新的4.anything版本。如果你只是自己使用「+」,它會發現最新的發行版本,但是如果你依賴這個版本,你可能會遇到麻煩,因爲通常會對主要版本進行重大更改,並且你的版本會直接下載它們而不用擔心。

不管怎樣,小測試:

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath "junit:junit:+" 
    } 
} 

import org.junit.Assert 
task someTask << { 
    Assert.assertEquals(true, !false) 
} 

gradle someTask 
+0

+會嘗試獲得最新(最高)的可用版本,但這並不一定意味着它是一個發佈。 – Sean 2014-10-29 23:43:05

+0

完全同意。當然這也取決於你對'釋放'的定義,例如「最新的beta版本」。然而我同意,如果OP是在產品發佈之後而不是alpha或beta,那麼就像你所建議的那樣,使用特定版本(這也是我在內部堅持的 - 不想因爲外部變化而造成失敗) – 2014-10-30 08:48:10

相關問題