Каков наилучший способ прочитать учетные данные репозитория gradle из файла свойств?

Мне непонятно, где происходит вход в репозиторий в цепочке выполнения/конфигурации 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

Иногда учетные данные работают, а иногда нет (я получаю ошибку авторизации 401 с сервера maven), что заставляет меня думать, что я неправильно упорядочиваю свои задачи.

Я думал, что код loadProperties происходит на этапе конфигурации (поскольку он не находится в doFirst, doLast или ‹‹ и, следовательно, не на этапе выполнения), но я не уверен, как убедиться, что это происходит до блока репозитория. пытается обеспечить авторизацию.

Одним из возможных обходных путей является использование файла gradle.properties и определение в нем myusername и mypassword, но вы хотите понять, как правильно использовать другие файлы свойств и не полагаться на gradle.properties.


person user2197116    schedule 01.12.2014    source источник


Ответы (1)


Загрузка файла свойств — это действие по настройке, и его следует выполнять вне какой-либо задачи.

person Peter Niederwieser    schedule 01.12.2014