-
Notifications
You must be signed in to change notification settings - Fork 17
Open
Description
I'm following the tutorial:
Line 71 in 3ff1a18
| (apt-repo :present "ppa:wireguard/wireguard") |
This snippet...
; [..]
(ssh {:username username
:hostname hostname}
(apt-repo :present "ppa:wireguard/wireguard"))...produces a NPE:
click to expand
$ spire test.clj
test.clj:7 (apt-repo :present "ppa:wireguard/wireguard")
Exception in thread "main" java.lang.NullPointerException
at clojure.string$starts_with_QMARK_.invokeStatic(string.clj:364)
at spire.module.apt_repo$fn__25035.invokeStatic(apt_repo.clj:38)
at spire.module.apt_repo$fn__25035.invoke(apt_repo.clj:38)
at clojure.lang.MultiFn.invoke(MultiFn.java:234)
at spire.module.apt_repo$apt_repo_STAR_.invokeStatic(apt_repo.clj:164)
at spire.module.apt_repo$apt_repo_STAR_.doInvoke(apt_repo.clj:159)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at sci.impl.vars.SciVar.invoke(vars.cljc:327)
at sci.impl.analyzer$return_call$reify__4569.eval(analyzer.cljc:1149)
at sci.impl.evaluator$eval_let$fn__2076.invoke(evaluator.cljc:65)
at sci.impl.evaluator$eval_let.invokeStatic(evaluator.cljc:56)
at sci.impl.analyzer$analyze_let_STAR_$reify__4237.eval(analyzer.cljc:492)
at sci.impl.evaluator$eval_try.invokeStatic(evaluator.cljc:125)
at sci.impl.analyzer$analyze_try$reify__4320.eval(analyzer.cljc:741)
at sci.impl.analyzer$return_do$reify__3600.eval(analyzer.cljc:133)
at sci.impl.analyzer$return_do$reify__3600.eval(analyzer.cljc:133)
at sci.impl.evaluator$eval_try.invokeStatic(evaluator.cljc:125)
at sci.impl.analyzer$analyze_try$reify__4320.eval(analyzer.cljc:741)
at sci.impl.analyzer$return_do$reify__3600.eval(analyzer.cljc:133)
at sci.impl.evaluator$eval_let.invokeStatic(evaluator.cljc:74)
at sci.impl.analyzer$analyze_let_STAR_$reify__4237.eval(analyzer.cljc:492)
at sci.impl.evaluator$eval_let.invokeStatic(evaluator.cljc:74)
at sci.impl.analyzer$analyze_let_STAR_$reify__4237.eval(analyzer.cljc:492)
at sci.impl.evaluator$eval_try.invokeStatic(evaluator.cljc:125)
at sci.impl.analyzer$analyze_try$reify__4320.eval(analyzer.cljc:741)
at sci.impl.evaluator$eval_let.invokeStatic(evaluator.cljc:74)
at sci.impl.analyzer$analyze_let_STAR_$reify__4237.eval(analyzer.cljc:492)
at sci.impl.interpreter$eval_form.invokeStatic(interpreter.cljc:39)
at sci.impl.interpreter$eval_string_STAR_.invokeStatic(interpreter.cljc:61)
at sci.core$eval_string_STAR_.invokeStatic(core.cljc:235)
at spire.eval$evaluate.invokeStatic(eval.clj:87)
at spire.core$_main.invokeStatic(core.clj:85)
at spire.core$_main.doInvoke(core.clj:59)
at clojure.lang.RestFn.applyTo(RestFn.java:137)
at spire.core.main(Unknown Source)
After some source diving (the opaque error didn't help with understanding what was going on), I think I found that the apt-repo module invocation should be like below instead:
(ssh {:username username
:hostname hostname}
(apt-repo :present {:repo "ppa:wireguard/wireguard"}))This gets me past the NPE. The module still fails because Wireguard is now officially included in Ubuntu, but that's a different issue. 😉
Thanks for Spire! I'll be watching the project, being able to do configuration management in Clojure, "at the REPL", is an amazing prospect.
Metadata
Metadata
Assignees
Labels
No labels