2013-06-27 7 views
7

Vorrei usare il plugin Arquillian qui per eseguire molo 8+:Modo corretto per installare/eseguire un plugin gradle da github (in particolare il plugin arquilian)?

https://github.com/aslakknutsen/arquillian-gradle-plugin

Se metto "si applicano plugin: 'Arquillian'" nel mio script Gradle, esso non lo trova.

Quindi devo installarlo in qualche modo. Cerco informazioni su questo, ma non ho trovato.

Avresti un puntatore su come farlo?

Sto usando gradle 1.6 su Windows.


Aggiornamento dopo la risposta da @raeffs: Ho aggiornato lo script Gradle con esso e la build è successo, ma non vedo la mia guerra è iniziata dopo un arquillianRunJetty (porta 8080 non è nemmeno in ascolto) .

Poi ho provato ad aggiungere a quanto indicato sulla pagina GitHub:

arquillian { 
    debug = true 
    deployable = file('my/path/arbitraryWebApp.war') 

    containers { 
     jetty { 
      version = '8' 
      type = 'embedded' 
      config = ['bindHttpPort': 8080, 'bindAddress': '127.0.0.1', 'jettyPlus': false] 

      dependencies { 
       adapter 'org.jboss.arquillian.container:arquillian-jetty-embedded-7:1.0.0.CR2' 
       container 'org.eclipse.jetty:jetty-webapp:8.1.11.v20130520' 
       container group: 'org.eclipse.jetty', name: 'jetty-plus', version: '8.1.11.v20130520' 
      } 
     } 

ho dovuto sostituire Arquillian-molo-embedded-7: 1.0.0.CR2 con CR1 in quanto non è nel centro di Maven .

Poi ho messo il sentiero per la mia guerra. Quando si ricomincia, c'è più chiacchiere ma ancora nessun ascolto sulla porta 8080.

Quindi mi manca ancora qualcosa.

Trovo anche scomodo dover fare riferimento a un percorso assoluto per la guerra che sto costruendo con lo script gradle. Penso che potrebbe esserci una sorta di riferimento personale.

Aggiornamento Ora funziona bene grazie a @raeffs. Non so davvero cosa c'era di sbagliato nel mio precedente passaggio.

Il percorso per l'app Web prende il nome, più la versione.

Grazie

risposta

12

Il creatore del plugin non ha pubblicato in un repository Maven, in modo da avere per costruire da soli.

Ottenere una copia locale del progetto del plugin e crearlo. Dovresti ottenere un 'arquillian-gradle-plugin-0.1.jar' come output.

Nello script di build del proprio progetto è necessario dichiarare una dipendenza a tale jar. Aggiungi il seguente al tuo script di costruzione:

buildscript { 
    dependencies { 
     classpath fileTree(dir: '/path/to/folder/that/contains/the/jar', 
      includes: ['arquillian-gradle-plugin-0.1.jar']) 
    } 
} 

Ora dovresti essere in grado di utilizzare il plug-in.

Aggiornamento

Se non si desidera fornire un percorso hardcoded al schierabili si può semplicemente passare una variabile.Per esempio, se si utilizza il plugin guerra:

arquillian { 
    deployable = war.archivePath 
} 

Ecco un esempio di utilizzo: https://gist.github.com/raeffs/5920562#file-build-gradle

Si parte il contenitore molo, dispiega la guerra e aspetta fino a quando si preme CTRL + C.

+0

Grazie, la build ha funzionato, ma la mia guerra non è ancora dispiegata - ho aggiornato la mia domanda se si desidera seguire. – unludo

+0

Ho provato quello che descrivi nel tuo aggiornamento e funziona. Pubblicherò il mio codice su GitHub domani. Forse questo ti aiuta. Ho anche aggiornato la mia risposta in modo da non dover utilizzare un percorso assoluto. – raeffs

+0

Grazie mille, sta funzionando bene. Immagino che Jetty sia installato dinamicamente, sai dov'è (sfortunatamente sono bloccato con Windows e ho capacità di ricerca limitate su quel sistema operativo) – unludo

Problemi correlati