Запустите Robolectric в IDEA за прокси
У меня есть корпоративная среда со всеми вызовами http и https за прокси.
Мне удалось исправить некоторые проблемы с загрузкой из командной строки, поместив экспортную переменную среды http_proxy в файл.profile.
Но с Robolectric 2.2, который загружает исходники или классы Android перед первым запуском, я потерпел неудачу. У меня пока нет настроек CI, поэтому я просто пытаюсь запустить тесты из идеи.
Кто-нибудь знает, как это исправить?
Я попытался предоставить прокси в настройках IDEA, я попытался предоставить дополнительную переменную среды в конфигурации запуска. Ничего не помогает
UPD Когда я указываю прокси в настройках Mac, он выдает другую ошибку: Невозможно найти ресурс 'org.sonatype.oss:oss-parent:pom:7' в сонате репозитория ( https://oss.sonatype.org/content/groups/public/)
Похоже, что я, вероятно, использую или пропускаю неверную транзитивную зависимость для Robolectirc (я не использую maven или ivy, я только что скачал jars из maven central)
UPD2 Нет, это просто тайм-аут снова: Ошибка передачи файла: Тайм- аут операции
3 ответа
Я знаю, что это немного старый вопрос, но если вы хотите использовать прокси, вы должны поместить следующий файл в вашу домашнюю директорию /.m2:
settings.xml
<settings>
<proxies>
<proxy>
<active>true</active>
<protocol>http</protocol>
<host>your_host_here</host>
<port>your_port_here</port>
</proxy>
</proxies>
</settings>
Для получения более подробной информации смотрите здесь https://docs.gradle.org/current/userguide/build_environment.html
Чтобы добавить еще один поздний ответ на старый вопрос:) Начиная с Robolectric 2.4 были введены два свойства, чтобы помочь в сценарии, когда ваши тесты Robolectric в CI выполняются за прокси-сервером:
Вы должны указать robolectric.offline
а также robolectric.dependency.dir
в вашем файле build.gradle. Что-то вроде этого:
afterEvaluate {
project.tasks.withType(Test) {
systemProperties.put('robolectric.offline', 'true')
systemProperties.put('robolectric.dependency.dir', "${project.rootDir}/.robolectric/")
}
}
Затем вам нужно скачать необходимые файлы из maven или sonatype и поместить их в каталог, который вы указали...
На случай, если это кому-то поможет. Настройка прокси в файле settings.xml (я пробовал оба возможных пути для этого файла) не работает для меня. Я закончил тем, что передал это в качестве аргумента:gradle cleanTest test -Dhttps.proxyHost=<proxy-host> -Dhttps.proxyPort=<proxy-port>