2015-06-08 2 views
0

Мне нужно скопировать файл из одного места в другое место с помощью градиента и остановить дальнейшую обработку, если файл не находится в пункте назначения. Но у меня нет точного имени файла. Я должен использовать формат файла для проверки как * .war или * .jar. Но утверждать, что не работает на path/*. War, но если я дам «путь/имя.war», тогда он работает. Любая идея, как сделать утверждение для «path/*. War»Gradle: проверка файла существует без имени файла

from fileTree("target"), { 
     include "*.war" 
     into '/usr/share/bin/web/' 
    } 
<code> 
assert file("/usr/share/bin/web/\*.war").exists(); --> not working 
assert file("/usr/share/bin/web/\name.war").exists(); --> working 
+0

В случае ошибки копирования ошибка градации должна быть ошибкой. Разве этого недостаточно? Кроме этого, ваш вопрос не очень ясен. '*' не _расширен или заменен в файле ("pattern"). – Jayan

+0

Я хочу, чтобы файл * .war, присутствующий в пункте назначения, в противном случае должен был выкинуть ошибку. Проблема несколько раз, у мишени нет файла * .war. – nathan1138

+0

Я попытался добавить это в зависимость, но по какой-то причине это не сработало. Поэтому я поставил это как чек. Я думаю, что это неправильный путь. – nathan1138

ответ

2

Это вы, что ищете?

File directory = new File("/usr/share/bin/web/"); 
boolean found = false; 
File[] files = directory.listFiles(); 
for (File file : files) { 
    if (file.isFile() && file.getName().endsWith(".war")) { 
     found = true; 
     break; 
    } 
} 
if (!found) { 
    // throw Exception 
} 
+1

Я добавил что-то вроде этого, FileTree tree = fileTree (dir: 'target', include: ['**/*. War', '**/*. Jar']) \t if (tree.isEmpty()) { \t \t throw new RuntimeException ("*. War/jar file отсутствует") \t} – nathan1138

Смежные вопросы