Here they are. HTH

; Procfile
web: java $JVM_OPTS -cp target/example-standalone.jar clojure.main -m 
example.server

; project.clj
(defproject example "0.3.0-SNAPSHOT"
  :description "Example"
  :dependencies [[org.clojure/clojure "1.5.1"]
                 [org.clojure/clojurescript "0.0-2127"]
                 ; ...
                 ]
  :plugins [[lein-cljsbuild "0.3.4"]]
  :profiles {:dev {:source-paths ["dev"]}}
  :hooks [leiningen.cljsbuild]
  :cljsbuild {
    :builds {
        :dev
        {:source-paths ["src"]
         :compiler {
            :output-to "resources/public/js/cljs-debug.js"
            :optimizations :whitespace
            :pretty-print true }}
        :prod
        {:source-paths ["src"]
         :compiler {
            :output-to "resources/public/js/cljs.js"
            :optimizations :advanced
            :pretty-print false}}}}
  :min-lein-version "2.0.0"
  :main example.server
  :jvm-opts ["-Djava.awt.headless=true"]
  :source-paths ["src"]
  :uberjar-name "example-standalone.jar"
  ; Workaround for
  ; https://groups.google.com/forum/#!topic/clojure/7Kijzaf0SGk
  ; 
https://github.com/technomancy/leiningen/commit/5b97d9a47246af30d0e146f0c12cfa45fbf6953e
  ; while dm3's (aka Vadim Platonov) pull request is not applied to Ring
  ; https://github.com/ring-clojure/ring/issues/96
  :jar-exclusions [#"^.*/$"])





On Tuesday, March 18, 2014 10:14:30 PM UTC+1, Martin Klepsch wrote:
> Hey
> 
> 
> 
> @Travis
> 
> I thought about that and it probably is a solution, feels a bit like a 
> workaround though.
> 
> 
> 
> @Xavi
> 
> I tried to get that automatic compilation of Clojurescript to work, but 
> couldn't.
> 
> Would you mind sharing your project.clj + Procfile with me? 
> 
> Maybe I can figure it out when I can compare them side-by-side with mine.
> 
> 
> 
> Thanks already!
> 
> 
> 
> On Tuesday, March 18, 2014 3:42:40 PM UTC+1, Xavi Caballé wrote:
> 
> > Martin, I just use the leiningen.cljsbuild hook like you said.
> 
> > 
> 
> > I don't use :resource-paths, but I think it still works because the default 
> > :resource-paths is ["resources"]
> 
> > https://github.com/technomancy/leiningen/blob/491c2c9595a90afb2653b085be03bf312b8d3e5d/leiningen-core/src/leiningen/core/project.clj#L175
> 
> > 
> 
> > There's no need to check any JavaScript file into version control. 
> > ClojureScript will be transpiled to JavaScript by Heroku when deploying.
> 
> > 
> 
> > I also have an :uberjar-name entry in the project.clj like in Heroku's 
> > Clojure article
> 
> > https://devcenter.heroku.com/articles/getting-started-with-clojure#project-clj
> 
> > 
> 
> > 
> 
> > Xavi
> 
> > 
> 
> > 
> 
> > On Monday, March 17, 2014 6:11:49 PM UTC+1, Travis Vachon wrote:
> 
> > > Hey Martin
> 
> > > 
> 
> > > 
> 
> > > 
> 
> > > I haven't done this before, but just took a quick look at
> 
> > > 
> 
> > > https://devcenter.heroku.com/articles/getting-started-with-nodejs
> 
> > > 
> 
> > > 
> 
> > > 
> 
> > > At a high level, my understanding is that you'll need to check a
> 
> > > 
> 
> > > JavaScript file into version control and push the relevant branch up
> 
> > > 
> 
> > > to heroku. What you might want to do is follow the pattern GitHub uses
> 
> > > 
> 
> > > for project pages - maintain a separate branch that contains only the
> 
> > > 
> 
> > > files you'll want to deploy to heroku (a package.json file, a Procfile
> 
> > > 
> 
> > > and the JavaScript file containing your application code) and push
> 
> > > 
> 
> > > that. When you want to deploy to Heroku you would:
> 
> > > 
> 
> > > 
> 
> > > 
> 
> > > 1) check out your master branch (the one with ClojureScript) and build
> 
> > > 
> 
> > > (lein cljsbuild once) to a temporary location
> 
> > > 
> 
> > > 2) check out your deployment branch and move the generated JavaScript
> 
> > > 
> 
> > > file into the appropriate location
> 
> > > 
> 
> > > 3) commit the generated JavaScript file
> 
> > > 
> 
> > > 4) push the deployment branch to Heroku
> 
> > > 
> 
> > > 
> 
> > > 
> 
> > > You could write a short script that made this very easy.
> 
> > > 
> 
> > > 
> 
> > > 
> 
> > > To be clear, this mean that the deployment branch will have entirely
> 
> > > 
> 
> > > different content from the development branch. It would also be
> 
> > > 
> 
> > > possible to keep them all in the same branch, and just commit the
> 
> > > 
> 
> > > generated JavaScript whenever you'd like to deploy to Heroku. This
> 
> > > 
> 
> > > might have more overhead, but, hard to say. Yet another option would
> 
> > > 
> 
> > > be to have a submodule within your ClojureScript repository that
> 
> > > 
> 
> > > looked like a normal Heroku node.js project. Submodules are kind of a
> 
> > > 
> 
> > > pain though.
> 
> > > 
> 
> > > 
> 
> > > 
> 
> > > Good luck! Very interested to hear what you end up doing.
> 
> > > 
> 
> > > 
> 
> > > 
> 
> > > Travis
> 
> > > 
> 
> > > 
> 
> > > 
> 
> > > On Thu, Mar 13, 2014 at 3:23 PM, Martin Klepsch
> 
> > > 
> 
> > > <[email protected]> wrote:
> 
> > > 
> 
> > > > Hey,
> 
> > > 
> 
> > > >
> 
> > > 
> 
> > > > I was looking for a simple way to deploy a clojurescript app to 
> > > > heroku/dokku.
> 
> > > 
> 
> > > > Seemed like the proper way to do that is using something like 
> > > > `:resource-paths ["resources"]`
> 
> > > 
> 
> > > > and use that as target directory for the cljs compilation.
> 
> > > 
> 
> > > >
> 
> > > 
> 
> > > > I now wonder how I can integrate cljsbuild into leiningens uberjar 
> > > > command. As I understand the leiningen.cljsbuild hook it should do 
> > > > exactly this.
> 
> > > 
> 
> > > >
> 
> > > 
> 
> > > > Would love to hear how you do it (and more general how do you deploy 
> > > > clojurescript)?
> 
> > > 
> 
> > > >
> 
> > > 
> 
> > > > Martin
> 
> > > 
> 
> > > >
> 
> > > 
> 
> > > > ps. I have some project here with the configuration I described in case 
> > > > something is unclear https://github.com/mklappstuhl/suggest
> 
> > > 
> 
> > > >
> 
> > > 
> 
> > > > --
> 
> > > 
> 
> > > > Note that posts from new members are moderated - please be patient with 
> > > > your first post.
> 
> > > 
> 
> > > > ---
> 
> > > 
> 
> > > > You received this message because you are subscribed to the Google 
> > > > Groups "ClojureScript" group.
> 
> > > 
> 
> > > > To unsubscribe from this group and stop receiving emails from it, send 
> > > > an email to [email protected].
> 
> > > 
> 
> > > > To post to this group, send email to [email protected].
> 
> > > 
> 
> > > > Visit this group at http://groups.google.com/group/clojurescript.

-- 
Note that posts from new members are moderated - please be patient with your 
first post.
--- 
You received this message because you are subscribed to the Google Groups 
"ClojureScript" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/clojurescript.

Reply via email to