ClojureScript

Git caching creates cljs_deps.js file with relative paths to cache directory on the first try

Details

  • Type: Defect Defect
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None
  • Approval:
    Screened

Description

See CLJS-2763 for code to reproduce

Activity

Hide
David Nolen added a comment -
Show
David Nolen added a comment - Quick fix applied to master for now https://github.com/clojure/clojurescript/commit/cae4792015626ca341e03a4fd9154b6705beba1e
Hide
Mike Fikes added a comment -

Trying to reproduce this, using the files in the description of CLJS-2763, I'm getting what may be a completely different error (using 1.10.238, or a JAR built prior to the quick fix above, or a JAR built with current master):

$ clj -m cljs.main -co build.edn -c
Options passed to ClojureScript compiler: {:output-dir "out", :closure-variable-map-out #object[java.io.File 0x747d1932 "out/closure_var.map"], :closure-warnings {:check-types :off, :check-variables :off}, :closure-defines {}, :ups-libs nil, :cache-analysis true, :closure-module-roots [], :modules {:a {:output-to "out/a.js", :entries [demo.a]}, :b {:output-to "out/b.js", :entries [demo.foo.b], :depends-on #{:a}}, :cljs-base {:output-to #object[java.io.File 0x3fc05ea2 "out/cljs_base.js"]}}, :optimizations :none, :ups-foreign-libs [], :closure-property-map-in #object[java.io.File 0x7c891ba7 "out/closure_prop.map"], :verbose true, :aot-cache true, :preloads [process.env], :ignore-js-module-exts [".css"], :output-to "out/main.js", :preamble ["cljs/imul.js"], :closure-property-map-out #object[java.io.File 0x6240651f "out/closure_prop.map"], :stable-names true, :ups-externs nil, :opts-cache "cljsc_opts.edn", :source-map true, :cache-analysis-format :transit, :closure-variable-map-in #object[java.io.File 0x3cf7298d "out/closure_var.map"], :emit-constants nil}
Exception in thread "main" java.lang.IllegalArgumentException: No implementation of method: :-find-sources of protocol: #'cljs.closure/Compilable found for class: nil
	at clojure.core$_cache_protocol_fn.invokeStatic(core_deftype.clj:583)
	at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:575)
	at cljs.closure$fn__4972$G__4954__4979.invoke(closure.clj:543)
	at cljs.closure$fn__5065.invokeStatic(closure.clj:750)
	at cljs.closure$fn__5065.invoke(closure.clj:714)
	at cljs.closure$fn__4972$G__4954__4979.invoke(closure.clj:543)
	at cljs.closure$fn__5075$fn__5076.invoke(closure.clj:761)
	at clojure.core$map$fn__5583$fn__5584.invoke(core.clj:2734)
	at clojure.core.protocols$iter_reduce.invokeStatic(protocols.clj:49)
	at clojure.core.protocols$fn__7839.invokeStatic(protocols.clj:75)
	at clojure.core.protocols$fn__7839.invoke(protocols.clj:75)
	at clojure.core.protocols$fn__7781$G__7776__7794.invoke(protocols.clj:13)
	at clojure.core$transduce.invokeStatic(core.clj:6804)
	at clojure.core$into.invokeStatic(core.clj:6819)
	at clojure.core$into.invoke(core.clj:6807)
	at cljs.closure$fn__5075.invokeStatic(closure.clj:761)
	at cljs.closure$fn__5075.invoke(closure.clj:714)
	at cljs.closure$fn__4972$G__4954__4979.invoke(closure.clj:543)
	at cljs.closure$build$fn__5831.invoke(closure.clj:2902)
	at cljs.closure$build.invokeStatic(closure.clj:2899)
	at cljs.closure$build.invoke(closure.clj:2808)
	at cljs.build.api$build.invokeStatic(api.clj:208)
	at cljs.build.api$build.invoke(api.clj:189)
	at cljs.cli$default_compile.invokeStatic(cli.clj:485)
	at cljs.cli$default_compile.invoke(cli.clj:445)
	at cljs.cli$compile_opt.invokeStatic(cli.clj:493)
	at cljs.cli$compile_opt.invoke(cli.clj:491)
	at cljs.cli$main.invokeStatic(cli.clj:634)
	at cljs.cli$main.doInvoke(cli.clj:623)
	at clojure.lang.RestFn.applyTo(RestFn.java:139)
	at clojure.core$apply.invokeStatic(core.clj:659)
	at clojure.core$apply.invoke(core.clj:652)
	at cljs.main$_main.invokeStatic(main.clj:61)
	at cljs.main$_main.doInvoke(main.clj:52)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.lang.Var.applyTo(Var.java:702)
	at clojure.core$apply.invokeStatic(core.clj:657)
	at clojure.main$main_opt.invokeStatic(main.clj:317)
	at clojure.main$main_opt.invoke(main.clj:313)
	at clojure.main$main.invokeStatic(main.clj:424)
	at clojure.main$main.doInvoke(main.clj:387)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.lang.Var.applyTo(Var.java:702)
	at clojure.main.main(main.java:37)
