У меня есть веб-проект Java, который использует стандартный каталог Maven: файлы java попадают в java
(на самом деле: /src/main/java
), ресурсы в resources
, веб-контент в webapp
.
Затем мы хотели улучшить наш веб-слой, добавив bower, sass, gulp и т.д. Наша сборка gulp компилирует scss, сводит к минимуму javascripts, оптимизирует изображения и т.д., все, что вы ожидаете. Но это ввело 1) другой инструмент сборки, gulp и 2) сгенерированные файлы gulp.
Вопрос в том, как организовать такой проект? Один из способов:
(A) gulp встроен в папку webapp
В этом решении все файлы javascript, images, scss хранятся в /src/main/assets
и встраиваются в /src/main/webapp
. Оба источника и gulp -генерированные файлы привязаны к git. Конструкция gradle не зависит от gulp, и это нормально для пользователей, у которых не установлено gulp - как те, кому нужно работать только на бэкэнд. Кроме того, серверы CI не зависят от материала gulp.
(B) используйте gulp из gradle во время сборки
В этом решении gulp вызывается из gradle. gradle поэтому строит все. И вы должны использовать gradle каждый раз, когда хотите что-то попробовать. Кроме того, у каждого разработчика должен быть установлен gulp, что может быть проблемой для разработчиков, использующих окна (как мне сказали). Также сервер CI должен знать, как запустить gulp.
Моя команда разрывается между этими двумя вариантами. У кого-нибудь есть опыт работы с любым из этих решений?