Можно ли использовать подстановочную логику '*' для отображения определенного каталога с помощью Apache Maven Goals & Options? - PullRequest
0 голосов
/ 09 апреля 2019

Мне нужно перечислить конкретный каталог, используя подстановочную логику в моей команде целей и параметров Maven.

В настоящее время корневым каталогом является: mvn test -Dcucumber.options="C:/Users/Joe_Blogs/Desktop/AutoFramework/src/test/resources/features/Bookings/MakeBooking.feature"

Мне нужно использовать ** для сканирования папок проекта с целью поиска файла заданного объекта, так как имя папки (бронирование) можетменять.mvn test -Dcucumber.options="C:/Users/Joe_Blogs/Desktop/AutoFramework/src/test/resources/features/**/MakeBooking.feature"

В приведенном выше примере ** потребуется ссылаться на различные папки, а не только на бронирование.

Любые идеи?

Спасибо за вашу помощь.

1 Ответ

1 голос
/ 09 апреля 2019

Maven поддерживает подстановочные знаки «любой» и «любой потомок», обозначенные * и ** соответственно.Это подмножество <fileset> Соглашения Ant .

. Поддержка поступает из библиотеки Apache Maven Shared Utils .Фактическая логика обхода деревьев каталогов, нормализации пути, сопоставления с образцом и т. Д. Сгруппирована в пакете org.apache.maven.shared.utils.io .Эти классы обеспечивают единообразную обработку файловой системы для плагинов, поддерживаемых Maven Project .

. Как следует из ссылок, обработка подстановочных знаков не является ни тривиальной логикой, ни магическим образом применена вне самого Maven.Огурец должен как-то намеренно поддерживать синтаксис.Извините, но не похоже, что Cucumber поддерживает подстановочный знак «любой потомок».Ближайшим эквивалентом является /* в конце пути.

Однако один из возможных способов - использовать теги .Может быть, будет глупо отмечать один файл, но это избавляет от каких-либо опасений относительно путей.Пример:

mvn test -Dcucumber.options="--tags @MakeBooking"
...