Show
Mike Fikes added a comment - Trying to reproduce this, using the files in the description of CLJS-2763, I'm getting what may be a completely different error (using 1.10.238, or a JAR built prior to the quick fix above, or a JAR built with current master):
$ clj -m cljs.main -co build.edn -c
Options passed to ClojureScript compiler: {:output-dir "out", :closure-variable-map-out #object[java.io.File 0x747d1932 "out/closure_var.map"], :closure-warnings {:check-types :off, :check-variables :off}, :closure-defines {}, :ups-libs nil, :cache-analysis true, :closure-module-roots [], :modules {:a {:output-to "out/a.js", :entries [demo.a]}, :b {:output-to "out/b.js", :entries [demo.foo.b], :depends-on #{:a}}, :cljs-base {:output-to #object[java.io.File 0x3fc05ea2 "out/cljs_base.js"]}}, :optimizations :none, :ups-foreign-libs [], :closure-property-map-in #object[java.io.File 0x7c891ba7 "out/closure_prop.map"], :verbose true, :aot-cache true, :preloads [process.env], :ignore-js-module-exts [".css"], :output-to "out/main.js", :preamble ["cljs/imul.js"], :closure-property-map-out #object[java.io.File 0x6240651f "out/closure_prop.map"], :stable-names true, :ups-externs nil, :opts-cache "cljsc_opts.edn", :source-map true, :cache-analysis-format :transit, :closure-variable-map-in #object[java.io.File 0x3cf7298d "out/closure_var.map"], :emit-constants nil}
Exception in thread "main" java.lang.IllegalArgumentException: No implementation of method: :-find-sources of protocol: #'cljs.closure/Compilable found for class: nil
	at clojure.core$_cache_protocol_fn.invokeStatic(core_deftype.clj:583)
	at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:575)
	at cljs.closure$fn__4972$G__4954__4979.invoke(closure.clj:543)
	at cljs.closure$fn__5065.invokeStatic(closure.clj:750)
	at cljs.closure$fn__5065.invoke(closure.clj:714)
	at cljs.closure$fn__4972$G__4954__4979.invoke(closure.clj:543)
	at cljs.closure$fn__5075$fn__5076.invoke(closure.clj:761)
	at clojure.core$map$fn__5583$fn__5584.invoke(core.clj:2734)
	at clojure.core.protocols$iter_reduce.invokeStatic(protocols.clj:49)
	at clojure.core.protocols$fn__7839.invokeStatic(protocols.clj:75)
	at clojure.core.protocols$fn__7839.invoke(protocols.clj:75)
	at clojure.core.protocols$fn__7781$G__7776__7794.invoke(protocols.clj:13)
	at clojure.core$transduce.invokeStatic(core.clj:6804)
	at clojure.core$into.invokeStatic(core.clj:6819)
	at clojure.core$into.invoke(core.clj:6807)
	at cljs.closure$fn__5075.invokeStatic(closure.clj:761)
	at cljs.closure$fn__5075.invoke(closure.clj:714)
	at cljs.closure$fn__4972$G__4954__4979.invoke(closure.clj:543)
	at cljs.closure$build$fn__5831.invoke(closure.clj:2902)
	at cljs.closure$build.invokeStatic(closure.clj:2899)
	at cljs.closure$build.invoke(closure.clj:2808)
	at cljs.build.api$build.invokeStatic(api.clj:208)
	at cljs.build.api$build.invoke(api.clj:189)
	at cljs.cli$default_compile.invokeStatic(cli.clj:485)
	at cljs.cli$default_compile.invoke(cli.clj:445)
	at cljs.cli$compile_opt.invokeStatic(cli.clj:493)
	at cljs.cli$compile_opt.invoke(cli.clj:491)
	at cljs.cli$main.invokeStatic(cli.clj:634)
	at cljs.cli$main.doInvoke(cli.clj:623)
	at clojure.lang.RestFn.applyTo(RestFn.java:139)
	at clojure.core$apply.invokeStatic(core.clj:659)
	at clojure.core$apply.invoke(core.clj:652)
	at cljs.main$_main.invokeStatic(main.clj:61)
	at cljs.main$_main.doInvoke(main.clj:52)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.lang.Var.applyTo(Var.java:702)
	at clojure.core$apply.invokeStatic(core.clj:657)
	at clojure.main$main_opt.invokeStatic(main.clj:317)
	at clojure.main$main_opt.invoke(main.clj:313)
	at clojure.main$main.invokeStatic(main.clj:424)
	at clojure.main$main.doInvoke(main.clj:387)
	at clojure.lang.RestFn.applyTo(RestFn.java:137)
	at clojure.lang.Var.applyTo(Var.java:702)
	at clojure.main.main(main.java:37)

People

Vote (1)
Watch (2)

Dates

  • Created:
    Updated: