簡體   English   中英

Gradle插件管理

[英]Gradle plugin management

我正在嘗試為 Gradle 項目配置插件管理,以從 Nexus 檢索插件依賴項。

我將以下行作為 settings.gradle 文件中的第一個塊

pluginManagement {
    repositories {
        if (project.hasProperty('kkvmvn')) {
            maven {
              url "${kkvmvn}"
            }
        } else {
            mavenLocal()
            mavenCentral()
            gradlePluginPortal()
        }
    }
}

但是,我收到以下錯誤

Caused by: groovy.lang.MissingPropertyException: Could not get unknown property 'project' for repository container of type org.gradle.api.internal.artifacts.dsl.DefaultRepositoryHandler.

基本上我需要訪問命令行參數來設置 Nexus URL。 如何在 settings.gradle 文件中執行此操作? AFAIK 無法在 build.gradle 文件中聲明插件存儲庫。 這是我如何在 build.gradle 中檢索其他庫依賴項的示例

subprojects {
    // Java Version JDK 8
    sourceCompatibility = 1.8
    targetCompatibility = 1.8

    tasks.withType(JavaCompile) {
        options.encoding = 'UTF-8'
    }

    repositories {
        if (project.hasProperty('kkvmvn')) {
            maven {
              url "${kkvmvn}"
            }
        } else {
            mavenLocal()
            mavenCentral()
        }
    }
}

如果這對其他人有幫助,可以使用設置object 在settings.gradle中訪問 gradle 屬性。gradle。 因此,設置插件存儲庫的條件方法如下所示:

pluginManagement {
    repositories {
        if (settings.hasProperty('kkvmvn')) {
            maven {
              url settings.kkvmvn
            }
        } else {
            mavenLocal()
            mavenCentral()
            gradlePluginPortal()
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM