-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Open
Labels
Description
The new --cache-builds behaviour is not behaving at least to my expectation if I use it together with --use-submodules
for a local package editing workflow. Here's a demonstration:
- Build your dependent package X:
carthage build --cache-builds X
where X is a package that's been pulled in with--use-submodules
toCarthage/Checkouts/X
. - Make local changes to X and commit them to the submodule at
Carthage/Checkouts/X
. - Repeat building X:
carthage build --cache-builds X
– observe that X is skipped building and the commit from the local checkout was not read, presumably because the comparison is only done against the commitish in Cartfile.resolved.
I would argue this is a bug, because carthage build
without --cache-builds will in fact build the current revision from Carthage/Checkouts/X
. Requiring the editing of Cartfile.resolved as part of a local package editing workflow would be both illogical (leaks the implementation detail of what keys are used to invalidate the cache) and actually kind of dangerous because you may end up committing by accident for example changes to Cartfile.resolved
that have intentionally not been pushed out yet.
carthage version
: current head of master (9f1cc9e).xcodebuild -version
: Xcode 8.2.1 (8C1002)- Are you using
--no-build
? no - Are you using
--no-use-binaries
? no - Are you using
--use-submodules
? yes