Как исключить ресурс из файла войны в Grails 2.0? - PullRequest
3 голосов
/ 19 декабря 2011

У меня в приложении Grails 2 есть некоторые тестовые данные с некоторым специальным содержимым (изображения, видео и т. Д.), Которые не должны быть включены при создании войны.Во время разработки эти файлы хранятся в web-app/content/.Итак, вопрос в том, как я могу исключить их, когда создаю войну для производственной среды?

Во время поиска я наткнулся на это сообщение в блоге, охватывающее эту тему в более ранней версии Grails .К сожалению, это больше не работает, и комментарии мне тоже не помогли.

Это то, что я сейчас пробовал:

grails.war.resources = { stagingDir ->
    delete { fileset(dir: "${stagingDir}/content/", includes: '*') }
}

Может быть, я что-то упустил?Или есть даже лучший способ отделить тестовые данные от доставки приложения?

1 Ответ

7 голосов
/ 19 декабря 2011

Да, я явно что-то упустил.Или, чтобы быть более точным, иногда меньше информации, тем больше.После еще большего количества поиска в Google для ant delete fileset я увидел, что атрибут includes устарел.После этого все файлы в каталоге content были удалены.Даже структура каталогов все еще присутствует, и это именно то, что я хотел.

Итак, мое решение на данный момент:

grails.war.resources = { stagingDir ->
    delete { fileset dir: "${stagingDir}/content/" }
}

РЕДАКТИРОВАТЬ: Насколько я знаю, Grails использует муравей под капотомтак что стоит посмотреть на Ant Delete Task .Так что я думаю, что если вы хотите удалить также пустые подкаталоги, это будет (хотя не проверено):

delete(includeEmptyDirs: true) { fileset dir: "${stagingDir}/content/" }

или если вы хотите удалить саму папку content просто:

delete(dir: "${stagingDir}/content/")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...