Включить файлы рекурсивно в Cocoapods podspec
Я хочу создать локальный подспец, основанный на частном коде. Я не могу использовать атрибут "источник", так как он не работает. Я могу использовать атрибут 'source_files', но он не включает файлы рекурсивно. Так с каталогом, который выглядит так
Library
/src
/Core
/Audio
/Graphics
И мой подспек выглядит так:
Pod::Spec.new do |s|
...
s.source = 'src' # this does not work.
s.source_files = 'src' # this only includes the files in src, and not in any of the Core, Audio or Graphics folders.
Я хочу указать флаг '-r'. Я пытался использовать подстановочные знаки, но не повезло.
1 ответ
source_files
Атрибут использует синтаксис глобуса файла Ruby. Шаблон должен быть относительно корня вашего проекта (то есть файла podspec), так что это должно работать для вас:
s.source_files = 'Library/src/**/*.{h,m}'
source
Атрибут не для файлов исходного кода, а скорее для удаленного репозитория, из которого должен быть получен код (чаще всего URL-адрес и тег репозитория Git). См. Документацию спецификации CocoaPods для получения дополнительной информации.
CocoaPods
[Около]
spec.source_files = 'Classes/**/*.{h,m,swift}', 'More_Classes/**/*.{h,m,swift}'
Шаблоны файлов:
*
- Соответствует любому файлу.**
- Рекурсивно сопоставляет каталоги.?
- Соответствует любому символу.[set]
- Соответствует любому символу в наборе.{p,q}
- Соответствует буквальному p или буквальному q.\
- Уходит от следующего метасимвола.