With the switch from ivy to aether providing credentials to Basic-Auth
protected internal maven repos according to documentation needs the
credentials in the BuildConfig.groovy
. Not much saver, but at least not
in the repo you can use the content of your .netrc
quite easy with a small
helper. Add this script in your BuildConfig.groovy
:
// parse a valid .netrc and provide the content as netrc.<machine>.key = value
def netrc = [:]
def netrcFile = new File("${System.getProperty('user.home')}/.netrc")
if (netrcFile.exists()) {
lastMachine = null
netrcFile.eachLine{
it.split().collect{ it.trim() }.with{
if (it.size()>1) {
switch (it[0]) {
case 'machine': lastMachine = it[1]; netrc.put(lastMachine, [:]); break
default: netrc."$lastMachine".put(it[0],it[1])
}
}
}
}
}
And then you can use it along with the mavenRepo
:
def inhouseHost = 'inhouse.com'
mavenRepo("https://${inhouseHost}/mvn/"){
auth([
username: netrc."${inhouseHost}".login,
password: netrc."${inhouseHost}".password,
])
}