m0smith / lein-resource Goto Github PK
View Code? Open in Web Editor NEWA Leiningen plugin that copies files and transforms them using stencil
A Leiningen plugin that copies files and transforms them using stencil
See https://github.com/emezeske/lein-cljsbuild/blob/master/plugin/src/leiningen/cljsbuild.clj#L279 for a example of how this is done. Does not look too painful
Hi Matthew,
First of all - thank you for the lein-resource plugin, I found it very useful in my work.
Recently, I upgraded lein 2.3.3 to the most recent lein 2.4.2.
Now, when I try to launch my projects (e.g. lein repl) with lein-resource I get an error message:
Error: problem requiring leiningen.resource/activate hook
...
For your convenince I have created a simple repo causing problems, but I think it should be easy to reproduce the error with lein 2.4.2 as it seems to be related to hooks
https://github.com/lopusz/leinres
With lein 2.3.3 everything works fine.
Thank you for having a look at this issue.
Best regards,
Michał
Not able to run it getting the following stack trace:
clojure.lang.Compiler$CompilerException: java.lang.ExceptionInInitializerError, compiling:(leiningen/resource.clj:1:1)
at clojure.lang.Compiler.load (Compiler.java:7142)
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:68)
leiningen.core.utils$require_resolve.invoke (utils.clj:71)
leiningen.core.main$lookup_task_var.invoke (main.clj:61)
leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:68)
leiningen.core.main$task_args.invoke (main.clj:71)
leiningen.core.main$resolve_and_apply.invoke (main.clj:308)
leiningen.core.main$_main$fn__6136.invoke (main.clj:377)
leiningen.core.main$_main.doInvoke (main.clj:366)
clojure.lang.RestFn.invoke (RestFn.java:421)
clojure.lang.Var.invoke (Var.java:383)
clojure.lang.AFn.applyToHelper (AFn.java:156)
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:457)
clojure.lang.Var.invoke (Var.java:394)
clojure.lang.AFn.applyToHelper (AFn.java:165)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
Caused by: java.lang.ExceptionInInitializerError: null
at java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:270)
clojure.lang.RT.loadClassForName (RT.java:2093)
clojure.lang.RT.load (RT.java:430)
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:421)
stencil.core$loading__4958__auto__.invoke (core.clj:1)
stencil.core__init.load (:1)
stencil.core__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:270)
clojure.lang.RT.loadClassForName (RT.java:2093)
clojure.lang.RT.load (RT.java:430)
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:551)
leiningen.resource$eval5678$loading__4958__auto____5679.invoke (resource.clj:1)
leiningen.resource$eval5678.invoke (resource.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:68)
leiningen.core.utils$require_resolve.invoke (utils.clj:71)
leiningen.core.main$lookup_task_var.invoke (main.clj:61)
leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:68)
leiningen.core.main$task_args.invoke (main.clj:71)
leiningen.core.main$resolve_and_apply.invoke (main.clj:308)
leiningen.core.main$_main$fn__6136.invoke (main.clj:377)
leiningen.core.main$_main.doInvoke (main.clj:366)
clojure.lang.RestFn.invoke (RestFn.java:421)
clojure.lang.Var.invoke (Var.java:383)
clojure.lang.AFn.applyToHelper (AFn.java:156)
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:457)
clojure.lang.Var.invoke (Var.java:394)
clojure.lang.AFn.applyToHelper (AFn.java:165)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
Caused by: clojure.lang.Compiler$CompilerException: java.io.FileNotFoundException: Could not locate clojure/data/priority_map__init.class or clojure/data/priority_map.clj on classpath: , compiling:(clojure/core/cache.clj:1:1)
at clojure.lang.Compiler.load (Compiler.java:7142)
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)
stencil.loader/fn (loader.clj:43)
stencil.loader__init.load (:42)
stencil.loader__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:270)
clojure.lang.RT.loadClassForName (RT.java:2093)
clojure.lang.RT.load (RT.java:430)
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:421)
stencil.core$loading__4958__auto__.invoke (core.clj:1)
stencil.core__init.load (:1)
stencil.core__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:270)
clojure.lang.RT.loadClassForName (RT.java:2093)
clojure.lang.RT.load (RT.java:430)
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:551)
leiningen.resource$eval5678$loading__4958__auto____5679.invoke (resource.clj:1)
leiningen.resource$eval5678.invoke (resource.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:68)
leiningen.core.utils$require_resolve.invoke (utils.clj:71)
leiningen.core.main$lookup_task_var.invoke (main.clj:61)
leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:68)
leiningen.core.main$task_args.invoke (main.clj:71)
leiningen.core.main$resolve_and_apply.invoke (main.clj:308)
leiningen.core.main$_main$fn__6136.invoke (main.clj:377)
leiningen.core.main$_main.doInvoke (main.clj:366)
clojure.lang.RestFn.invoke (RestFn.java:421)
clojure.lang.Var.invoke (Var.java:383)
clojure.lang.AFn.applyToHelper (AFn.java:156)
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:457)
clojure.lang.Var.invoke (Var.java:394)
clojure.lang.AFn.applyToHelper (AFn.java:165)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
Caused by: java.io.FileNotFoundException: Could not locate clojure/data/priority_map__init.class or clojure/data/priority_map.clj on classpath:
at clojure.lang.RT.load (RT.java:443)
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)
clojure.core.cache$eval5684$loading__4958__auto____5685.invoke (cache.clj:9)
clojure.core.cache$eval5684.invoke (cache.clj:9)
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)
stencil.loader/fn (loader.clj:43)
stencil.loader__init.load (:42)
stencil.loader__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:270)
clojure.lang.RT.loadClassForName (RT.java:2093)
clojure.lang.RT.load (RT.java:430)
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:421)
stencil.core$loading__4958__auto__.invoke (core.clj:1)
stencil.core__init.load (:1)
stencil.core__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:270)
clojure.lang.RT.loadClassForName (RT.java:2093)
clojure.lang.RT.load (RT.java:430)
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:551)
leiningen.resource$eval5678$loading__4958__auto____5679.invoke (resource.clj:1)
leiningen.resource$eval5678.invoke (resource.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:68)
leiningen.core.utils$require_resolve.invoke (utils.clj:71)
leiningen.core.main$lookup_task_var.invoke (main.clj:61)
leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:68)
leiningen.core.main$task_args.invoke (main.clj:71)
leiningen.core.main$resolve_and_apply.invoke (main.clj:308)
leiningen.core.main$_main$fn__6136.invoke (main.clj:377)
leiningen.core.main$_main.doInvoke (main.clj:366)
clojure.lang.RestFn.invoke (RestFn.java:421)
clojure.lang.Var.invoke (Var.java:383)
clojure.lang.AFn.applyToHelper (AFn.java:156)
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:457)
clojure.lang.Var.invoke (Var.java:394)
clojure.lang.AFn.applyToHelper (AFn.java:165)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
When I run lein help resource
I expect to see a list of possible arguments I can pass.
Please consider adding command syntax info in doc and help
task.
Support both
:resource-paths ["src-stencil"]
as well as
:resource-paths [ ["src-stencil" {:includes [#".html."]
:excludes [#".*~$"]
:target-path "target/html" }]]
The first is currently supported and needs to remain.
So each element of :resource-paths becomes either a string that is a project directory or
a vector of 2 elements. The first element is the project directory and the second is a map with 3 possible keys :include, :excludes and :target-path. Both :includes and :excludes are vectors of regular expressions. If only :includes is present, then only files that match at least one of the regular expression are included. If only the :excludes is present, then all files except those that match the regular expressions are included. If both are present then only files that match the :includes but do not match the :excludes will be included.
If :target-path is present, the files wioll be copied to his directory. If it is not preset, the :target-path in the main :resource map will be used.
The example given copies all files with "html" in the name except the emacs backup files (those ending in ~) to target/html/
Hello,
when I'm using project like this https://gist.github.com/alun/d8a395a02ec90a0a4a99
lein help
or
lein resource
will cause resource plugin to throw an exception. Looks like some dependencies are conflicting but I'm not sure which of them.
I did find lein-resource but it does a bit more than I require (pass things through stencil) and more importantly it through an UnsupportedOperationException on my with what I thought would a be a valid configuration:
:resource {:resource-paths ["css" {:target-path "out/css"}]}
You could include a :force option maybe, but with your clean subtask, you probably don't need it. It'd be nice to only see the files that have changed copied while developing, though. Thanks for the plugin!
From https://crossclj.info/ns/lein-resource/15.10.2/project.clj.html#used
‘Outdated’ dependencies
Artifact | Referenced version | Most recent version |
---|---|---|
bultitude | 0.2.6 | 0.2.8 |
marginalia | 0.8.0 | 0.9.0 |
org.clojure/core.async | 0.1.346.0-17112a-alpha | 0.2.385 |
org.clojure/test.check | 0.8.2 | 0.9.0 |
scout | 0.1.0 | 0.1.1 |
When setting the :update true flag, the copy appears to stop after the first file it hits that doesn't need an update. So for example:
You can see this if you enable :verbose true, and grep the output for "copy-file-spec", you'll see that it stops doing the copies after the first non-updated file. I would expect that each file pair should be analyzed, and not exit on the first one that doesn't need updating.
Basically, I believe what is happening is the laziness of this part of the code:
(every? identity (->> (file-spec-seq project-info) (verbose-msg project-info "file-spec-seq") (map (partial copy-file-spec project-info))))
Causes it to exit the "every?" loop the first time something doesn't need updating, because it only returns a vector pair of files when the file is copied, but not when it doesn't need updating. Thus, the "every?" stops at the first "failure" (i.e. nil value) instead of proceeding.
Possibly the fix is that you always return the pair of files, regardless of if they were "updated" or not.
I'm trying to use it to transform scripts, but they turn out to be non-executable after transformation.
Have it do the same as the copy but instead delete the target. Also check if the driectory is empty and delete it as well, up the tree.
As shown in README.md
, it's possible to copy resources to a single target path, with some includings and excludings. But when I want to copy excutable scripts to target/bin
and configuration files to target/conf
, it seems lein-resource
doesn't support it. It would be nice if lein-resource
support this kind of opertion.
This is for the case where you want to render the templates with different variables based on the target path, to allow using some view-logic say, for a dev and prod output.
As in #1, but allowing for :extra-values to be passed with each path:
:resource {:resource-paths [["resources"
{:target-path "app/dev"
:extra-values {:dev true :prod false}}]
["resources"
{:target-path "app/prod"
:extra-values {:dev false :prod true}}]]}
The project compiles and runs fine, but after adding the lein-resource plug in, when I try calling it, I get this error:
:~/Projects/clojure/proclodo-spa-server-rendering$ lein resource
Error: problem requiring leiningen.resource/activate hook
clojure.lang.Compiler$CompilerException: java.lang.ExceptionInInitializerError, compiling:(leiningen/resource.clj:1:2)
at clojure.lang.Compiler.load (Compiler.java:7239)
clojure.lang.RT.loadResourceScript (RT.java:371)
clojure.lang.RT.loadResourceScript (RT.java:362)
clojure.lang.RT.load (RT.java:446)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:408)
leiningen.core.utils$require_resolve.invoke (utils.clj:80)
leiningen.core.project$load_hook$fn__6791.invoke (project.clj:717)
leiningen.core.project$load_hook.invoke (project.clj:717)
leiningen.core.project$load_hooks.doInvoke (project.clj:735)
clojure.lang.RestFn.invoke (RestFn.java:410)
leiningen.core.project$activate_middleware.invoke (project.clj:772)
leiningen.core.project$init_project.invoke (project.clj:885)
leiningen.core.project$read.invoke (project.clj:953)
leiningen.core.project$read.invoke (project.clj:954)
leiningen.core.main$_main$fn__6480.invoke (main.clj:386)
leiningen.core.main$_main.doInvoke (main.clj:383)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.lang.Var.invoke (Var.java:379)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:630)
clojure.main$main_opt.invoke (main.clj:316)
clojure.main$main.doInvoke (main.clj:421)
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.main.main (main.java:37)
Caused by: java.lang.ExceptionInInitializerError: null
at java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:348)
clojure.lang.RT.classForName (RT.java:2154)
clojure.lang.RT.classForName (RT.java:2163)
clojure.lang.RT.loadClassForName (RT.java:2182)
clojure.lang.RT.load (RT.java:436)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:421)
stencil.core/loading__5340__auto__ (core.clj:1)
stencil.core__init.load (:1)
stencil.core__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:348)
clojure.lang.RT.classForName (RT.java:2154)
clojure.lang.RT.classForName (RT.java:2163)
clojure.lang.RT.loadClassForName (RT.java:2182)
clojure.lang.RT.load (RT.java:436)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:551)
leiningen.resource$eval645$loading__5340__auto____646.invoke (resource.clj:1)
leiningen.resource$eval645.invoke (resource.clj:1)
clojure.lang.Compiler.eval (Compiler.java:6782)
clojure.lang.Compiler.eval (Compiler.java:6771)
clojure.lang.Compiler.load (Compiler.java:7227)
clojure.lang.RT.loadResourceScript (RT.java:371)
clojure.lang.RT.loadResourceScript (RT.java:362)
clojure.lang.RT.load (RT.java:446)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:408)
leiningen.core.utils$require_resolve.invoke (utils.clj:80)
leiningen.core.project$load_hook$fn__6791.invoke (project.clj:717)
leiningen.core.project$load_hook.invoke (project.clj:717)
leiningen.core.project$load_hooks.doInvoke (project.clj:735)
clojure.lang.RestFn.invoke (RestFn.java:410)
leiningen.core.project$activate_middleware.invoke (project.clj:772)
leiningen.core.project$init_project.invoke (project.clj:885)
leiningen.core.project$read.invoke (project.clj:953)
leiningen.core.project$read.invoke (project.clj:954)
leiningen.core.main$_main$fn__6480.invoke (main.clj:386)
leiningen.core.main$_main.doInvoke (main.clj:383)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.lang.Var.invoke (Var.java:379)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:630)
clojure.main$main_opt.invoke (main.clj:316)
clojure.main$main.doInvoke (main.clj:421)
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.main.main (main.java:37)
Caused by: clojure.lang.Compiler$CompilerException: java.io.FileNotFoundException: Could not locate clojure/data/priority_map__init.class or clojure/data/priority_map.clj on classpath. Please check that namespaces with dashes use underscores in the Clojure file name., compiling:(clojure/core/cache.clj:1:1)
at clojure.lang.Compiler.load (Compiler.java:7239)
clojure.lang.RT.loadResourceScript (RT.java:371)
clojure.lang.RT.loadResourceScript (RT.java:362)
clojure.lang.RT.load (RT.java:446)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:408)
stencil.loader/fn (loader.clj:43)
stencil.loader__init.load (:42)
stencil.loader__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:348)
clojure.lang.RT.classForName (RT.java:2154)
clojure.lang.RT.classForName (RT.java:2163)
clojure.lang.RT.loadClassForName (RT.java:2182)
clojure.lang.RT.load (RT.java:436)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:421)
stencil.core/loading__5340__auto__ (core.clj:1)
stencil.core__init.load (:1)
stencil.core__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:348)
clojure.lang.RT.classForName (RT.java:2154)
clojure.lang.RT.classForName (RT.java:2163)
clojure.lang.RT.loadClassForName (RT.java:2182)
clojure.lang.RT.load (RT.java:436)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:551)
leiningen.resource$eval645$loading__5340__auto____646.invoke (resource.clj:1)
leiningen.resource$eval645.invoke (resource.clj:1)
clojure.lang.Compiler.eval (Compiler.java:6782)
clojure.lang.Compiler.eval (Compiler.java:6771)
clojure.lang.Compiler.load (Compiler.java:7227)
clojure.lang.RT.loadResourceScript (RT.java:371)
clojure.lang.RT.loadResourceScript (RT.java:362)
clojure.lang.RT.load (RT.java:446)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:408)
leiningen.core.utils$require_resolve.invoke (utils.clj:80)
leiningen.core.project$load_hook$fn__6791.invoke (project.clj:717)
leiningen.core.project$load_hook.invoke (project.clj:717)
leiningen.core.project$load_hooks.doInvoke (project.clj:735)
clojure.lang.RestFn.invoke (RestFn.java:410)
leiningen.core.project$activate_middleware.invoke (project.clj:772)
leiningen.core.project$init_project.invoke (project.clj:885)
leiningen.core.project$read.invoke (project.clj:953)
leiningen.core.project$read.invoke (project.clj:954)
leiningen.core.main$_main$fn__6480.invoke (main.clj:386)
leiningen.core.main$_main.doInvoke (main.clj:383)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.lang.Var.invoke (Var.java:379)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:630)
clojure.main$main_opt.invoke (main.clj:316)
clojure.main$main.doInvoke (main.clj:421)
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.main.main (main.java:37)
Caused by: java.io.FileNotFoundException: Could not locate clojure/data/priority_map__init.class or clojure/data/priority_map.clj on classpath. Please check that namespaces with dashes use underscores in the Clojure file name.
at clojure.lang.RT.load (RT.java:449)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core.cache$eval651$loading__5340__auto____652.invoke (cache.clj:9)
clojure.core.cache$eval651.invoke (cache.clj:9)
clojure.lang.Compiler.eval (Compiler.java:6782)
clojure.lang.Compiler.eval (Compiler.java:6771)
clojure.lang.Compiler.load (Compiler.java:7227)
clojure.lang.RT.loadResourceScript (RT.java:371)
clojure.lang.RT.loadResourceScript (RT.java:362)
clojure.lang.RT.load (RT.java:446)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:408)
stencil.loader/fn (loader.clj:43)
stencil.loader__init.load (:42)
stencil.loader__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:348)
clojure.lang.RT.classForName (RT.java:2154)
clojure.lang.RT.classForName (RT.java:2163)
clojure.lang.RT.loadClassForName (RT.java:2182)
clojure.lang.RT.load (RT.java:436)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:421)
stencil.core/loading__5340__auto__ (core.clj:1)
stencil.core__init.load (:1)
stencil.core__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:348)
clojure.lang.RT.classForName (RT.java:2154)
clojure.lang.RT.classForName (RT.java:2163)
clojure.lang.RT.loadClassForName (RT.java:2182)
clojure.lang.RT.load (RT.java:436)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:551)
leiningen.resource$eval645$loading__5340__auto____646.invoke (resource.clj:1)
leiningen.resource$eval645.invoke (resource.clj:1)
clojure.lang.Compiler.eval (Compiler.java:6782)
clojure.lang.Compiler.eval (Compiler.java:6771)
clojure.lang.Compiler.load (Compiler.java:7227)
clojure.lang.RT.loadResourceScript (RT.java:371)
clojure.lang.RT.loadResourceScript (RT.java:362)
clojure.lang.RT.load (RT.java:446)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:408)
leiningen.core.utils$require_resolve.invoke (utils.clj:80)
leiningen.core.project$load_hook$fn__6791.invoke (project.clj:717)
leiningen.core.project$load_hook.invoke (project.clj:717)
leiningen.core.project$load_hooks.doInvoke (project.clj:735)
clojure.lang.RestFn.invoke (RestFn.java:410)
leiningen.core.project$activate_middleware.invoke (project.clj:772)
leiningen.core.project$init_project.invoke (project.clj:885)
leiningen.core.project$read.invoke (project.clj:953)
leiningen.core.project$read.invoke (project.clj:954)
leiningen.core.main$_main$fn__6480.invoke (main.clj:386)
leiningen.core.main$_main.doInvoke (main.clj:383)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.lang.Var.invoke (Var.java:379)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:630)
clojure.main$main_opt.invoke (main.clj:316)
clojure.main$main.doInvoke (main.clj:421)
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.main.main (main.java:37)
Same for lein resource print:
~/Projects/clojure/proclodo-spa-server-rendering$ lein resource pprint
Error: problem requiring leiningen.resource/activate hook
clojure.lang.Compiler$CompilerException: java.lang.ExceptionInInitializerError, compiling:(leiningen/resource.clj:1:2)
at clojure.lang.Compiler.load (Compiler.java:7239)
clojure.lang.RT.loadResourceScript (RT.java:371)
clojure.lang.RT.loadResourceScript (RT.java:362)
clojure.lang.RT.load (RT.java:446)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:408)
leiningen.core.utils$require_resolve.invoke (utils.clj:80)
leiningen.core.project$load_hook$fn__6791.invoke (project.clj:717)
leiningen.core.project$load_hook.invoke (project.clj:717)
leiningen.core.project$load_hooks.doInvoke (project.clj:735)
clojure.lang.RestFn.invoke (RestFn.java:410)
leiningen.core.project$activate_middleware.invoke (project.clj:772)
leiningen.core.project$init_project.invoke (project.clj:885)
leiningen.core.project$read.invoke (project.clj:953)
leiningen.core.project$read.invoke (project.clj:954)
leiningen.core.main$_main$fn__6480.invoke (main.clj:386)
leiningen.core.main$_main.doInvoke (main.clj:383)
clojure.lang.RestFn.invoke (RestFn.java:421)
clojure.lang.Var.invoke (Var.java:383)
clojure.lang.AFn.applyToHelper (AFn.java:156)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:630)
clojure.main$main_opt.invoke (main.clj:316)
clojure.main$main.doInvoke (main.clj:421)
clojure.lang.RestFn.invoke (RestFn.java:457)
clojure.lang.Var.invoke (Var.java:394)
clojure.lang.AFn.applyToHelper (AFn.java:165)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
Caused by: java.lang.ExceptionInInitializerError: null
at java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:348)
clojure.lang.RT.classForName (RT.java:2154)
clojure.lang.RT.classForName (RT.java:2163)
clojure.lang.RT.loadClassForName (RT.java:2182)
clojure.lang.RT.load (RT.java:436)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:421)
stencil.core/loading__5340__auto__ (core.clj:1)
stencil.core__init.load (:1)
stencil.core__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:348)
clojure.lang.RT.classForName (RT.java:2154)
clojure.lang.RT.classForName (RT.java:2163)
clojure.lang.RT.loadClassForName (RT.java:2182)
clojure.lang.RT.load (RT.java:436)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:551)
leiningen.resource$eval645$loading__5340__auto____646.invoke (resource.clj:1)
leiningen.resource$eval645.invoke (resource.clj:1)
clojure.lang.Compiler.eval (Compiler.java:6782)
clojure.lang.Compiler.eval (Compiler.java:6771)
clojure.lang.Compiler.load (Compiler.java:7227)
clojure.lang.RT.loadResourceScript (RT.java:371)
clojure.lang.RT.loadResourceScript (RT.java:362)
clojure.lang.RT.load (RT.java:446)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:408)
leiningen.core.utils$require_resolve.invoke (utils.clj:80)
leiningen.core.project$load_hook$fn__6791.invoke (project.clj:717)
leiningen.core.project$load_hook.invoke (project.clj:717)
leiningen.core.project$load_hooks.doInvoke (project.clj:735)
clojure.lang.RestFn.invoke (RestFn.java:410)
leiningen.core.project$activate_middleware.invoke (project.clj:772)
leiningen.core.project$init_project.invoke (project.clj:885)
leiningen.core.project$read.invoke (project.clj:953)
leiningen.core.project$read.invoke (project.clj:954)
leiningen.core.main$_main$fn__6480.invoke (main.clj:386)
leiningen.core.main$_main.doInvoke (main.clj:383)
clojure.lang.RestFn.invoke (RestFn.java:421)
clojure.lang.Var.invoke (Var.java:383)
clojure.lang.AFn.applyToHelper (AFn.java:156)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:630)
clojure.main$main_opt.invoke (main.clj:316)
clojure.main$main.doInvoke (main.clj:421)
clojure.lang.RestFn.invoke (RestFn.java:457)
clojure.lang.Var.invoke (Var.java:394)
clojure.lang.AFn.applyToHelper (AFn.java:165)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
Caused by: clojure.lang.Compiler$CompilerException: java.io.FileNotFoundException: Could not locate clojure/data/priority_map__init.class or clojure/data/priority_map.clj on classpath. Please check that namespaces with dashes use underscores in the Clojure file name., compiling:(clojure/core/cache.clj:1:1)
at clojure.lang.Compiler.load (Compiler.java:7239)
clojure.lang.RT.loadResourceScript (RT.java:371)
clojure.lang.RT.loadResourceScript (RT.java:362)
clojure.lang.RT.load (RT.java:446)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:408)
stencil.loader/fn (loader.clj:43)
stencil.loader__init.load (:42)
stencil.loader__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:348)
clojure.lang.RT.classForName (RT.java:2154)
clojure.lang.RT.classForName (RT.java:2163)
clojure.lang.RT.loadClassForName (RT.java:2182)
clojure.lang.RT.load (RT.java:436)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:421)
stencil.core/loading__5340__auto__ (core.clj:1)
stencil.core__init.load (:1)
stencil.core__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:348)
clojure.lang.RT.classForName (RT.java:2154)
clojure.lang.RT.classForName (RT.java:2163)
clojure.lang.RT.loadClassForName (RT.java:2182)
clojure.lang.RT.load (RT.java:436)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:551)
leiningen.resource$eval645$loading__5340__auto____646.invoke (resource.clj:1)
leiningen.resource$eval645.invoke (resource.clj:1)
clojure.lang.Compiler.eval (Compiler.java:6782)
clojure.lang.Compiler.eval (Compiler.java:6771)
clojure.lang.Compiler.load (Compiler.java:7227)
clojure.lang.RT.loadResourceScript (RT.java:371)
clojure.lang.RT.loadResourceScript (RT.java:362)
clojure.lang.RT.load (RT.java:446)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:408)
leiningen.core.utils$require_resolve.invoke (utils.clj:80)
leiningen.core.project$load_hook$fn__6791.invoke (project.clj:717)
leiningen.core.project$load_hook.invoke (project.clj:717)
leiningen.core.project$load_hooks.doInvoke (project.clj:735)
clojure.lang.RestFn.invoke (RestFn.java:410)
leiningen.core.project$activate_middleware.invoke (project.clj:772)
leiningen.core.project$init_project.invoke (project.clj:885)
leiningen.core.project$read.invoke (project.clj:953)
leiningen.core.project$read.invoke (project.clj:954)
leiningen.core.main$_main$fn__6480.invoke (main.clj:386)
leiningen.core.main$_main.doInvoke (main.clj:383)
clojure.lang.RestFn.invoke (RestFn.java:421)
clojure.lang.Var.invoke (Var.java:383)
clojure.lang.AFn.applyToHelper (AFn.java:156)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:630)
clojure.main$main_opt.invoke (main.clj:316)
clojure.main$main.doInvoke (main.clj:421)
clojure.lang.RestFn.invoke (RestFn.java:457)
clojure.lang.Var.invoke (Var.java:394)
clojure.lang.AFn.applyToHelper (AFn.java:165)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
Caused by: java.io.FileNotFoundException: Could not locate clojure/data/priority_map__init.class or clojure/data/priority_map.clj on classpath. Please check that namespaces with dashes use underscores in the Clojure file name.
at clojure.lang.RT.load (RT.java:449)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core.cache$eval651$loading__5340__auto____652.invoke (cache.clj:9)
clojure.core.cache$eval651.invoke (cache.clj:9)
clojure.lang.Compiler.eval (Compiler.java:6782)
clojure.lang.Compiler.eval (Compiler.java:6771)
clojure.lang.Compiler.load (Compiler.java:7227)
clojure.lang.RT.loadResourceScript (RT.java:371)
clojure.lang.RT.loadResourceScript (RT.java:362)
clojure.lang.RT.load (RT.java:446)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:408)
stencil.loader/fn (loader.clj:43)
stencil.loader__init.load (:42)
stencil.loader__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:348)
clojure.lang.RT.classForName (RT.java:2154)
clojure.lang.RT.classForName (RT.java:2163)
clojure.lang.RT.loadClassForName (RT.java:2182)
clojure.lang.RT.load (RT.java:436)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:421)
stencil.core/loading__5340__auto__ (core.clj:1)
stencil.core__init.load (:1)
stencil.core__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:348)
clojure.lang.RT.classForName (RT.java:2154)
clojure.lang.RT.classForName (RT.java:2163)
clojure.lang.RT.loadClassForName (RT.java:2182)
clojure.lang.RT.load (RT.java:436)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:551)
leiningen.resource$eval645$loading__5340__auto____646.invoke (resource.clj:1)
leiningen.resource$eval645.invoke (resource.clj:1)
clojure.lang.Compiler.eval (Compiler.java:6782)
clojure.lang.Compiler.eval (Compiler.java:6771)
clojure.lang.Compiler.load (Compiler.java:7227)
clojure.lang.RT.loadResourceScript (RT.java:371)
clojure.lang.RT.loadResourceScript (RT.java:362)
clojure.lang.RT.load (RT.java:446)
clojure.lang.RT.load (RT.java:412)
clojure.core$load$fn__5448.invoke (core.clj:5866)
clojure.core$load.doInvoke (core.clj:5865)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5671)
clojure.core$load_lib$fn__5397.invoke (core.clj:5711)
clojure.core$load_lib.doInvoke (core.clj:5710)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:632)
clojure.core$load_libs.doInvoke (core.clj:5749)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:632)
clojure.core$require.doInvoke (core.clj:5832)
clojure.lang.RestFn.invoke (RestFn.java:408)
leiningen.core.utils$require_resolve.invoke (utils.clj:80)
leiningen.core.project$load_hook$fn__6791.invoke (project.clj:717)
leiningen.core.project$load_hook.invoke (project.clj:717)
leiningen.core.project$load_hooks.doInvoke (project.clj:735)
clojure.lang.RestFn.invoke (RestFn.java:410)
leiningen.core.project$activate_middleware.invoke (project.clj:772)
leiningen.core.project$init_project.invoke (project.clj:885)
leiningen.core.project$read.invoke (project.clj:953)
leiningen.core.project$read.invoke (project.clj:954)
leiningen.core.main$_main$fn__6480.invoke (main.clj:386)
leiningen.core.main$_main.doInvoke (main.clj:383)
clojure.lang.RestFn.invoke (RestFn.java:421)
clojure.lang.Var.invoke (Var.java:383)
clojure.lang.AFn.applyToHelper (AFn.java:156)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:630)
clojure.main$main_opt.invoke (main.clj:316)
clojure.main$main.doInvoke (main.clj:421)
clojure.lang.RestFn.invoke (RestFn.java:457)
clojure.lang.Var.invoke (Var.java:394)
clojure.lang.AFn.applyToHelper (AFn.java:165)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
The source code of my project is here: https://github.com/ldnclj/proclodo-spa-server-rendering
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.