Auto-compiling HAML / SCSS

314 views
Skip to first unread message

Timothy Washington

unread,
May 20, 2013, 9:39:15 AM5/20/13
to clo...@googlegroups.com
Hi all, 

I'm trying to find a Clojure solution for auto-compiling HAML and SCSS code. I came across https://github.com/rtircher/lein-haml-sass, but that fails when I try to compile with "lein haml once" or "lein haml auto". Has anyone gotten this setup working? Or is there otherwise any other Clojure solution for this? I'm trying to avoid Guard and it's plug-ins. I'm finding its file watching and auto-compiling not to fire properly on my OSX machine. 


Thanks 
Tim 


$ lein haml once                                                                                                                                                                                                                                                                                                                                                              
Compiling haml files located in public/templ/haml
Warning: JRuby home "/Users/timothyw/Tools/jruby-1.4.0" does not exist, using /var/folders/nm/z6fkwpms5rdb6fr_b8m_n9nh0000gn/T/
LoadError: no such file to load -- rubygems
  require at org/jruby/RubyKernel.java:1062
   (root) at <script>:1
org.jruby.embed.EvalFailedException: (LoadError) no such file to load -- rubygems
        at org.jruby.embed.internal.EmbedEvalUnitImpl.run(EmbedEvalUnitImpl.java:136)
        at org.jruby.embed.ScriptingContainer.runUnit(ScriptingContainer.java:1263)
        at org.jruby.embed.ScriptingContainer.runScriptlet(ScriptingContainer.java:1256)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at clojure.lang.Reflector.invokeMatchingMethod(Reflector.java:93)
        at clojure.lang.Reflector.invokeInstanceMethod(Reflector.java:28)
        at leiningen.lein_haml_sass.render_engine$ensure_engine_started_BANG_$fn__239.invoke(render_engine.clj:44)
        at clojure.lang.AFn.call(AFn.java:18)
        at clojure.lang.LockingTransaction.run(LockingTransaction.java:263)
        at clojure.lang.LockingTransaction.runInTransaction(LockingTransaction.java:231)
        at leiningen.lein_haml_sass.render_engine$ensure_engine_started_BANG_.invoke(render_engine.clj:41)
        at leiningen.lein_haml_sass.render_engine$render_all_BANG_.invoke(render_engine.clj:83)
        at leiningen.tasks$once.invoke(tasks.clj:16)
        at leiningen.haml$haml.doInvoke(haml.clj:9)
        at clojure.lang.RestFn.invoke(RestFn.java:425)
        at clojure.lang.Var.invoke(Var.java:419)
        at clojure.lang.AFn.applyToHelper(AFn.java:163)
        at clojure.lang.Var.applyTo(Var.java:532)
        at clojure.core$apply.invoke(core.clj:619)
        at leiningen.core.main$resolve_task$fn__1836.doInvoke(main.clj:149)
        at clojure.lang.RestFn.applyTo(RestFn.java:139)
        at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
        at clojure.lang.RestFn.applyTo(RestFn.java:137)
        at clojure.core$apply.invoke(core.clj:619)
        at leiningen.core.main$apply_task.invoke(main.clj:189)
        at leiningen.core.main$resolve_and_apply.invoke(main.clj:193)
        at leiningen.core.main$_main$fn__1899.invoke(main.clj:257)
        at leiningen.core.main$_main.doInvoke(main.clj:247)
        at clojure.lang.RestFn.invoke(RestFn.java:421)
        at clojure.lang.Var.invoke(Var.java:419)
        at clojure.lang.AFn.applyToHelper(AFn.java:163)
        at clojure.lang.Var.applyTo(Var.java:532)
        at clojure.core$apply.invoke(core.clj:617)
        at clojure.main$main_opt.invoke(main.clj:335)
        at clojure.main$main.doInvoke(main.clj:440)
        at clojure.lang.RestFn.invoke(RestFn.java:457)
        at clojure.lang.Var.invoke(Var.java:427)
        at clojure.lang.AFn.applyToHelper(AFn.java:172)
        at clojure.lang.Var.applyTo(Var.java:532)
        at clojure.main.main(main.java:37)
Caused by: org.jruby.exceptions.RaiseException: (LoadError) no such file to load -- rubygems

fig.1

Antonio Terreno

unread,
May 21, 2013, 3:59:19 PM5/21/13
to clo...@googlegroups.com
I never used that lein plugin but the output is quite clear:

> Warning: JRuby home "/Users/timothyw/Tools/jruby-1.4.0" does not exist:

It seems like your jruby home is not properly configured, my favourite
way to achieve this is to use
https://github.com/sstephenson/ruby-build

> LoadError: no such file to load -- rubygems

It seems like you don't have rubygems installed (or misconfigured),
try following this: http://docs.rubygems.org/read/chapter/3

I hope it helps,

toni
> --
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clo...@googlegroups.com
> Note that posts from new members are moderated - please be patient with your
> first post.
> To unsubscribe from this group, send email to
> clojure+u...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+u...@googlegroups.com.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>

Timothy Washington

unread,
May 22, 2013, 7:18:31 PM5/22/13
to clo...@googlegroups.com
Hey Antonio, thanks for responding. 

I guess I'm a bit annoyed that lein-haml-sass, isn't managing it's own 3rd party tools itself. I'll check out the links you mentioned. 


Cheers  
Tim 

Reply all
Reply to author
Forward
0 new messages