This allows our validate_podspec and publish_pod helpers to support additional flags to forward to the pod commands they wrap:
validate_podspec
Add support for --allow-warnings, --sources=…, --private, --include-podspecs=…, --external-podspecs=…
The command now automatically adds --include-podspecs="*.podspec" to the call if not provided explicitly, in order to support repos that contains multiple co-dependant .podspec where one needs the other(s) to be able to validate(†).
publish_pod
Add support for --allow-warnings and --synchronous
The validation of one pod might require to include the other pod too in order for the linting to not fail compilation (hence the need for --include-podspecs=…)
The pod trunk push requires --synchronous otherwise the push of the first pod will succeed, but when trying to push the second pod which has the first one as a dependency, it won't be able to find the newly-pushed first pod it depends on, because it would not have propagated to the CocoaPods' CDNs yet
This allows our
validate_podspec
andpublish_pod
helpers to support additional flags to forward to thepod
commands they wrap:validate_podspec
--allow-warnings
,--sources=…
,--private
,--include-podspecs=…
,--external-podspecs=…
--include-podspecs="*.podspec"
to the call if not provided explicitly, in order to support repos that contains multiple co-dependant.podspec
where one needs the other(s) to be able to validate(†).publish_pod
--allow-warnings
and--synchronous
Why?
The main goal is to support repos containing multiple co-dependant
podspecs
. Examples include the Gravatar SDK having bothGravatar
&GravatarUI
, orWordPress-Aztec-iOS
andWordPress-Editor-iOS
.In those cases:
--include-podspecs=…
)pod trunk push
requires--synchronous
otherwise the push of the first pod will succeed, but when trying to push the second pod which has the first one as a dependency, it won't be able to find the newly-pushed first pod it depends on, because it would not have propagated to the CocoaPods' CDNs yetTesting
I've tested those changes by doing a dummy
1.0.1-alpha
tag / version on theGravatar-SDK-iOS
repo after making it point to this branch of the CI_TOOLKIT plugin.CHANGELOG.md
if necessary.