2016-05-13 7 views
1

Tl; др:настроить прокси-сервер для Gradle-VFS плагин

Как настроить HTTPS-прокси, который будет использоваться в Gradle-VFS плагин? Кажется, что он игнорирует обычную конфигурацию прокси-сервера java/gradle.

Полная информация

Основываясь на этом gradle file я пытаюсь использовать Gradle создать reveal.js слайды из asciidocs.

Я настроил параметры прокси-сервера, используя gradle.properties файл с содержимым, похожее на это:

systemProp.http.proxyHost=myproxy 
systemProp.http.proxyPort=8080 
systemProp.http.nonProxyHosts=localhost 
systemProp.https.proxyHost=myproxy 
systemProp.https.proxyPort=8080 
systemProp.https.nonProxyHosts=localhost 

Хотя эта конфигурация работает Gradle, при выполнении Java сборки (он загружает плагин и зависимостей), VFS которые используется в файле сборки ссылки не удается:

:download FAILED 

FAILURE: Build failed with an exception. 

* Where: 
Build file 'D:\workspaces\myproject\build.gradle' line: 47 

* What went wrong: 
Execution failed for task ':download'. 
> Could not connect to HTTP server on "github.com". 

линия 47 является первым началом с cp в этом блоке:

task download << { 
    mkdir downloadDir 
    vfs { 
     cp "zip:https://github.com/asciidoctor/asciidoctor-reveal.js/archive/${asciidoctorBackendVersion}.zip!asciidoctor-reveal.js-${asciidoctorBackendVersion}", 
      templateDir, recursive:true, overwrite:true 
     cp "zip:https://github.com/hakimel/reveal.js/archive/${revealjsVersion}.zip!reveal.js-${revealjsVersion}", 
      revealjsDir, recursive:true, overwrite:true 
    } 
} 

ответ

1

Одним из моих (моих) решений является добавление опций vfs, определяющих параметры прокси. Это может быть более изощренным, например. путем создания задачи для получения параметров из системного окружения, но это работает:

task download << { mkdir downloadDir vfs { options 'vfs.http.proxyHost' : 'mylocalsquid.lokal' options 'vfs.http.proxyPort' : '3128' options 'vfs.https.proxyHost' : 'mylocalsquid.lokal' options 'vfs.https.proxyPort' : '3128' cp "zip:https://github.com/asciidoctor/asciidoctor-reveal.js/archive/${asciidoctorBackendVersion}.zip!asciidoctor-reveal.js-${asciidoctorBackendVersion}", templateDir, recursive:true, overwrite:true cp "zip:https://github.com/hakimel/reveal.js/archive/${revealjsVersion}.zip!reveal.js-${revealjsVersion}", revealjsDir, recursive:true, overwrite:true } }

Это была получена из документации на http://ysb33r.github.io/groovy-vfs/1.0/docs/product-documentation.html

+1

использовать свойства, определенные в gradle.properties можно заменить на строковые литералы с project.property ("systemProp.http.proxyPort"), где строка - это имя свойства. –