我不清楚在gradle执行/配置链中登录存储库的位置
我有一项任务
loadMyProperties {
Properties props = new Properties()
props.load(new FileInputStream(MyPropertiesFilename))
myusername = props.getProperty('user')
mypassword = props.getProperty('password')
}
我让编译依赖它
compileJava.dependsOn loadProperties
但是,我不确定存储库何时阻止
repositories {
maven {
credentials {
username myusername
password mypassword
}
url myurl
}
}
与其他任务相比“执行”,也不会尝试使用提供的凭据获取指定存储库的授权。我跑的时候
gradle build
有时凭据有效,有时他们没有(我从maven服务器收到401授权错误),这让我觉得我没有正确地订购我的任务。
我的想法是loadProperties代码在配置阶段发生(因为它不在doFirst,doLast或<<中,因此不在执行阶段),但我不确定如何确保它在存储库块尝试保护授权之前发生。
一种可能的解决方法是使用gradle.properties文件并在其中定义myusername和mypassword,但希望了解如何正确使用其他属性文件,而不必依赖gradle.properties。
答案 0 :(得分:1)
加载属性文件是一种配置行为,应该在任何任务之外完成。