We’re using a private maven repository for our core library. Basically, this is just an ssh folder on a web server that we can all push to, which has the maven directory structure. We push to it using ./gradlew uploadArchives
, along with the wagon-ssh
deployerJar.
The problem is that often, new users have the problem where the java virtual machine they are using doesn’t have an entry for our build server (builds.wheniwork.net) when they first attempt to run uploadArchives
. Thus, it hangs with the log output:
[INFO] Retrieving previous build number from remote
The authenticity of host 'builds.wheniwork.net' can't be established.
RSA key fingerprint is 78:7c:c3:34:a6:bf:fa:b1:52:cf:7b:da:22:96:84:e5.
Are you sure you want to continue connecting? (yes/no):
I am using the following configuration of uploadArchives in my gradle configuration:
uploadArchives {
repositories {
mavenDeployer {
pom.packaging = "aar"
pom.groupId = project.CORE_GROUP
pom.version = project.CORE_VERSION_NAME
}
}
}
gradle.taskGraph.beforeTask { Task aTask ->
if (aTask == uploadArchives) {
checkArtifactPublishProperties()
aTask.repositories.mavenDeployer.configuration = configurations.deployerJars
aTask.repositories.mavenDeployer.repository(url: "scp://" + project.publishArtifactHost + ":" + getArtifactTargetDirectory()) {
authentication(userName: project.publishArtifactUsername, privateKey: ext.publishArtifactKeyFile)
}
}
}
I’m not sure how to specify the StrictHostKeyChecking=no as a parameter to this method. My gut tells me that I have to add it to the configuration configurations.deployerJars, but I’m not sure how to do this.
Can someone point me to the documentation for this and perhaps provide a sample of how I might go about this?