fileCopyOperation в плагине fileOperations выдает ошибку - File Copy Operation: FATAL: ожидание шаблона Ant GLOB, но увидел «D: /Test/ABC.pdf» - PullRequest
0 голосов
/ 19 декабря 2018

Код:

fileOperations([fileCopyOperation(excludes: '', flattenFiles: true, 
includes: fullSrcFilePath, targetLocation: destFolderPath)])

Журнал:

Error:
File Copy Operation:
FATAL: Expecting Ant GLOB pattern, but saw 'D:/Test/ABC.pdf'

Разрешены ли абсолютные пути в операции копирования файлов?

Я прочитал ссылку, где говорится, что япоставь реж чуть выше звонка, все работает.Но это не идеально для моего требования.Я пытаюсь выполнить операции с файлами / папками в цикле, читая файл конфигурации.

Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 20 декабря 2018

Вы можете написать пути Windows с обратными слешами, но вы должны избегать их.

Редактировать: На самом деле вы не можете указать абсолютный путь в аргументе includes.

def srcFileName = new File(fullSrcFilePath).name
def escapedSrcFolder = new File(fullSrcFilePath).getParent().replace('/', '\\\\')
def escapedDestFolderPath = destFolderPath.replace('/', '\\\\')
dir(escapedSrcFolder) {
    fileOperations([
        fileCopyOperation(
            flattenFiles: true,
            includes: srcFileName,
            targetLocation: escapedDestFolderPath
        )
    ])
}

Edit # 2: Если вы получаете свой конвейер из SCM, вы не можете использовать методы File, поэтому для этих случаев вы можете использовать следующие регулярные выражения:

def String getParent(String path) {
    path.replace('/', '\\') - ~/\\[^\\]+$/
}

def String getFileName(String path) {
    (path.replace('/', '\\') =~ /[^\\]+$/)[0]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...