Gradle 中所有存储库的相同凭据

aar*_*xer 2 gradle build.gradle

请帮助我找到解决我的问题的最佳解决方案:

在专用 LAN 网络中,我有 Nexus 存储库,我需要使用一个用户来访问存储库。

最简单的解决方案是将用户和密码添加到gradle.properties文件中,并在每个build.gradle文件和每个存储库中写入相同的代码:

maven {
        credentials {
            username "$mavenUser"
            password "$mavenPassword"
        }
        url 'https://maven.yourcorp1.net/'
   }

maven {
        credentials {
            username "$mavenUser"
            password "$mavenPassword"
        }
        url 'https://maven.yourcorp2.net/'
   }
Run Code Online (Sandbox Code Playgroud)

其中gradle.properties所有存储库的 mavenUser 和 mavenPassword 都相同:

mavenUser=admin
mavenPassword=admin123
Run Code Online (Sandbox Code Playgroud)

一切都很好并且工作正常,但是有很多重复的代码。

也许您知道 - 如何在一个地方为所有 Maven 存储库设置相同的凭据?我不想为所有存储库复制相同的代码。

非常感谢你!

ToY*_*nos 5

您可以尝试找到所有存储库 URL 的公共部分并使用类似的内容:

['yourcorp1', 'yourcorp2'].each {
    maven {
         credentials {
             username "$mavenUser"
             password "$mavenPassword" 
        }
        url "https://maven.${it}.net/"
    } 
}
Run Code Online (Sandbox Code Playgroud)

如果有很多 Gradle 文件,请将其放在一个repositories.gradle文件中并使用include 指令