2015-01-30 3 views
1

Я работаю с градиентом в среде Windows. Я хочу, чтобы мой сценарий градации создавал временный каталог, различные задачи для выполнения операций над ним в разных порядках, а затем удалять его по завершении (необязательно). Как создать этот временный каталог в сценарии градации?Создайте временный каталог для нескольких задач градации

Моя первоначальная мысль была Task.temporaryDir, однако этот каталог сохраняется только на время выполнения задачи.

Извинения, если это очевидно, я новичок в работе над Windows и только что поднял град вчера.

ответ

3

Если вам нужно создать временный каталог вне структуры проекта это может быть сделано с добавлением:

def tempDir = File.createTempDir() 
tempDir.deleteOnExit() // use with care, might be problematic with when daemon mode is used 

например где-то в начале скрипта.

Затем созданная папка может использоваться как выходной каталог в другом месте.

+1

Этот 'deleteOnExit()' был бы непредсказуемым: просто подумайте о режиме демона/не-демона. – Radim

+0

Несомненно, добавит это как редактирование. – Opal

+0

Спасибо, я все время забываю, что я могу использовать java. Режим Daemon не является проблемой, поскольку я знаю, когда мне нужно удалить каталог в коде, чтобы не полагаться на deleteOnExit() – Lobe

1

Если вам нужен какой-то вывод задачи, который позволяет выйти за рамки выполнения задачи, лучше всего создать подпапку в каталоге сборки проекта.

task myTask << { 
    file("${buildDir}/foo").mkdirs() 
}