2014-12-22 3 views
0

Я разрабатываю maven plagin, который обфускает файлы js. Он выполняет следующие функции -:Maven-war-plugin - удалить файлы

  1. принимает * .js файлы из мишени,

  2. запутывает их с помощью Google закрытия,

  3. создает * .min.js файлы в цель,

  4. Если необходимо, удалите источники (незабитые файлы) из цели.

Для того, чтобы получить точку между фазой упаковки и подготовки-пакета фазы я использую следующее решение: https://stackoverflow.com/a/27566620/2022068

Все в порядке. Плагин готов. Однако у меня есть следующая проблема: если я удаляю исходный файл, maven-war-plugin копирует его снова. Возможно, у него есть механизм проверки - я не знаю. Единственное, что я могу сделать сейчас, это удалить и создать пустой файл. Чем исходный файл существует, но он пуст.

My qeustion - могу ли я как-то удалить файлы из цели, наконец, навсегда ...?

+0

Почему бы не сделать это, прежде чем файлы будут скопированы в целевую папку? И почему бы не использовать существующие плагины, такие как https://github.com/samaxes/minify-maven-plugin? – khmarbaise

+0

@khmarbaise Это второй раз, когда вы задаете мне те же вопросы. Мне нужна эта функциональность для того, что я хочу делать. Мне нужен мой плагин, потому что он должен делать то, что я хочу делать. Это все. –

ответ

0

Вам, вероятно, нужно учить это плану maven-war. У меня нет примера, который делает то же самое, но есть packageExcludes (см: http://maven.apache.org/plugins/maven-war-plugin/examples/including-excluding-files-from-war.html), который не кажется, что именно вам нужно, но и warSourceExcludes: http://maven.apache.org/plugins/maven-war-plugin/war-mojo.html#warSourceExcludes

Война плагина имеет свой собственный механизм копирование файлов (кроме плагина ресурсов). Это может быть проблемой здесь. Также есть некоторые примеры фильтрации: http://maven.apache.org/plugins/maven-war-plugin/examples/adding-filtering-webresources.html

Возможно, обработка файлов, которые вы не хотите видеть, поскольку исключения будут работать (если warSourceExcludes отличается от того, что вы планируете делать).

+0

Благодарим за помощь. Проблема в том, что я добавляю/удаляю файлы динамически (из моего плагина maven), но не из конфигурации pom. –

+0

Вы не можете добавлять/удалять файлы в соответствии с определенным шаблоном? например, использовать имена папок/значения по умолчанию для исходных файлов и обфускации? Фильтры поддерживают некоторые из выражений ANT, не зная или не способных полагаться на соглашение, которое вы обречены на распаковку войны, и удалить файлы, которые, как вы знаете, не должны быть там. Это кажется не лучшим решением:/ – wemu

+0

Да, я также думаю об этом решении: шаблоны + include/exclude. Однако они создают дополнительные проблемы, когда мой плагин очень мощный и простой в использовании. Однако, если я смогу решить эту проблему, я буду использовать шаблоны. (Распаковка полностью плохая :)) –

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