Last active
December 14, 2015 14:49
-
-
Save thheller/5103320 to your computer and use it in GitHub Desktop.
unhelpful cljs compiler exception
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
clojure.lang.ExceptionInfo: failed compiling file:src/cljs-admin/cms/admin/app.cljs | |
core.clj:4327 clojure.core/ex-info | |
compiler.clj:848 cljs.compiler/compile-file | |
compiler.clj:908 cljs.compiler/compile-root | |
closure.clj:374 cljs.closure/compile-dir | |
closure.clj:406 cljs.closure/eval1542[fn] | |
closure.clj:276 cljs.closure/eval1467[fn] | |
closure.clj:420 cljs.closure/eval1529[fn] | |
closure.clj:276 cljs.closure/eval1467[fn] | |
compiler.clj:43 cljsbuild.compiler.SourcePaths/fn | |
core.clj:2485 clojure.core/map[fn] | |
LazySeq.java:42 clojure.lang.LazySeq.sval | |
LazySeq.java:60 clojure.lang.LazySeq.seq | |
RT.java:484 clojure.lang.RT.seq | |
core.clj:133 clojure.core/seq | |
core.clj:617 clojure.core/apply | |
core.clj:2514 clojure.core/mapcat | |
RestFn.java:423 clojure.lang.RestFn.invoke | |
compiler.clj:43 cljsbuild.compiler/cljsbuild.compiler.SourcePaths | |
closure.clj:900 cljs.closure/build | |
compiler.clj:57 cljsbuild.compiler/compile-cljs[fn] | |
compiler.clj:56 cljsbuild.compiler/compile-cljs | |
compiler.clj:140 cljsbuild.compiler/run-compiler | |
NO_SOURCE_FILE:1 user/eval2029[fn] | |
LazySeq.java:42 clojure.lang.LazySeq.sval | |
LazySeq.java:60 clojure.lang.LazySeq.seq | |
RT.java:484 clojure.lang.RT.seq | |
core.clj:133 clojure.core/seq | |
core.clj:2780 clojure.core/dorun | |
core.clj:2796 clojure.core/doall | |
NO_SOURCE_FILE:1 user/eval2029[fn] | |
NO_SOURCE_FILE:1 user/eval2029 | |
Compiler.java:6619 clojure.lang.Compiler.eval | |
Compiler.java:6609 clojure.lang.Compiler.eval | |
Compiler.java:6582 clojure.lang.Compiler.eval | |
core.clj:2852 clojure.core/eval | |
main.clj:308 clojure.main/eval-opt | |
main.clj:327 clojure.main/initialize | |
main.clj:362 clojure.main/null-opt | |
main.clj:440 clojure.main/main[fn] | |
main.clj:437 clojure.main/main | |
RestFn.java:421 clojure.lang.RestFn.invoke | |
Var.java:419 clojure.lang.Var.invoke | |
AFn.java:163 clojure.lang.AFn.applyToHelper | |
Var.java:532 clojure.lang.Var.applyTo | |
main.java:37 clojure.main.main | |
Caused by: clojure.lang.LispReader$ReaderException: java.lang.RuntimeException: Unmatched delimiter: ] | |
LispReader.java:220 clojure.lang.LispReader.read | |
core.clj:3407 clojure.core/read | |
core.clj:3405 clojure.core/read | |
compiler.clj:752 cljs.compiler/forms-seq[fn] | |
compiler.clj:752 cljs.compiler/forms-seq | |
compiler.clj:753 cljs.compiler/forms-seq[fn] | |
LazySeq.java:42 clojure.lang.LazySeq.sval | |
LazySeq.java:60 clojure.lang.LazySeq.seq | |
RT.java:484 clojure.lang.RT.seq | |
core.clj:133 clojure.core/seq | |
compiler.clj:808 cljs.compiler/parse-ns[fn] | |
compiler.clj:807 cljs.compiler/parse-ns | |
compiler.clj:846 cljs.compiler/compile-file | |
Caused by: java.lang.RuntimeException: Unmatched delimiter: ] | |
Util.java:219 clojure.lang.Util.runtimeException | |
LispReader.java:1109 clojure.lang.LispReader$UnmatchedDelimiterReader.invoke | |
LispReader.java:1148 clojure.lang.LispReader.readDelimitedList | |
LispReader.java:982 clojure.lang.LispReader$ListReader.invoke | |
LispReader.java:1148 clojure.lang.LispReader.readDelimitedList | |
LispReader.java:982 clojure.lang.LispReader$ListReader.invoke | |
LispReader.java:1148 clojure.lang.LispReader.readDelimitedList | |
LispReader.java:982 clojure.lang.LispReader$ListReader.invoke | |
LispReader.java:1148 clojure.lang.LispReader.readDelimitedList | |
LispReader.java:982 clojure.lang.LispReader$ListReader.invoke | |
LispReader.java:185 clojure.lang.LispReader.read |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From ef146d4a7351fb676d84005cc1138e9368002b11 Mon Sep 17 00:00:00 2001 | |
From: Thomas Heller <info@zilence.net> | |
Date: Wed, 6 Mar 2013 22:39:39 +0100 | |
Subject: [PATCH] wrap compile-file in try/catch | |
when compiling a directory via compile-dir and one | |
file fails to compile, it can be kinda hard to track | |
down which file actually failed to compile. | |
--- | |
src/clj/cljs/compiler.clj | 11 +++++++---- | |
1 files changed, 7 insertions(+), 4 deletions(-) | |
diff --git a/src/clj/cljs/compiler.clj b/src/clj/cljs/compiler.clj | |
index 0ae2495..0d2138b 100644 | |
--- a/src/clj/cljs/compiler.clj | |
+++ b/src/clj/cljs/compiler.clj | |
@@ -839,10 +839,13 @@ | |
(let [src-file (io/file src) | |
dest-file (io/file dest)] | |
(if (.exists src-file) | |
- (if (requires-compilation? src-file dest-file) | |
- (do (mkdirs dest-file) | |
- (compile-file* src-file dest-file)) | |
- (parse-ns src-file dest-file)) | |
+ (try | |
+ (if (requires-compilation? src-file dest-file) | |
+ (do (mkdirs dest-file) | |
+ (compile-file* src-file dest-file)) | |
+ (parse-ns src-file dest-file)) | |
+ (catch Exception e | |
+ (throw (ex-info (str "failed compiling file:" src) {:file src} e)))) | |
(throw (java.io.FileNotFoundException. (str "The file " src " does not exist."))))))) | |
(comment | |
-- | |
1.7.6 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
clojure.lang.LispReader$ReaderException: java.lang.RuntimeException: Unmatched delimiter: ] | |
LispReader.java:220 clojure.lang.LispReader.read | |
core.clj:3407 clojure.core/read | |
core.clj:3405 clojure.core/read | |
compiler.clj:752 cljs.compiler/forms-seq[fn] | |
compiler.clj:752 cljs.compiler/forms-seq | |
compiler.clj:753 cljs.compiler/forms-seq[fn] | |
LazySeq.java:42 clojure.lang.LazySeq.sval | |
LazySeq.java:60 clojure.lang.LazySeq.seq | |
RT.java:484 clojure.lang.RT.seq | |
core.clj:133 clojure.core/seq | |
compiler.clj:808 cljs.compiler/parse-ns[fn] | |
compiler.clj:807 cljs.compiler/parse-ns | |
compiler.clj:845 cljs.compiler/compile-file | |
compiler.clj:905 cljs.compiler/compile-root | |
closure.clj:374 cljs.closure/compile-dir | |
closure.clj:406 cljs.closure/eval1542[fn] | |
closure.clj:276 cljs.closure/eval1467[fn] | |
closure.clj:420 cljs.closure/eval1529[fn] | |
closure.clj:276 cljs.closure/eval1467[fn] | |
compiler.clj:43 cljsbuild.compiler.SourcePaths/fn | |
core.clj:2485 clojure.core/map[fn] | |
LazySeq.java:42 clojure.lang.LazySeq.sval | |
LazySeq.java:60 clojure.lang.LazySeq.seq | |
RT.java:484 clojure.lang.RT.seq | |
core.clj:133 clojure.core/seq | |
core.clj:617 clojure.core/apply | |
core.clj:2514 clojure.core/mapcat | |
RestFn.java:423 clojure.lang.RestFn.invoke | |
compiler.clj:43 cljsbuild.compiler/cljsbuild.compiler.SourcePaths | |
closure.clj:900 cljs.closure/build | |
compiler.clj:57 cljsbuild.compiler/compile-cljs[fn] | |
compiler.clj:56 cljsbuild.compiler/compile-cljs | |
compiler.clj:140 cljsbuild.compiler/run-compiler | |
NO_SOURCE_FILE:1 user/eval2029[fn] | |
LazySeq.java:42 clojure.lang.LazySeq.sval | |
LazySeq.java:60 clojure.lang.LazySeq.seq | |
RT.java:484 clojure.lang.RT.seq | |
core.clj:133 clojure.core/seq | |
core.clj:2780 clojure.core/dorun | |
core.clj:2796 clojure.core/doall | |
NO_SOURCE_FILE:1 user/eval2029[fn] | |
NO_SOURCE_FILE:1 user/eval2029 | |
Compiler.java:6619 clojure.lang.Compiler.eval | |
Compiler.java:6609 clojure.lang.Compiler.eval | |
Compiler.java:6582 clojure.lang.Compiler.eval | |
core.clj:2852 clojure.core/eval | |
main.clj:308 clojure.main/eval-opt | |
main.clj:327 clojure.main/initialize | |
main.clj:362 clojure.main/null-opt | |
main.clj:440 clojure.main/main[fn] | |
main.clj:437 clojure.main/main | |
RestFn.java:421 clojure.lang.RestFn.invoke | |
Var.java:419 clojure.lang.Var.invoke | |
AFn.java:163 clojure.lang.AFn.applyToHelper | |
Var.java:532 clojure.lang.Var.applyTo | |
main.java:37 clojure.main.main | |
Caused by: java.lang.RuntimeException: Unmatched delimiter: ] | |
Util.java:219 clojure.lang.Util.runtimeException | |
LispReader.java:1109 clojure.lang.LispReader$UnmatchedDelimiterReader.invoke | |
LispReader.java:1148 clojure.lang.LispReader.readDelimitedList | |
LispReader.java:982 clojure.lang.LispReader$ListReader.invoke | |
LispReader.java:1148 clojure.lang.LispReader.readDelimitedList | |
LispReader.java:982 clojure.lang.LispReader$ListReader.invoke | |
LispReader.java:1148 clojure.lang.LispReader.readDelimitedList | |
LispReader.java:982 clojure.lang.LispReader$ListReader.invoke | |
LispReader.java:1148 clojure.lang.LispReader.readDelimitedList | |
LispReader.java:982 clojure.lang.LispReader$ListReader.invoke | |
LispReader.java:185 clojure.lang.LispReader.read |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment