2015-03-18 9 views
11

Ho appena incontrato idea di utilizzare per la compilazione RAMdisk risultati 1Gradle - Sfruttate RAMdisk

Come utilizzare ramdisk con Gradle?

Immagino che valga la pena spostare le cartelle .gradle e build in RAMdisk.

+1

Avete notato qualche beneficio utilizzando RAMdisk con Gradle? –

+1

È molto più veloce. –

risposta

5

Solo per completezza, ecco come ho configurato Gradle (e quindi anche Android Studio) su Ubuntu 14.04 a costruire sempre di RAM su disco:

mio ~/.bashrc contiene questa riga alla fine:

. ~/bin/mkramdisk # Setup personal RAM disk on login. 

Il mio ~/bin/mkramdisk è elencato di seguito. Suppongo che tu possa omettere questo script e semplicemente usare per es. /dev/shm/${System.env.USER}/gradle-builds nel seguente passo, ma mi piace avere un disco RAM generale per altri scopi e ho anche usarlo come $TMP quindi ecco qui:

# Setup personal RAM disk. 

# This script should be sourced, hence the missing +x flag. 
# Source it from e.g. from ~/.bashrc or run it from crontab 
# at @reboot event (doesn't work with encrypted homedir btw.) 

export RAMDISK=$HOME/tmp/ramdisk 
if [ ! -d $RAMDISK ]; then 
     [ -d /dev/shm/$USER-ramdisk ] || install -vd /dev/shm/$USER-ramdisk -o $USER -m 700 
     [ -d ~/tmp ] || mkdir -v ~/tmp 
     [ -L ~/tmp/ramdisk ] || ln -vs /dev/shm/$USER-ramdisk ~/tmp/ramdisk 
fi 
export TMP=$RAMDISK 

NOTA per gli utenti Macintosh: Sembra che è possibile modificare mkramdisk a invece, contiene il comando this per farlo funzionare sul tuo sistema.

mio ~/.gradle/init.gradle è questo (togliere il debug println affermazioni come meglio credi):

println "Loaded personal ~/.gradle/init.gradle" 

gradle.projectsLoaded { 
    rootProject.allprojects { 
     buildDir = "${System.env.RAMDISK}/gradle-build/${rootProject.name}/${project.name}" 
     println "GOT RAMDISK? buildDir=$buildDir" 
    } 
}