Как вывести учетные данные Maven в Grails 2.4

Я пытаюсь перейти от использования Ivy к использованию преобразователя Aether в проекте Grails 2.4.

Проблема, с которой я сталкиваюсь, связана с передачей полномочий. Информацию, связанную с этим, можно найти в руководстве Grails здесь: http://grails.org/doc/latest/guide/conf.html

Кажется, не существует документированного способа извлечения учетных данных для использования Maven так, как вы могли бы с Ivy.

С Айви я мог бы поместить что-то подобное в мой .grails/settings.groovy файл:

grails.project.ivy.authentication = {
    credentials {
        realm = "My Repo"
        host = "repo.mycustomrepo.com"
        username = "user"
        password = "password"
    }
}

Чтобы использовать эфир, я вынужден поместить блок учетных данных прямо в мой BuildConfig.groovy вот так:

repositories {
    inherits true // Whether to inherit repository definitions from plugins

    grailsPlugins()
    grailsHome()
    mavenLocal()
    grailsCentral()
    mavenCentral()
    mavenRepo("http://repo.mycustomrepo.com") {
      //Add authentication details to repository connection
      auth([
        username: 'user',
        password: 'password'
      ])
    }
}

К сожалению, это действительно проблематично для меня, так как в моей организации мы используем Artifactory, которая настроена на использование наших учетных данных LDAP. Это проблема, потому что я не хочу вводить свои учетные данные в систему контроля версий.

Есть недокументированное решение для этого или Grails просто не поддерживает его?

1 ответ

Решение

Определите свой репо с id:

 mavenRepo(id:'myrepo', url:"http://localhost:8085/artifactory/libs-release-local/") 

Затем определите свои учетные данные в ~/.grails/settings.groovy используя ранее указанный id:

grails.project.dependency.authentication = {
  credentials {
    id = "myrepo"
    username = "foo"
    password = "bar"
  } 
}
Другие вопросы по тегам