2013-12-17 19 views
6

Ho un ambiente aziendale con tutte le chiamate http e https dietro al proxy.Esegui Robolectric in IDEA dietro il proxy

Sono stato in grado di risolvere alcuni problemi con i download da riga di comando inserendo la variabile di ambiente http_proxy nel file .profile.

Ma con Robolectric 2.2 che sta scaricando sorgenti o classi Android prima della prima esecuzione, non sono riuscito. Non ho ancora configurato CI, quindi sto solo cercando di eseguire test dall'idea.

Qualcuno sa caldo per risolvere il problema?

Ho provato a fornire il proxy nelle impostazioni IDEA, ho provato a fornire una variabile d'ambiente aggiuntiva nella configurazione di esecuzione. Nulla aiuta

UPD Quando ho specificato nelle impostazioni del proxy Mac si sta producendo un altro errore: Impossibile trovare risorse 'org.sonatype.oss: oss-parent: pom: 7' in repository Sonatype (https://oss.sonatype.org/content/groups/public/)

(vasetti non faccio uso di Maven o di edera, ho appena scaricato dal centro di Maven)

sembra sono probabilmente utilizzando o mancante di dipendenza sbagliato transitiva per Robolectirc

UPD2 no, si tratta di solo timeout di nuovo: Errore trasferimento di file: Operation timed out

risposta

6

So che questo è un po 'vecchia questione, ma se si desidera utilizzare proxy che si desidera inserire il seguente file nella vostra casa/directory .m2:

impostazioni .xml

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

Per guardare Gradle qui https://docs.gradle.org/current/userguide/build_environment.html

+0

Ehi, grazie per la risposta. Verificherò e ti farò sapere –

+0

@EugenMartynov Questo lavoro ha funzionato? –

+0

Impossibile dal lavoro modificato :) –

0

In caso che questo aiuta qualcuno. L'impostazione del proxy in settings.xml (ho provato entrambi i percorsi possibili per questo file) non ha funzionato per me. Ho finito di passaggio che, come un Gradle argomenti: gradle cleanTest test -Dhttps.proxyHost=<proxy-host> -Dhttps.proxyPort=<proxy-port>

+0

Questo non ha funzionato perché la mia risposta riguardava robolectric usando jar o maven crudi. Ho aggiornato la mia risposta – Gaskoin

1

Per aggiungere un'altra risposta in ritardo ad una vecchia questione :) Dal Robolectric 2.4 sono stati introdotti due proprietà per aiutare nello scenario in cui i test Robolectric in prova di CI dietro un server proxy :

È necessario specificare robolectric.offline e robolectric.dependency.dir nel file build.gradle. Qualcosa di simile a questo:

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

allora avete bisogno di scaricare i vasi necessari da Maven o Sonatype e posizionarlo nella directory specificata ...

ho scritto un blog post con maggiori dettagli.

+1

Cool! Grazie per la condivisione. È una soluzione interessante ma preferire settings.xml –

Problemi correlati