Я пытаюсь настроить процесс сборки артефактов (APK/aar files) с помощью gradle, аналогично тому, как я привык с maven.
mvn release:prepare (Adjusts version, checks into SVN, creates the tag)
mvn release:perform -Dgoals=deploy (Pushes the artifact to http://artifactory.XXX.local/artifactory/libs-releases-local/)
Я хочу иметь возможность запускать команды gradle и добиваться аналогичных результатов. Я использую https://github.com/researchgate/gradle-release плагин для управления выпуском (который отлично работает, поэтому я хорош с выпуском). Но когда я запускаю команду gradlew artifactoryPublish
, артефакт развертывается в другом месте (как если бы он не соблюдал repoKey в файле gradle)
D:\my-lib-android-0.0.2 > gradlew artifactoryPublish...... [buildinfo] Не использовать файл свойств buildInfo для этой сборки.: artifactoryPublish Развертывание дескриптора сборки для: http://artifactory.XXX.local/artifactory/api/build Сборка успешно развертывается. Просмотрите его в Artifactory под http://artifactory.XXX.local/artifactory/webapp/builds/my-lib-android-0.0.2/1449880830949 >
СОЗДАТЬ УСПЕШНО
Общее время: 9.692 сек.
Итак, мой вопрос в том, как я могу исправить свою настройку, чтобы артефакт был перенесен на URL-адрес, подобный этому:
http://artifactory.XXX.local/artifactory/libs-releases-local/com/example/my-lib-android/0.0.2/my-lib-android-0.0.2.aar
build.gradle Файл:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '3.1.2')
classpath 'net.researchgate:gradle-release:2.3.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
plugins {
id 'net.researchgate.release' version '2.3.4'
}
apply plugin: "com.jfrog.artifactory"
apply plugin: 'maven-publish'
apply plugin: 'net.researchgate.release'
allprojects {
repositories {
jcenter()
maven {
url 'http://artifactory.XXX.local/artifactory/libs-releases-local'
}
}
}
artifactory {
contextUrl = "${artifactory_contextUrl}"
//The base Artifactory URL if not overridden by the publisher/resolver
publish {
repository {
repoKey = "libs-releases-local"
username = "${artifactory_user}"
password = "${artifactory_password}"
maven = true
}
}
}
release {
revertOnFail = false
}
task build{
}
gradle.properties Файл:
version=my-lib-android-0.0.3-SNAPSHOT
artifactory_user=myUserName
artifactory_password=myPasssword
artifactory_contextUrl=http://artifactory.XXX.local/artifactory