Shared AOT cache: Don't cache artifacts built from unbuilt ClojureScript dep
Key details
Description
If ClojureScript is an unbuilt dep, even though any artifacts produced for JAR deps are put in the shared cache, when you go to use them, since cljs.core will need to be compiled in the case of an empty output directory, this cascades a requirement to rebuild all of the shared cached artifacts (because they ultimately depend on cljs.core).
A consequence, it seems, is that artifacts cached based on unbuilt ClojureScript deps are not really usable. You could argue that we add conditional logic not to cache them in the first place. Addressing this ticket means adding such conditional logic (turning off shared AOT cache writing if ClojureScript is an unbuilt dep, which currently equates to it having a version number 0.0.xxx).
If we ultimately end up supporting shared cached artifacts built from git deps, then if ClojureScript is itself a git dep, then things will work out in that case in the future, and we could potentially turn off this logic.
If ClojureScript is an unbuilt dep, even though any artifacts produced for JAR deps are put in the shared cache, when you go to use them, since
cljs.core
will need to be compiled in the case of an empty output directory, this cascades a requirement to rebuild all of the shared cached artifacts (because they ultimately depend oncljs.core
).A consequence, it seems, is that artifacts cached based on unbuilt ClojureScript deps are not really usable. You could argue that we add conditional logic not to cache them in the first place. Addressing this ticket means adding such conditional logic (turning off shared AOT cache writing if ClojureScript is an unbuilt dep, which currently equates to it having a version number
0.0.xxx
).If we ultimately end up supporting shared cached artifacts built from git deps, then if ClojureScript is itself a git dep, then things will work out in that case in the future, and we could potentially turn off this logic.