2014-05-07 20 views
5

Ho bisogno di creare un file nel mio progetto java vicino a buiid.gradle-file. Devo creare task (operazione Groovy) in build.gradle-file, il mio compito deve creare il file vicino a buiid.gradle nel mio progetto, ma non so - come ottenere il percorso di buiid.gradle-file, che sta mettendo nel mio progetto.Come ottenere il percorso completo del file build.gradle di Groovy?

Come ottenere il percorso completo per archiviare buiid.gradle di Groovy? Aiutami per favore.

risposta

17

Ci sono diversi modi per farlo.

  1. Se si guarda alla pagina di Working With Files, si può semplicemente utilizzare il metodo file() che è una parte dell'oggetto Project.
  2. Se si guarda il Project DSL Docs, si dovrebbe vedere la proprietà projectDir. Queste proprietà sono disponibili in tutto lo script build.gradle.

Possono essere utilizzati, rispettivamente, in questo modo:

task myTask << { 
    println file('.') 
    println projectDir 
} 

Sarebbe uscita

 
/full/path/to/your/project/ 
/full/path/to/your/project/ 

Dove quella directory contenente il file build.gradle in cui si trova l'attività.

+1

Puoi anche iniziare con la sezione correlata in userguide - http://www.gradle.org/docs/current/userguide/working_with_files.html – Radim

+0

@Radim Sì, probabilmente è un modo migliore se stai per creare File. Aggiornato la mia risposta. – kuporific

2

per ottenere un handle al java.io.File che rappresenta il file .gradle attualmente in esecuzione:

def file = buildscript.sourceFile 

Nel mio caso, mi serviva la directory di questo script in modo da poter applicare altra configurazione da nella stessa directory:

def buildCommonDir = buildscript.sourceFile.getParent() 
apply from: "$buildCommonDir/common.gradle" 

Questo approccio funziona con qualsiasi file di .gradle, non solo build.gradle.

Problemi correlati