Alternatively, if I follow instructions from
https://github.com/adzerk/boot-cljs-example ,

then there's no mention of target/index.html, so I directly jump to
http://localhost:3000/ but I get an HTTP 404, so same problem there I think.

command is different than from the blog post:

$ boot serve -d target/ watch speak cljs-repl cljs -usO none reload
Retrieving ring-jetty-adapter-1.3.1.jar from http://clojars.org/repo/
Retrieving ring-core-1.3.1.jar from http://clojars.org/repo/
Retrieving clj-time-0.6.0.jar from http://clojars.org/repo/
Retrieving crypto-random-1.2.0.jar from http://clojars.org/repo/
Retrieving crypto-equality-1.0.0.jar from http://clojars.org/repo/
Retrieving ring-servlet-1.3.1.jar from http://clojars.org/repo/
Retrieving compojure-1.2.1.jar from http://clojars.org/repo/
Retrieving clout-2.0.0.jar from http://clojars.org/repo/
Retrieving instaparse-1.3.4.jar from http://clojars.org/repo/
Retrieving medley-0.5.3.jar from http://clojars.org/repo/
Retrieving ring-codec-1.0.0.jar from http://clojars.org/repo/
Retrieving tools.reader-0.8.1.jar from http://repo1.maven.org/maven2/
Retrieving commons-fileupload-1.3.jar from http://repo1.maven.org/maven2/
Retrieving jetty-server-7.6.13.v20130916.jar from
http://repo1.maven.org/maven2/
Retrieving javax.servlet-2.5.0.v201103041518.jar from
http://repo1.maven.org/maven2/
Retrieving joda-time-2.2.jar from http://repo1.maven.org/maven2/
Retrieving jetty-continuation-7.6.13.v20130916.jar from
http://repo1.maven.org/maven2/
Retrieving jetty-http-7.6.13.v20130916.jar from
http://repo1.maven.org/maven2/
Retrieving jetty-io-7.6.13.v20130916.jar from http://repo1.maven.org/maven2/
Retrieving jetty-util-7.6.13.v20130916.jar from
http://repo1.maven.org/maven2/
Retrieving tools.macro-0.1.5.jar from http://repo1.maven.org/maven2/
Retrieving commons-codec-1.6.jar from http://repo1.maven.org/maven2/
<< started reload server on ws://localhost:8090 >>
2014-11-05 22:59:51.865:INFO:oejs.Server:jetty-7.6.13.v20130916
2014-11-05 22:59:51.928:INFO:oejs.AbstractConnector:Started
SelectChannelConnector@0.0.0.0:3000
<< started web server on http://localhost:3000 (serving: target/) >>
Starting file watcher (CTRL-C to quit)...

nREPL server listening: 0.0.0.0:50475
Compiling main.js...
Adding <script> tags to html...
Elapsed time: 21,374 sec


2014-11-05 22:42 GMT+01:00 Laurent PETIT <laurent.pe...@gmail.com>:

