2013-12-17 6 views
6

Ich habe Unternehmensumgebung mit allen http und https Anrufe sind hinter dem Proxy.Führen Sie Robolectric in IDEA hinter dem Proxy

Ich war in der Lage, einige Probleme mit Befehlszeilen-Downloads zu beheben, indem Sie http_proxy Umgebungsvariable in. Profile-Datei zu exportieren.

Aber mit Robolectric 2.2, die Androide Quellen oder Klassen vor dem ersten Lauf herunterladen, scheiterte ich. Ich habe noch kein CI-Setup, also versuche ich nur Tests von der Idee zu starten.

Weiß jemand, es zu reparieren?

Ich habe versucht, Proxy in IDEA-Einstellungen bereitzustellen, ich habe versucht, zusätzliche Umgebungsvariable in Run-Konfiguration bereitzustellen. Nichts hilft

UPD Wenn ich Proxy in Mac-Einstellungen angeben es produziert einen anderen Fehler: Unable Ressource finden 'org.sonatype.oss: oss-parent: pom: 7' in Repository Sonatype (https://oss.sonatype.org/content/groups/public/)

Es sieht aus wie ich bin wahrscheinlich falsch transitive Abhängigkeit für Robolectirc mit oder fehlt (ich benutze maven oder Efeu nicht, ich habe gerade heruntergeladen Gläser von maven zentral)

UPD2 Nein, es ist nur Timeout wieder: Fehler beim Übertragen Datei: Operation timed out

Antwort

6

Ich weiß, dass dies ein wenig alt Frage ist aber, wenn Sie Proxy verwenden möchten, sollten Sie die folgende Datei in Ihrem Haus/.m2 Verzeichnis setzen:

Einstellungen .xml

<settings> 
    <proxies> 
     <proxy> 
      <active>true</active> 
      <protocol>http</protocol> 
      <host>your_host_here</host> 
      <port>your_port_here</port> 
     </proxy> 
    </proxies> 
</settings> 

Für gradle Blick hier https://docs.gradle.org/current/userguide/build_environment.html

+0

Hey, danke für die Antwort. Ich werde testen und Sie wissen lassen –

+0

@EugenMartynov Hat dies für Sie funktioniert? –

+0

War nicht in der Lage seit Job geändert :) –

0

Falls dies hilft jemand. Den Proxy in settings.xml zu setzen (ich habe beide möglichen Pfade für diese Datei ausprobiert) funktionierte nicht für mich. Ich landete vorbei, der als gradle Argumente: gradle cleanTest test -Dhttps.proxyHost=<proxy-host> -Dhttps.proxyPort=<proxy-port>

+0

Dies hat nicht funktioniert, weil meine Antwort über robolectric mit rohen Glas oder Maven war. Ich habe meine Antwort aktualisiert – Gaskoin

1

Um eine weitere späte Antwort auf eine alte Frage hinzufügen :) Da Robolectric 2.4 zwei Eigenschaften eingeführt wurden, in dem Szenario zu helfen, wenn Sie Ihre Robolectric Tests in CI läuft hinter einem Proxy-Server :

Sie müssen in Ihrer build.gradle-Datei robolectric.offline und robolectric.dependency.dir angeben. Etwas wie folgt aus:

afterEvaluate { 
    project.tasks.withType(Test) { 
     systemProperties.put('robolectric.offline', 'true') 
     systemProperties.put('robolectric.dependency.dir', "${project.rootDir}/.robolectric/") 
    } 
} 

Dann müssen Sie die notwendigen Gläser von Maven oder Sonatype zum Herunterladen und legen Sie sie in dem von Ihnen angegebenen Verzeichnis ...

ich blog post mit mehr Details geschrieben.

+1

Cool! Danke für das Teilen. Es ist eine interessante Lösung, aber ich würde lieber settings.xml –

Verwandte Themen