emezeske / lein-cljsbuild

Leiningen plugin to make ClojureScript development easy.
Other
1.1k stars 151 forks source link

cljsbuild/subproject.clj error on TravisCI #471

Open oubiwann opened 7 years ago

oubiwann commented 7 years ago

When upgrading to a project's lein-cljsbuild dep from 1.1.6 to 1.1.7, builds on TravisCI (linux) started failing. Local builds (macos) using the same make target worked just fine and produced a successful build.

Here's the error message:

Unable to resolve symbol: update in this context, 
    compiling:(leiningen/cljsbuild/subproject.clj:94:14

I haven't had the opportunity to test on a local linux machine yet, just on Travis.

The build steps are nothing unusual (essentially lein clean; lein compile; lein uberjar; lein cljsbuild once <id1>; lein cljsbuild once <id2>; lein test). The two ids represent a node build and a browser build.

Reverting back to 1.1.6 resulted in passing builds on Travis again. I'll include the stacktrace below, but here's a link for the failing build on Travis with 1.1.7:

and the subsequent pass that resulted when the project was reverted to 1.1.6:

Here's the full stacktrace:

Created /home/travis/build/clojusc/twig/target/twig-0.3.2-SNAPSHOT-standalone.jar
lein cljsbuild once node
clojure.lang.Compiler$CompilerException: java.lang.RuntimeException: Unable to resolve symbol: update in this context, compiling:(leiningen/cljsbuild/subproject.clj:94:14)
 at clojure.lang.Compiler.analyze (Compiler.java:6464)
    clojure.lang.Compiler.analyze (Compiler.java:6406)
    clojure.lang.Compiler$InvokeExpr.parse (Compiler.java:3665)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:6646)
    clojure.lang.Compiler.analyze (Compiler.java:6445)
    clojure.lang.Compiler.analyze (Compiler.java:6406)
    clojure.lang.Compiler$InvokeExpr.parse (Compiler.java:3719)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:6646)
    clojure.lang.Compiler.analyze (Compiler.java:6445)
    clojure.lang.Compiler.analyze (Compiler.java:6406)
    clojure.lang.Compiler$InvokeExpr.parse (Compiler.java:3719)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:6646)
    clojure.lang.Compiler.analyze (Compiler.java:6445)
    clojure.lang.Compiler.analyze (Compiler.java:6406)
    clojure.lang.Compiler$BodyExpr$Parser.parse (Compiler.java:5782)
    clojure.lang.Compiler$LetExpr$Parser.parse (Compiler.java:6100)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:6644)
    clojure.lang.Compiler.analyze (Compiler.java:6445)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:6632)
    clojure.lang.Compiler.analyze (Compiler.java:6445)
    clojure.lang.Compiler.analyze (Compiler.java:6406)
    clojure.lang.Compiler$BodyExpr$Parser.parse (Compiler.java:5782)
    clojure.lang.Compiler$FnMethod.parse (Compiler.java:5217)
    clojure.lang.Compiler$FnExpr.parse (Compiler.java:3846)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:6642)
    clojure.lang.Compiler.analyze (Compiler.java:6445)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:6632)
    clojure.lang.Compiler.analyze (Compiler.java:6445)
    clojure.lang.Compiler.access$100 (Compiler.java:38)
    clojure.lang.Compiler$DefExpr$Parser.parse (Compiler.java:538)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:6644)
    clojure.lang.Compiler.analyze (Compiler.java:6445)
    clojure.lang.Compiler.analyze (Compiler.java:6406)
    clojure.lang.Compiler.eval (Compiler.java:6707)
    clojure.lang.Compiler.load (Compiler.java:7130)
    clojure.lang.RT.loadResourceScript (RT.java:370)
    clojure.lang.RT.loadResourceScript (RT.java:361)
    clojure.lang.RT.load (RT.java:440)
    clojure.lang.RT.load (RT.java:411)
    clojure.core$load$fn__5066.invoke (core.clj:5641)
    clojure.core$load.doInvoke (core.clj:5640)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invoke (core.clj:5446)
    clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
    clojure.core$load_lib.doInvoke (core.clj:5485)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invoke (core.clj:626)
    clojure.core$load_libs.doInvoke (core.clj:5524)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invoke (core.clj:626)
    clojure.core$require.doInvoke (core.clj:5607)
    clojure.lang.RestFn.invoke (RestFn.java:1789)
    leiningen.cljsbuild$eval767$loading__4958__auto____768.invoke (cljsbuild.clj:1)
    leiningen.cljsbuild$eval767.invoke (cljsbuild.clj:1)
    clojure.lang.Compiler.eval (Compiler.java:6703)
    clojure.lang.Compiler.eval (Compiler.java:6692)
    clojure.lang.Compiler.load (Compiler.java:7130)
    clojure.lang.RT.loadResourceScript (RT.java:370)
    clojure.lang.RT.loadResourceScript (RT.java:361)
    clojure.lang.RT.load (RT.java:440)
    clojure.lang.RT.load (RT.java:411)
    clojure.core$load$fn__5066.invoke (core.clj:5641)
    clojure.core$load.doInvoke (core.clj:5640)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invoke (core.clj:5446)
    clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
    clojure.core$load_lib.doInvoke (core.clj:5485)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invoke (core.clj:626)
    clojure.core$load_libs.doInvoke (core.clj:5524)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invoke (core.clj:626)
    clojure.core$require.doInvoke (core.clj:5607)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    leiningen.core.utils$require_resolve.invoke (utils.clj:80)
    leiningen.core.utils$require_resolve.invoke (utils.clj:83)
    leiningen.core.main$lookup_task_var.invoke (main.clj:68)
    leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:78)
    leiningen.core.main$task_args.invoke (main.clj:81)
    leiningen.core.main$resolve_and_apply.invoke (main.clj:318)
    leiningen.core.main$_main$fn__6160.invoke (main.clj:392)
    leiningen.core.main$_main.doInvoke (main.clj:385)
    clojure.lang.RestFn.invoke (RestFn.java:436)
    clojure.lang.Var.invoke (Var.java:388)
    clojure.lang.AFn.applyToHelper (AFn.java:160)
    clojure.lang.Var.applyTo (Var.java:700)
    clojure.core$apply.invoke (core.clj:624)
    clojure.main$main_opt.invoke (main.clj:315)
    clojure.main$main.doInvoke (main.clj:420)
    clojure.lang.RestFn.invoke (RestFn.java:482)
    clojure.lang.Var.invoke (Var.java:401)
    clojure.lang.AFn.applyToHelper (AFn.java:171)
    clojure.lang.Var.applyTo (Var.java:700)
    clojure.main.main (main.java:37)
