Gradle - использовать RAMdisk

Я просто наткнулся на идею использования RAMdisk для результатов компиляции 1

Как использовать RAMdisk с Gradle?

Я думаю, стоит переехать .gradle а также build папки в RAMdisk.

2 ответа

Решение

Для полноты картины вот как я сконфигурировал Gradle (и, соответственно, Android Studio) в Ubuntu 14.04 для постоянной сборки на RAM-диск:

мой ~/.bashrc содержит эту строку в конце:

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

мой ~/bin/mkramdisk указан ниже. Я полагаю, вы могли бы опустить этот скрипт и просто использовать, например, /dev/shm/${System.env.USER}/gradle-builds на следующем шаге, но мне нравится иметь общий RAM-диск для других целей, и я даже использую его как $TMP так что здесь идет:

# 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

ПРИМЕЧАНИЕ для пользователей Macintosh: кажется, вы можете изменить mkramdisk вместо этого содержать эту команду, чтобы она работала в вашей системе.

мой ~/.gradle/init.gradle это (удалить отладку println высказывания как считаете нужным)

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"
    }
}
Другие вопросы по тегам