Hi!

After working with appengine-magic a bit, I wanted to use the datastore viewer to see what's happening. So I tried "lein appengine-prepare" (is there another way?).

From https://github.com/gcv/appengine-magic#readme:
----
Testing with dev_appserver.sh

1. lein appengine-prepare. This AOT-compiles the entry point servlet, makes a jar of your application, and copies it, along with all your library dependencies, to your application's resources/WEB-INF/lib/ directories.

2. Run dev_appserver.sh with a path to your application's resources/ directory.
----

But it fails with: "java.lang.Exception: No such var: appengine-magic.core/default-war-root (core.clj:64)"

My core.clj:64:
(ae/def-appengine-app tlog-app #'tlog-app-handler)
is exactly like in the readme and another, functioning project called ackbar.

appengine-magic.core does not contain default-war-root directly, but has (if (in-appengine-interactive-mode?) (load "core_local") (load "core_google"))

core_local.clj defn's default-war-root, but core_google.clj doesn't.

Now this can't be called an interactive use, but I wonder if this switch does exactly what it's supposed to.


On rereading, I have to note that
----
With regard to AOT-compilation, if your project needs it, then you must include <project>.app_servlet in Leiningen's :aot directive. Otherwise, omit the :aot directive altogether. The lein appengine-prepare task will take care of AOT-compiling the entry point servlet and cleaning up afterwards.
----

Doesn't make it exactly clear to me, whether this :aot directive is required for appengine-prepare, or not. Adding ":aot tlog.app_servlet" to me project file makes the "No such var" error go away, but:
----
$: lein appengine-prepare
preparing App Engine application tlog for deployment
Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalArgumentException: Don't know how to create ISeq from: clojure.lang.Symbol (NO_SOURCE_FILE:0)
        at clojure.lang.Compiler.eval(Compiler.java:5440)
        at clojure.lang.Compiler.eval(Compiler.java:5391)
        at clojure.core$eval.invoke(core.clj:2382)
        at clojure.main$eval_opt.invoke(main.clj:235)
        at clojure.main$initialize.invoke(main.clj:254)
        at clojure.main$script_opt.invoke(main.clj:270)
        at clojure.main$main.doInvoke(main.clj:354)
        at clojure.lang.RestFn.invoke(RestFn.java:458)
        at clojure.lang.Var.invoke(Var.java:377)
        at clojure.lang.AFn.applyToHelper(AFn.java:174)
        at clojure.lang.Var.applyTo(Var.java:482)
        at clojure.main.main(main.java:37)
Caused by: java.lang.RuntimeException: java.lang.IllegalArgumentException: Don't know how to create ISeq from: clojure.lang.Symbol
        at clojure.lang.LazySeq.sval(LazySeq.java:47)
        at clojure.lang.LazySeq.seq(LazySeq.java:56)
        at clojure.lang.RT.seq(RT.java:450)
        at clojure.core$seq.invoke(core.clj:122)
        at leiningen.compile$find_namespaces_by_regex.invoke(compile.clj:36)
        at leiningen.compile$compilable_namespaces.invoke(compile.clj:51)
        at leiningen.compile$compile.invoke(compile.clj:249)
at leiningen.appengine_prepare$appengine_prepare.invoke(appengine_prepare.clj:31)
        at clojure.lang.Var.invoke(Var.java:365)
        at clojure.lang.AFn.applyToHelper(AFn.java:163)
        at clojure.lang.Var.applyTo(Var.java:482)
        at clojure.core$apply.invoke(core.clj:542)
        at leiningen.core$apply_task.invoke(core.clj:191)
        at leiningen.core$_main.doInvoke(core.clj:250)
        at clojure.lang.RestFn.applyTo(RestFn.java:138)
        at clojure.core$apply.invoke(core.clj:542)
        at leiningen.core$_main.invoke(core.clj:255)
        at user$eval175.invoke(NO_SOURCE_FILE:1)
        at clojure.lang.Compiler.eval(Compiler.java:5424)
        ... 11 more
Caused by: java.lang.IllegalArgumentException: Don't know how to create ISeq from: clojure.lang.Symbol
        at clojure.lang.RT.seqFrom(RT.java:471)
        at clojure.lang.RT.seq(RT.java:452)
        at clojure.core$seq.invoke(core.clj:122)
        at clojure.core$filter$fn__3714.invoke(core.clj:2130)
        at clojure.lang.LazySeq.sval(LazySeq.java:42)
        ... 29 more
----

This leaves me totally puzzled. Note that my project does compile, otherwise.

So, do I need :aot, am I stumbling over a bug in appengine-magic, is it yet another case of having overlooked some detail ...?


--
Thorsten Wilms

thorwil's design for free software:
http://thorwil.wordpress.com/

--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to [email protected]
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to