What happened?
After running crossplane dependency update-cache, schemas/.lock.json does not include entries for XRD schemas defined under apis/. Only running crossplane project build updates the lock file and adds a fs://apis key with the generated schemas.
This makes the two commands inconsistent: one partially updates the cache/lock file, the other fully updates it. In practice this breaks the local dev loop — since update-cache doesn't pick up XRD changes, a full project build is required after every schema edit just to regenerate the schemas needed to keep developing a function.
I expected update-cache to update the lock file and the schema types consistently, including XRD schema entries, without requiring a full build.
How can we reproduce it?
crossplane project init my-project
- Add dependencies to
crossplane-project.yaml
- Add an XRD definition to
apis/
crossplane dependency update-cache
- Inspect
schemas/ — the lock file does not contain the fs://apis key, and no schemas were generated for it
crossplane project build
- Inspect
schemas/ again — the lock file now contains fs://apis, and the schemas have been generated
What environment did it happen in?
- Crossplane CLI version: 2.4.0
- Platform: linux/amd64
What happened?
After running
crossplane dependency update-cache,schemas/.lock.jsondoes not include entries for XRD schemas defined underapis/. Only runningcrossplane project buildupdates the lock file and adds afs://apiskey with the generated schemas.This makes the two commands inconsistent: one partially updates the cache/lock file, the other fully updates it. In practice this breaks the local dev loop — since
update-cachedoesn't pick up XRD changes, a fullproject buildis required after every schema edit just to regenerate the schemas needed to keep developing a function.I expected
update-cacheto update the lock file and the schema types consistently, including XRD schema entries, without requiring a fullbuild.How can we reproduce it?
crossplane project init my-projectcrossplane-project.yamlapis/crossplane dependency update-cacheschemas/— the lock file does not contain thefs://apiskey, and no schemas were generated for itcrossplane project buildschemas/again — the lock file now containsfs://apis, and the schemas have been generatedWhat environment did it happen in?