Caused by: java.lang.RuntimeException: Unable to resolve symbol: update in this context
 at clojure.lang.Util.runtimeException (Util.java:221)
    clojure.lang.Compiler.resolveIn (Compiler.java:6940)
    clojure.lang.Compiler.resolve (Compiler.java:6884)
    clojure.lang.Compiler.analyzeSymbol (Compiler.java:6845)
    clojure.lang.Compiler.analyze (Compiler.java:6427)
    clojure.lang.Compiler.analyze (Compiler.java:6406)
    clojure.lang.Compiler$InvokeExpr.parse (Compiler.java:3665)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:6646)
    clojure.lang.Compiler.analyze (Compiler.java:6445)
    clojure.lang.Compiler.analyze (Compiler.java:6406)
    clojure.lang.Compiler$InvokeExpr.parse (Compiler.java:3719)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:6646)
    clojure.lang.Compiler.analyze (Compiler.java:6445)
    clojure.lang.Compiler.analyze (Compiler.java:6406)
    clojure.lang.Compiler$InvokeExpr.parse (Compiler.java:3719)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:6646)
    clojure.lang.Compiler.analyze (Compiler.java:6445)
    clojure.lang.Compiler.analyze (Compiler.java:6406)
    clojure.lang.Compiler$BodyExpr$Parser.parse (Compiler.java:5782)
    clojure.lang.Compiler$LetExpr$Parser.parse (Compiler.java:6100)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:6644)
    clojure.lang.Compiler.analyze (Compiler.java:6445)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:6632)
    clojure.lang.Compiler.analyze (Compiler.java:6445)
    clojure.lang.Compiler.analyze (Compiler.java:6406)
    clojure.lang.Compiler$BodyExpr$Parser.parse (Compiler.java:5782)
    clojure.lang.Compiler$FnMethod.parse (Compiler.java:5217)
    clojure.lang.Compiler$FnExpr.parse (Compiler.java:3846)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:6642)
    clojure.lang.Compiler.analyze (Compiler.java:6445)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:6632)
    clojure.lang.Compiler.analyze (Compiler.java:6445)
    clojure.lang.Compiler.access$100 (Compiler.java:38)
    clojure.lang.Compiler$DefExpr$Parser.parse (Compiler.java:538)
    clojure.lang.Compiler.analyzeSeq (Compiler.java:6644)
    clojure.lang.Compiler.analyze (Compiler.java:6445)
    clojure.lang.Compiler.analyze (Compiler.java:6406)
    clojure.lang.Compiler.eval (Compiler.java:6707)
    clojure.lang.Compiler.load (Compiler.java:7130)
    clojure.lang.RT.loadResourceScript (RT.java:370)
    clojure.lang.RT.loadResourceScript (RT.java:361)
    clojure.lang.RT.load (RT.java:440)
    clojure.lang.RT.load (RT.java:411)
    clojure.core$load$fn__5066.invoke (core.clj:5641)
    clojure.core$load.doInvoke (core.clj:5640)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invoke (core.clj:5446)
    clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
    clojure.core$load_lib.doInvoke (core.clj:5485)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invoke (core.clj:626)
    clojure.core$load_libs.doInvoke (core.clj:5524)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invoke (core.clj:626)
    clojure.core$require.doInvoke (core.clj:5607)
    clojure.lang.RestFn.invoke (RestFn.java:1789)
    leiningen.cljsbuild$eval767$loading__4958__auto____768.invoke (cljsbuild.clj:1)
    leiningen.cljsbuild$eval767.invoke (cljsbuild.clj:1)
    clojure.lang.Compiler.eval (Compiler.java:6703)
    clojure.lang.Compiler.eval (Compiler.java:6692)
    clojure.lang.Compiler.load (Compiler.java:7130)
    clojure.lang.RT.loadResourceScript (RT.java:370)
    clojure.lang.RT.loadResourceScript (RT.java:361)
    clojure.lang.RT.load (RT.java:440)
    clojure.lang.RT.load (RT.java:411)
    clojure.core$load$fn__5066.invoke (core.clj:5641)
    clojure.core$load.doInvoke (core.clj:5640)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    clojure.core$load_one.invoke (core.clj:5446)
    clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
    clojure.core$load_lib.doInvoke (core.clj:5485)
    clojure.lang.RestFn.applyTo (RestFn.java:142)
    clojure.core$apply.invoke (core.clj:626)
    clojure.core$load_libs.doInvoke (core.clj:5524)
    clojure.lang.RestFn.applyTo (RestFn.java:137)
    clojure.core$apply.invoke (core.clj:626)
    clojure.core$require.doInvoke (core.clj:5607)
    clojure.lang.RestFn.invoke (RestFn.java:408)
    leiningen.core.utils$require_resolve.invoke (utils.clj:80)
    leiningen.core.utils$require_resolve.invoke (utils.clj:83)
    leiningen.core.main$lookup_task_var.invoke (main.clj:68)
    leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:78)
    leiningen.core.main$task_args.invoke (main.clj:81)
    leiningen.core.main$resolve_and_apply.invoke (main.clj:318)
    leiningen.core.main$_main$fn__6160.invoke (main.clj:392)
    leiningen.core.main$_main.doInvoke (main.clj:385)
    clojure.lang.RestFn.invoke (RestFn.java:436)
    clojure.lang.Var.invoke (Var.java:388)
    clojure.lang.AFn.applyToHelper (AFn.java:160)
    clojure.lang.Var.applyTo (Var.java:700)
    clojure.core$apply.invoke (core.clj:624)
    clojure.main$main_opt.invoke (main.clj:315)
    clojure.main$main.doInvoke (main.clj:420)
    clojure.lang.RestFn.invoke (RestFn.java:482)
    clojure.lang.Var.invoke (Var.java:401)
    clojure.lang.AFn.applyToHelper (AFn.java:171)
    clojure.lang.Var.applyTo (Var.java:700)
    clojure.main.main (main.java:37)
make: *** [node] Error 1
alesya-h commented 7 years ago

I have the same problem, ClojureScript builds fail with the same error on desktop linux. Downgrading to 1.1.6 fixes the problem

mneise commented 6 years ago

@oubiwann @alesguzik Sorry for the long wait. Is this still a problem? Would you mind sharing your project.clj or a minimal repo if possible?