Я хочу сгенерировать ошибку сборки, если в текущем каталоге найдены один или несколько файлов, соответствующих определенному шаблону.
Чтобы проиллюстрировать, моя цель создания файла на данный момент выглядит следующим образом:
generate-java:
swig -c++ -java interface.i
Утилита swig
генерирует классы Java для каждого класса C ++, с которым она сталкивается в исходном коде C ++. Однако, если он сталкивается с использованием класса C ++, для которого не найдено определение, он сгенерирует фиктивный класс. Класс-пустышка обычно называется как-то вроде SWIGTYPE_p_MyClass
.
Если такая ситуация возникает, то я хочу воспринимать это как ошибку. Поэтому, если найден файл с именем SWIGTYPE_p*.java
или строкой SWIGTYPE_p
, я хочу, чтобы сборка не удалась.
Я думаю, мне нужно изменить цель сборки на что-то вроде этого:
generate-java:
swig -c++ -java interface.i
find . -name "SWIGTYPE_p.*\.java" --> generate build error if found
find . -name "*\.java" | xargs grep SWIGTYPE_p --> generate build error if found
Я думаю, мне нужно составить команду, которая возвращает состояние выхода, отличное от нуля, в случае, если строка найдена. Однако я не знаю, как это сделать. Кто-нибудь может помочь?