CocoaPod - выдает ошибку, когда версия не установлена - PullRequest
0 голосов
/ 27 августа 2018

В podfile вы можете установить код версии или нет.Например, это выглядит так:

pod 'Alamofire'
pod 'Alamofire', '4.6.0'

Могу ли я определить правило в cocoaPod, которое будет принимать только пакеты с версией?

История, стоящая за

Я много работаю со скриптами сборки и различными агентами сборки, которые всегда выполняют pod update.

В глупостимомент, когда я забыл установить номер версии.Однажды модуль выпускает новую версию, которая компилируется, но логика была нарушена.В результате я построил приложения, которые вылетали.Теперь я думаю, чтобы выдать ошибку в pod install или pod update, когда есть модуль без номера версии.В Google я не могу найти решение.

1 Ответ

0 голосов
/ 27 августа 2018

Я не нашел решения от CocoaPods, но я написал свой собственный скрипт оболочки.Я совершенно уверен, что про regex pro смеются, но он работает для меня.

grep "\bpod ['\"]\w*['\"]$" Podfile > pods_without_version.txt
pods_without_version=$(grep -c ^ pods_without_version.txt)
count=$(grep -c ^ pods_without_version.txt)

if [ $count != 0 ]; then
   echo "Error - $count Pod(s) without versions:"
   cat pods_without_version.txt
fi

Отфильтруйте все модули, которые начинаются с pod, окружены " или ' и убежищемНичего не стоит за вторым ', "

Пример Podfile

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
inhibit_all_warnings!
use_frameworks!

def shared_pods
 pod 'Alamofire', '4.6.0'
 pod "GoogleMaps"
 pod 'GooglePlaces'
end

target 'MyAppProject' do
 shared_pods
end

target 'MyAppProjectTests' do
 inherit! :search_paths
 shared_pods
end

Выход

Error - 2 Pod(s) without versions:
pod "GoogleMaps"
pod 'GooglePlaces'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...