> Thanks Micha for the detailed explanation !
>
> I started following the cljs example, but am stuck right after having
> launched the first boot command: I don't see file target/index.html
>
> The command and output look like this (launched from the boot-cljs-example
> folder):
>
> $ boot watch speak cljs-repl cljs -usO none reload
> Retrieving tagsoup-1.2.1.jar from http://clojars.org/repo/
> Retrieving enlive-1.1.5.jar from http://clojars.org/repo/
> Retrieving jsoup-1.7.2.jar from http://repo1.maven.org/maven2/
> Retrieving args4j-2.0.16.jar from http://repo1.maven.org/maven2/
> Retrieving protobuf-java-2.4.1.jar from http://repo1.maven.org/maven2/
> Retrieving clojurescript-0.0-2080.jar from http://repo1.maven.org/maven2/
> Retrieving closure-compiler-v20130603.jar from
> http://repo1.maven.org/maven2/
> Retrieving google-closure-library-0.0-20130212-95c19e7f0f5f.jar from
> http://repo1.maven.org/maven2/
> Retrieving
> google-closure-library-third-party-0.0-20130212-95c19e7f0f5f.jar from
> http://repo1.maven.org/maven2/
> Retrieving tools.reader-0.8.0.jar from http://repo1.maven.org/maven2/
> << started reload server on ws://localhost:8090 >>
> Starting file watcher (CTRL-C to quit)...
>
> nREPL server listening: 0.0.0.0:50352
> Compiling main.js...
> Adding <script> tags to html...
> Elapsed time: 21,489 sec
>
>
>
> 2014-11-05 1:59 GMT+01:00 Micha Niskin <micha.nis...@gmail.com>:
>
>> Hi, sorry for the late reply! Boot pretty much takes care of that part
>> for you, as long as you follow a few basic rules (I will be adding a “how
>> to be a good citizen of the boot-o-sphere” section to the wiki on github
>> soon):
>>
>>    1.
>>
>>    Tasks don’t fish around in the filesystem directly to find things to
>>    compile or otherwise operate on. Instead, tasks use functions in
>>    boot.core that return immutable sets of java.io.File objects from
>>    boot-managed temp directories. These functions present a sort of overlay
>>    filesystem with files in anonymous temporary directories. This allows 
>> tasks
>>    to be completely decoupled from the filesystem layout. Additionally, this
>>    makes it possible for boot to shuffle files around and use hardlinks and
>>    such to craft the classpath and the build fileset in different ways during
>>    the build cycle. In this way boot can emulate immutability and lexical and
>>    dynamic scope for things on the filesystem.
>>     2.
>>
>>    Tasks don’t create files in the filesystem directly. Instead, tasks
>>    use functions in boot.core that create various flavors of anonymous,
>>    boot-managed temp directories (the ones mentioned in item 1, in fact). An
>>    important concept in boot is that the output of any task is part of the
>>    input for the next task in the pipeline. This is the property that 
>> supports
>>    the amazing composition of tasks that is possible with boot, without
>>    needing to generate miles of boilerplate configuration.
>>     3.
>>
>>    The boot-managed temp directory lifespan is one build session only.
>>    This means one JVM, basically. The temp directories are stored in the
>>    .boot directory in the project root. The next time you run boot it
>>    cleans out any old temp dirs in there (they are not cleaned up on exit
>>    because you may want to look in them if something goes wrong with the
>>    build; stack traces could be referencing source files in these temp dirs).
>>     4.
>>
>>    The only directories that boot knows about that are not temp dirs it
>>    created are the ones you specify in the build.boot file via set-env!
>>    (i.e. the :src-paths, :rsc-paths, and :tgt-path keys). The source and
>>    resource paths are not molested by boot in any way (no files in there are
>>    ever deleted, moved, modified etc.). The target directory, on the other
>>    hand, is completely owned by boot—boot will overwrite files or delete them
>>    in there as it sees fit. Boot ensures that the target directory always
>>    contains only those files the build process emits for that specific run,
>>    and doesn’t allow any stale files to hang out in there.
>>
>> What this all means is that there is something of a tradeoff: boot never
>> persists files that could become stale, so there is no need for a clean
>> task, but on the other hand some things then need to be rebuilt instead of
>> just hanging out in the target dir. We think this is an okay tradeoff
>> because boot’s composition capabilities make it really easy to
>> incrementally run any build process at all using the built-in watch
>> task. In return you get 100% deterministic builds.
>>
>> We’ll be talking about the details of the whole temporary filesystem
>> machinery soon. Have fun playing with boot!
>> ​
>>
>> --
>> Micha Niskin
>>
>> On Mon, Nov 3, 2014 at 5:45 PM, Laurent PETIT <laurent.pe...@gmail.com>
>> wrote:
>>
>>> And more seriously, I remember reading that you put an emphasis on
>>> removing the need to use a clean task.
>>> If I'm right, then I'd be interested in knowing how one is encouraged /
>>> helped to pursue this good property in its own tasks ?
>>>
>>> Le lundi 3 novembre 2014, Laurent PETIT <laurent.pe...@gmail.com> a
>>> écrit :
>>>
>>> Tongue in cheek question: if Leiningen were the maven of clojure, would
>>>> you say boot2 is gradle ? :-)
>>>>
>>>> Le lundi 3 novembre 2014, Micha Niskin <micha.nis...@gmail.com> a
>>>> écrit :
>>>>
>>>>> Hi!
>>>>>
>>>>> Boot (http://github.com/boot-clj/boot) is a build tool for Clojure.
>>>>> We've pulled together lessons learned from a year or so using boot v1 in
>>>>> production and are now getting ready to release v2. To show what boot can
>>>>> do we present a very streamlined and awesome boot-based ClojureScript
>>>>> development workflow (
>>>>> http://adzerk.com/blog/2014/11/clojurescript-builds-rebooted/).
>>>>>
>>>>> Try it out, maybe you'll like it! We're hoping to get some feedback
>>>>> before committing to a stable release, so please if you have any comments
>>>>> or questions we'd be happy to hear them. Have fun!
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Clojure" group.
>>>>> To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com.
>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>
>>>>
>>>>
>>>> --
>>>> Laurent Petit
>>>>
>>>>
>>>
>>> --
>>> Laurent Petit
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Clojure" group.
>>> To post to this group, send email to clojure@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+unsubscr...@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 a topic in the
>>> Google Groups "Clojure" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/clojure/YAckwMSfZkY/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> clojure+unsubscr...@googlegroups.com.
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Laurent Petit
>



-- 
Laurent Petit

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@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+unsubscr...@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+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to