| OLD | NEW |
| (Empty) |
| 1 #!/bin/sh | |
| 2 | |
| 3 # CircleCI Carthage build caching, per idea at | |
| 4 # https://robots.thoughtbot.com/caching-carthage-con-circleci | |
| 5 # | |
| 6 # Cartfile.resolved is a checksum of successful "carthage checkout" or "carthage
bootstrap" | |
| 7 # It is recommended to commit in repo. On the other hand, it is NOT recommended
to commit | |
| 8 # the checkout folder Carthage/ much the same way as Pods/ or node_modules/. How
ever, there is | |
| 9 # no problem with having the folder CACHED, which means that it persists on CCI
side. | |
| 10 # So if it's desirable to update it only as needed: | |
| 11 # 0. cache Carthage/ subdir on CCI side | |
| 12 # 1. compare the commited latest Cartfile.resolved with a copy under Carthage/ | |
| 13 # 2. if not equal, redo checkout and build (i.e. bootstrap) | |
| 14 # 3. replace Cartfile.resolved in Carthage/ | |
| 15 # | |
| 16 if ! cmp -s Cartfile.resolved Carthage/Cartfile.resolved; then | |
| 17 carthage bootstrap --platform iOS --toolchain com.apple.dt.toolchain.XcodeDefa
ult --no-use-binaries | |
| 18 cp Cartfile.resolved Carthage | |
| 19 else | |
| 20 echo "Cartfile.resolved up to date, bootstrap not needed" | |
| 21 fi | |
| OLD | NEW |