В настоящее время у меня возникла проблема при публикации сборки Gradle в репозиторий моментальных снимков Artifactory, где «SNAPSHOT» не преобразуется в отметку времени. Банки можно найти в репозитории, но они имеют формат «1.0.1-SNAPSHOT.jar», а не, например. «1.0.1-20180420.112216-1.jar». Это вызывает проблемы, когда другие сборки зависят от рассматриваемого проекта. В настоящее время у нас есть сборки Maven, которые без проблем помещаются в одно и то же репо.
Я использую плагины maven-publish и com.jfrog.artifactory. Стоит отметить, что у меня нет большого опыта работы с Gradle.
Соответствующие фрагменты из build.gradle:
apply plugin: 'java'
apply plugin: 'maven-publish'
apply plugin: 'com.jfrog.artifactory'
artifactory {
contextUrl = ${rep.url}
publish {
ext.systemProperties = System.getenv()
println "Publishing using this user: ${systemProperties.artifactory_user}"
println "Publishing to this repo: ${systemProperties.artifactory_repo}"
repository {
repoKey = "${systemProperties.artifactory_repo}"
username = "${systemProperties.artifactory_user}"
password = "${systemProperties.artifactory_password}"
maven = true
}
defaults {
publications('mavenJava')
}
}
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
}
}
}
актуально из gradle-wrapper.properties:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.0.2-bin.zip
Переменные среды взяты из Jenkins и используются в наших сборках maven.