[英]Set gradle.ext in settings.gradle.kts with Gradle Kotlin DSL
這是google / exoplayer的代碼段-用Groovy buildscript編寫。
// settings.gradle
gradle.ext.exoplayerRoot = 'path/to/exoplayer'
gradle.ext.exoplayerModulePrefix = 'exoplayer-'
apply from: new File(gradle.ext.exoplayerRoot, 'core_settings.gradle')
如何使用Kotlin DSL做到這一點?
我找不到任何有用的資源或文檔。 任何幫助,將不勝感激。
挖掘了一段時間后找到了解決方案。
在Groovy中,動態地實現了特征-因此,即使類A在類定義中未實現接口B,它也可能在以后的版本中實現。
我沒有看到Gradle內部結構,因此無法正確解釋,但似乎可以正常工作。 希望這可以幫助。
if (gradle is ExtensionAware) {
val extension = gradle as ExtensionAware
extension.extra["exoplayerRoot"] = "path/to/exoplayer"
extension.extra["exoplayerModulePrefix"] = "exoplayer-"
apply(from = File(extension.extra["exoplayerRoot"].toString(), "core_settings.gradle"))
}
對於使用ExoPlayer的用戶,我創建了一個問題 ,要求向Kotlin DSL用戶請求一些文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.