2014-10-22 2 views
0

Я пытаюсь получить Gradle Artifactory Plugin для разрешения артефактов.Gradle Artifactory плагин разрешение артефакта не работает

Мой файл build.gradle ниже с заменяется правильным именем хоста

buildscript { 
    repositories { 
     maven { url 'http://jcenter.bintray.com' } 
    } 
    dependencies { 
     classpath(group: 'org.jfrog.buildinfo', name: 'build-info-extractor-gradle', version: '3.0.1') 
    } 
} 

apply plugin: 'com.jfrog.artifactory' 

artifactory { 
    contextUrl = 'http://<URL>:8081/artifactory' //The base Artifactory URL if not overridden by the publisher/resolver 

    resolve { 
     repository { 
     repoKey = 'training' 
     maven = true 
     } 
    } 
} 

configurations { 
    deploy 
} 

dependencies { 
    deploy group: 'test', name: 'PolicyAdmin', version: '1.0', ext: 'ear' 
} 

task downloadFile { 
    def fileExec = configurations.deploy.getSingleFile() 
} 

Однако при этом запускается он не решает артефакт. Линия зависимостей была создана в Artifactory.

Я намерен использовать механизм «старого» опубликования. Моя версия Gradle 2.0.

Я попытался создать артефактурный репозиторий с maven2-умолчанию и градиентом.

Трассировка стека можно найти на http://textuploader.com/oljd

трассировка можно найти на http://filebin.ca/1ecmeQ7zYEIU/debug.txt

Если я вместо этого использовать репозиторий Maven т.е.

repositories { 
    maven { 
     url 'http://<URL>:8081/artifactory/repo' 
    } 
} 

Затем артефакт рассосется я m, что либо делает что-то неправильно с искусственным DSL-кодом, либо появляется ошибка в плагине

Я тоже теперь пробовал Gradle 1.12 и Gradle 2.1 тоже с тем же результатом.

ответ

1

Я думаю, что я нашел причину проблемы, которую вы описываете. Плагин Gradle Artifactory, похоже, функционирует должным образом. Выполняя задачу «artifactoryPublish», разрешение выполняется из Artifactory, как и ожидалось. Я также попытался добавить к моему build.gradle задачу (DownloadFile), конфигурации зависимостей (развертывание) и зависимости (как в сценарии):

configurations { 
    deploy 
} 

dependencies { 
    deploy group: 'test', name: 'PolicyAdmin', version: '1.0', ext: 'ear' 
} 

task downloadFile { 
    def fileExec = configurations.deploy.getSingleFile() 
} 

При вызове задачи DownloadFile непосредственно, как это определено выше, артефакт действительно не будет разрешен из Artifactory (если, конечно, вы не добавите Artifactory в качестве репозитория). Если же вы добавляете < < к объявлению задачи:

task downloadFile << { 
    def fileExec = configurations.deploy.getSingleFile() 
} 

Gradle попытается разрешить артефакт из Artifactory. Добавление «< <» к задаче эквивалентна Task.doLast(), как описано в документации Gradle по: http://www.gradle.org/docs/current/dsl/org.gradle.api.Task.html

Все вышеперечисленное, кажется, согласуется с Gradle 2.x (с версии 3.0.1 плагина), а также Gradle 1.x (со всеми версиями плагина).

Смежные вопросы