13 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/chapter-1/figwheel_node/project.clj:
--------------------------------------------------------------------------------
1 | (defproject figwheel-node "0.1.0-SNAPSHOT"
2 | :dependencies [[org.clojure/clojure "1.8.0"]
3 | [org.clojure/clojurescript "1.7.228"]]
4 | :plugins [[lein-cljsbuild "1.1.0"]
5 | [lein-figwheel "0.4.0"]]
6 | :clean-targets ^{:protect false} ["out"]
7 | :cljsbuild {
8 | :builds [{:id "server-dev"
9 | :source-paths ["src"]
10 | :figwheel true
11 | :compiler {:main figwheel-node-repl.core
12 | :output-to "out/figwheel_node_repl.js"
13 | :output-dir "out"
14 | :target :nodejs
15 | :optimizations :none
16 | :source-map true}}]}
17 | :figwheel {})
18 |
--------------------------------------------------------------------------------
/chapter-4/domina_project/src/domina_project/core.cljs:
--------------------------------------------------------------------------------
1 | (ns domina-project.core
2 | (:require [domina :as dom]
3 | [domina.css :as css]
4 | [domina.events :as events]))
5 |
6 | (def the-div (css/sel "#a-div"))
7 | (def the-href (dom/html-to-dom ""))
8 | (def the-btn (dom/html-to-dom " evt events/current-target dom/text)]
27 | (js/alert (str "hello world! from : " my-name)))))
28 |
29 | (dom/append! the-div the-btn))
30 |
--------------------------------------------------------------------------------
/chapter-1/piggieback_project/.idea/compiler.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/chapter-4/enfocus_project/src/enfocus_project/core.cljs:
--------------------------------------------------------------------------------
1 | (ns enfocus-project.core
2 | (:require [enfocus.core :as ef]
3 | [enfocus.events :as events]
4 | [enfocus.effects :as effects])
5 | (:require-macros [enfocus.macros :as em]))
6 |
7 | (defn gen-button
8 | [id caption]
9 | (ef/html [(keyword (str "button#" id)) caption]))
10 |
11 | (defn say-hello!
12 | []
13 | (ef/at js/document
14 | ["#a-div"] (ef/content "Hello From Enfocus!")
15 | ["body"] (ef/append (gen-button "btn1" "Click me!"))
16 | ["body"] (ef/append (gen-button "btn2" "Resize the div!"))))
17 |
18 | (em/defaction activate-button! []
19 | ["#btn1"] (events/listen :click #(js/alert "I am Clicked!")))
20 |
21 | (em/defaction resize-div! [param]
22 | ["#a-div"] (effects/chain
23 | (effects/resize param :curheight 500 )
24 | (effects/resize :curwidth (* 2 param) 500)))
25 |
26 | (em/defaction activate-resize! []
27 | ["#btn2"] (events/listen :click #(resize-div! 200)))
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/chapter-1/piggieback_project/project.clj:
--------------------------------------------------------------------------------
1 | (defproject piggieback_project "0.1.0-SNAPSHOT"
2 | :description "FIXME: write description"
3 | :url "http://example.com/FIXME"
4 | :license {:name "Eclipse Public License"
5 | :url "http://www.eclipse.org/legal/epl-v10.html"}
6 | :plugins [[lein-cljsbuild "1.1.3"]]
7 | :cljsbuild {
8 | :builds [{:source-paths ["src"]
9 | :compiler {:main piggieback-project.core
10 | :output-to "out/main.js"
11 | :output-dir "out"
12 | :optimizations :none}}]}
13 | :dependencies [[org.clojure/clojure "1.8.0"]
14 | [org.clojure/clojurescript "1.8.51"]
15 | [weasel "0.7.0" :exclusions [org.clojure/clojurescript]]]
16 | :profiles {:dev {:dependencies [[com.cemerick/piggieback "0.2.1"]
17 | ;[org.clojure/tools.nrepl "0.2.10"]
18 | ]
19 | :repl-options {:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}}})
20 |
--------------------------------------------------------------------------------
/chapter-2/experiment/src/experiment/macros.clj:
--------------------------------------------------------------------------------
1 | (ns experiment.macros
2 | (:require [clojure.zip :as zip]))
3 |
4 | (defn replace-v
5 | "Given a zipper, replace all instances of oldv with newv"
6 | [d oldv newv]
7 | (loop [loc d]
8 | (if (zip/end? loc)
9 | (zip/root loc)
10 | (recur
11 | (zip/next
12 | (if (= (zip/node loc) oldv)
13 | (zip/replace loc newv)
14 | loc))))))
15 |
16 | (defmacro replace-anything
17 | [body oldv newv]
18 | (replace-v (clojure.zip/seq-zip body) oldv newv))
19 |
20 | (defmacro
21 | "Actively throw an exception if something goes wrong when waiting on a channel message."
22 | [expr]
23 | `(experiment.helpers/throw-err (cljs.core.async/! c v)))
25 |
26 | (defn kitten-factory
27 | []
28 | (GET "/kitten-factory"
29 | {:handler (fn [res] (enqueue-val channel res))
30 | :error-handler (fn [err] (enqueue-val channel (js/Error. err)))}))
31 |
32 | (defn listen
33 | []
34 | (async-macros/go
35 | (while true
36 | (js/console.log (async/ goog.module.ModuleManager .getInstance (.setLoaded id)))
46 |
--------------------------------------------------------------------------------
/chapter-7/logic-demo/src/logic_demo/core.cljs:
--------------------------------------------------------------------------------
1 | (ns logic-demo.core
2 | (:require [cljs.core.logic :as l]))
3 |
4 | (l/run* [q]
5 | (l/membero q [1 2 3 4])
6 | (l/membero q [3 4 5 6]))
7 |
8 | (l/run* [q]
9 | (l/== q 5))
10 |
11 | (l/run* [q]
12 | (l/fresh [a]
13 | (l/== a q)
14 | (l/membero a [:animal :mineral :vegetable])
15 | (l/membero q [:animal :plant :fungi :bacteria])))
16 |
17 | (l/run* [q]
18 | (l/fresh [a]
19 | (l/== a q)
20 | (l/membero a [1 2 3 4])
21 | (l/membero q [3 4 5 6])))
22 |
23 | (l/run* [q]
24 | (l/conde
25 | ((l/== q 5) l/succeed)
26 | (l/succeed l/succeed)))
27 |
28 | (l/run* [q]
29 | (l/== q l/fail))
30 |
31 | (l/run* [q]
32 | (l/conde
33 | (l/succeed l/succeed)
34 | (l/succeed l/fail)
35 | (l/fail l/succeed)))
36 |
37 | (l/run* [q]
38 | (l/conde
39 | ((l/== :apricot q) (l/== :scoop q))
40 | ((l/== :banana q) l/succeed)))
41 |
42 | (l/run* [q]
43 | (l/conde
44 | ((l/membero q [:a :b :c]) (l/membero q [:b :c :d]))
45 | ((l/== :banana q) l/succeed)))
46 |
47 | (l/run* [q]
48 | (l/conso 0 [1 2] q))
49 |
50 | (l/run* [q]
51 | (l/conso q [1 2] [0 1 2]))
52 |
53 | (l/run* [q]
54 | (l/conso 0 q [0 1 2]))
55 |
56 | (l/run* [q]
57 | (l/conso 0 [1 q] [0 1 2]))
58 |
59 | (l/run* [q]
60 | (l/resto [1 2 3 4] [2 q 4]))
61 |
62 | (l/run* [q]
63 | (l/membero 1 [q 2 3]))
64 |
65 | (enable-console-print!)
66 |
67 | (println "Edits to this text should show up in your developer console.")
68 |
69 | ;; define your app data so that it doesn't get over-written on reload
70 |
71 | (defonce app-state (atom {:text "Hello world!"}))
72 |
73 |
74 | (defn on-js-reload []
75 | ;; optionally touch your app-state to force rerendering depending on
76 | ;; your application
77 | ;; (swap! app-state update-in [:__figwheel_counter] inc)
78 | )
79 |
--------------------------------------------------------------------------------
/chapter-4/raw_goog/figwheel_server.log:
--------------------------------------------------------------------------------
1 | [0mCompiling "main.js" from ["src"]...
2 | notifying browser that file changed: out/goog/deps.js
3 | notifying browser that file changed: out/cljs_deps.js
4 | notifying browser that file changed: out/raw_dom/core.js
5 | [32mSuccessfully compiled "main.js" in 0.227 seconds.[0m
6 | [0mCompiling "main.js" from ["src"]...
7 | notifying browser that file changed: out/raw_dom/core.js
8 | [32mSuccessfully compiled "main.js" in 0.114 seconds.[0m
9 | [0mCompiling "main.js" from ["src"]...
10 | notifying browser that file changed: out/goog/deps.js
11 | notifying browser that file changed: out/cljs_deps.js
12 | notifying browser that file changed: out/raw_dom/core.js
13 | [32mSuccessfully compiled "main.js" in 0.342 seconds.[0m
14 | [0mCompiling "main.js" from ["src"]...
15 | notifying browser that file changed: out/goog/deps.js
16 | notifying browser that file changed: out/cljs_deps.js
17 | notifying browser that file changed: out/raw_goog/core.js
18 | [32mSuccessfully compiled "main.js" in 0.357 seconds.[0m
19 | [0mCompiling "main.js" from ["src"]...
20 | notifying browser that file changed: out/raw_goog/core.js
21 | [32mSuccessfully compiled "main.js" in 0.19 seconds.[0m
22 | [0mCompiling "main.js" from ["src"]...
23 | notifying browser that file changed: out/raw_goog/core.js
24 | [32mSuccessfully compiled "main.js" in 0.196 seconds.[0m
25 | [0mCompiling "main.js" from ["src"]...
26 | notifying browser that file changed: out/raw_goog/core.js
27 | [32mSuccessfully compiled "main.js" in 0.264 seconds.[0m
28 | [0mCompiling "main.js" from ["src"]...
29 | notifying browser that file changed: out/raw_goog/core.js
30 | [32mSuccessfully compiled "main.js" in 0.215 seconds.[0m
31 | [0mCompiling "main.js" from ["src"]...
32 | notifying browser that file changed: out/raw_goog/core.js
33 | [32mSuccessfully compiled "main.js" in 0.212 seconds.[0m
34 |
--------------------------------------------------------------------------------
/chapter-7/match-demo/src/match_demo/core.cljs:
--------------------------------------------------------------------------------
1 | (ns match-demo.core
2 | (:require [cljs.core.match :refer-macros [match]]))
3 |
4 | (defprotocol foo
5 | (bar [this]))
6 |
7 | (deftype baz []
8 | Object
9 | (bar [this] 5))
10 |
11 | ;; basic
12 | (let [v [:a :a :b]]
13 | (match v
14 | [_ :a :a] 1
15 | [:a :b _ ] 2
16 | [_ _ :a] 3
17 | [_ _ :b] 4
18 | :else 5))
19 |
20 | ;; local bindings
21 | (match [:x :y]
22 | [:y a] a
23 | [b :y] b
24 | :else nil)
25 |
26 | ;; vectors
27 | (match [[:a :b :c]]
28 | [[:a :c _]] 1
29 | [[:b _ :a]] 2
30 | [[_ :b :c]] 3
31 | :else nil)
32 |
33 | ;; maps
34 | (let [v {:x 1 :y 1}]
35 | (match [v]
36 | [{:x _ :y 2}] 1
37 | [{:x 1 :y 1 :z _}] 2
38 | :else "no match found"))
39 |
40 | (let [v {:x 1 :y 1}]
41 | (match [v]
42 | [({:x 1} :only [:x])] true
43 | :else false))
44 |
45 | (let [v {:x {:y :z}}]
46 | (match [v]
47 | [{:x {:y k}}] k
48 | :else nil))
49 |
50 | ;; sequential types
51 | (let [x [1 2 nil nil nil]]
52 | (match [x]
53 | [([1 2] :seq)] :a1
54 | [([1 2 nil nil nil] :seq)] :a2
55 | :else nil))
56 |
57 | ;; rest patterns
58 | (let [x [1 2 nil nil nil]]
59 | (match [x]
60 | [([1 2] :seq)] :a1
61 | [([1 2 & r] :seq)] :a2
62 | :else nil))
63 |
64 | ;; or
65 | (let [x ["a" "b" "c"]]
66 | (match x
67 | ["a" "d" "c"] :a1
68 | ["z" "d" "c"] :a1
69 | ["x" "b" "c"] :a2
70 | ["a" _ "d"] :a3
71 | ["a" _ "c"] :a3
72 | ["z" _ "d"] :a3
73 | ["z" _ "c"] :a3
74 | :else nil))
75 |
76 | ;; guards
77 | (let [x [1 3]]
78 | (match x
79 | [(_ :guard odd?) _] :a1
80 | [(_ :guard even?) (_ :guard even?)] :a2
81 | :else nil))
82 |
83 | ;; general function application
84 | (let [x [1 3]]
85 | (match x
86 | [(2 :<< println) 3] :a1
87 | [1 (2 :<< dec)] :a2
88 | :else nil))
89 |
90 | (enable-console-print!)
91 |
92 | (println "Edits to this text should show up in your developer console.")
93 |
94 | ;; define your app data so that it doesn't get over-written on reload
95 |
96 | (defonce app-state (atom {:text "Hello world!"}))
97 |
98 |
99 | (defn on-js-reload []
100 | ;; optionally touch your app-state to force rerendering depending on
101 | ;; your application
102 | ;; (swap! app-state update-in [:__figwheel_counter] inc)
103 | )
104 |
--------------------------------------------------------------------------------
/chapter-4/garden_project/figwheel_server.log:
--------------------------------------------------------------------------------
1 | [0mCompiling "main.js" from ["src"]...
2 | notifying browser that file changed: out/goog/deps.js
3 | notifying browser that file changed: out/cljs_deps.js
4 | notifying browser that file changed: out/raw_dom/core.js
5 | [32mSuccessfully compiled "main.js" in 0.227 seconds.[0m
6 | [0mCompiling "main.js" from ["src"]...
7 | notifying browser that file changed: out/raw_dom/core.js
8 | [32mSuccessfully compiled "main.js" in 0.114 seconds.[0m
9 | [0mCompiling "main.js" from ["src"]...
10 | notifying browser that file changed: out/goog/deps.js
11 | notifying browser that file changed: out/cljs_deps.js
12 | notifying browser that file changed: out/raw_dom/core.js
13 | [32mSuccessfully compiled "main.js" in 0.342 seconds.[0m
14 | [0mCompiling "main.js" from ["src"]...
15 | notifying browser that file changed: out/goog/deps.js
16 | notifying browser that file changed: out/cljs_deps.js
17 | notifying browser that file changed: out/garden_project/core.js
18 | [32mSuccessfully compiled "main.js" in 0.485 seconds.[0m
19 | [0mCompiling "main.js" from ["src"]...
20 | WARNING: Use of undeclared Var garden-project.core/div at line 9 src/garden_project/core.cljs
21 | WARNING: Use of undeclared Var garden-project.core/p at line 11 src/garden_project/core.cljs
22 | notifying browser that file changed: out/garden_project/core.js
23 | [32mSuccessfully compiled "main.js" in 0.269 seconds.[0m
24 | [0mCompiling "main.js" from ["src"]...
25 | WARNING: Use of undeclared Var garden-project.core/div at line 9 src/garden_project/core.cljs
26 | WARNING: Use of undeclared Var garden-project.core/p at line 11 src/garden_project/core.cljs
27 | notifying browser that file changed: out/garden_project/core.js
28 | [32mSuccessfully compiled "main.js" in 0.232 seconds.[0m
29 | [0mCompiling "main.js" from ["src"]...
30 | notifying browser that file changed: out/garden_project/core.js
31 | [32mSuccessfully compiled "main.js" in 0.237 seconds.[0m
32 | [0mCompiling "main.js" from ["src"]...
33 | notifying browser that file changed: out/garden_project/core.js
34 | [32mSuccessfully compiled "main.js" in 0.223 seconds.[0m
35 | [0mCompiling "main.js" from ["src"]...
36 | notifying browser that file changed: out/garden_project/core.js
37 | [32mSuccessfully compiled "main.js" in 0.245 seconds.[0m
38 | [0mCompiling "main.js" from ["src"]...
39 | [32mSuccessfully compiled "main.js" in 0.132 seconds.[0m
40 | [0mCompiling "main.js" from ["src"]...
41 | notifying browser that file changed: out/garden_project/core.js
42 | [32mSuccessfully compiled "main.js" in 0.208 seconds.[0m
43 |
--------------------------------------------------------------------------------
/chapter-4/hipo_project/figwheel_server.log:
--------------------------------------------------------------------------------
1 | [0mCompiling "main.js" from ["src"]...
2 | notifying browser that file changed: out/goog/deps.js
3 | notifying browser that file changed: out/cljs_deps.js
4 | notifying browser that file changed: out/raw_dom/core.js
5 | [32mSuccessfully compiled "main.js" in 0.227 seconds.[0m
6 | [0mCompiling "main.js" from ["src"]...
7 | notifying browser that file changed: out/raw_dom/core.js
8 | [32mSuccessfully compiled "main.js" in 0.114 seconds.[0m
9 | [0mCompiling "main.js" from ["src"]...
10 | notifying browser that file changed: out/goog/deps.js
11 | notifying browser that file changed: out/cljs_deps.js
12 | notifying browser that file changed: out/raw_dom/core.js
13 | [32mSuccessfully compiled "main.js" in 0.342 seconds.[0m
14 | [0mCompiling "main.js" from ["src"]...
15 | WARNING: Use of undeclared Var hipo-project.core/add-first-menu at line 10 src/hipo_project/core.cljs
16 | notifying browser that file changed: out/goog/deps.js
17 | notifying browser that file changed: out/cljs_deps.js
18 | notifying browser that file changed: out/hipo_project/core.js
19 | [32mSuccessfully compiled "main.js" in 0.452 seconds.[0m
20 | [0mCompiling "main.js" from ["src"]...
21 | WARNING: Use of undeclared Var hipo-project.core/add-first-menu! at line 10 src/hipo_project/core.cljs
22 | notifying browser that file changed: out/hipo_project/core.js
23 | [32mSuccessfully compiled "main.js" in 0.25 seconds.[0m
24 | [0mCompiling "main.js" from ["src"]...
25 | notifying browser that file changed: out/hipo_project/core.js
26 | [32mSuccessfully compiled "main.js" in 0.262 seconds.[0m
27 | [0mCompiling "main.js" from ["src"]...
28 | notifying browser that file changed: out/hipo_project/core.js
29 | [32mSuccessfully compiled "main.js" in 0.237 seconds.[0m
30 | [0mCompiling "main.js" from ["src"]...
31 | WARNING: Wrong number of args (1) passed to hipo.core/reconciliate! at line 14 src/hipo_project/core.cljs
32 | notifying browser that file changed: out/hipo_project/core.js
33 | [32mSuccessfully compiled "main.js" in 0.274 seconds.[0m
34 | [0mCompiling "main.js" from ["src"]...
35 | WARNING: Wrong number of args (1) passed to hipo.core/reconciliate! at line 14 src/hipo_project/core.cljs
36 | notifying browser that file changed: out/hipo_project/core.js
37 | [32mSuccessfully compiled "main.js" in 0.257 seconds.[0m
38 | [0mCompiling "main.js" from ["src"]...
39 | WARNING: Wrong number of args (1) passed to hipo.core/reconciliate! at line 16 src/hipo_project/core.cljs
40 | notifying browser that file changed: out/hipo_project/core.js
41 | [32mSuccessfully compiled "main.js" in 0.248 seconds.[0m
42 | [0mCompiling "main.js" from ["src"]...
43 | notifying browser that file changed: out/hipo_project/core.js
44 | [32mSuccessfully compiled "main.js" in 0.236 seconds.[0m
45 | [0mCompiling "main.js" from ["src"]...
46 | notifying browser that file changed: out/hipo_project/core.js
47 | [32mSuccessfully compiled "main.js" in 0.179 seconds.[0m
48 |
--------------------------------------------------------------------------------
/chapter-1/piggieback_project/piggieback_project.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/chapter-4/domina_project/figwheel_server.log:
--------------------------------------------------------------------------------
1 | [0mCompiling "main.js" from ["src"]...
2 | notifying browser that file changed: out/goog/deps.js
3 | notifying browser that file changed: out/cljs_deps.js
4 | notifying browser that file changed: out/raw_dom/core.js
5 | [32mSuccessfully compiled "main.js" in 0.227 seconds.[0m
6 | [0mCompiling "main.js" from ["src"]...
7 | notifying browser that file changed: out/raw_dom/core.js
8 | [32mSuccessfully compiled "main.js" in 0.114 seconds.[0m
9 | [0mCompiling "main.js" from ["src"]...
10 | notifying browser that file changed: out/goog/deps.js
11 | notifying browser that file changed: out/cljs_deps.js
12 | notifying browser that file changed: out/raw_dom/core.js
13 | [32mSuccessfully compiled "main.js" in 0.342 seconds.[0m
14 | [0mCompiling "main.js" from ["src"]...
15 | notifying browser that file changed: out/goog/deps.js
16 | notifying browser that file changed: out/cljs_deps.js
17 | notifying browser that file changed: out/domina_project/core.js
18 | [32mSuccessfully compiled "main.js" in 1.303 seconds.[0m
19 | [0mCompiling "main.js" from ["src"]...
20 | notifying browser that file changed: out/domina_project/core.js
21 | [32mSuccessfully compiled "main.js" in 0.164 seconds.[0m
22 | [0mCompiling "main.js" from ["src"]...
23 | notifying browser that file changed: out/domina_project/core.js
24 | [32mSuccessfully compiled "main.js" in 0.275 seconds.[0m
25 | [0mCompiling "main.js" from ["src"]...
26 | notifying browser that file changed: out/domina_project/core.js
27 | [32mSuccessfully compiled "main.js" in 0.146 seconds.[0m
28 | [0mCompiling "main.js" from ["src"]...
29 | notifying browser that file changed: out/domina_project/core.js
30 | [32mSuccessfully compiled "main.js" in 0.158 seconds.[0m
31 | [0mCompiling "main.js" from ["src"]...
32 | notifying browser that file changed: out/domina_project/core.js
33 | [32mSuccessfully compiled "main.js" in 0.141 seconds.[0m
34 | [0mCompiling "main.js" from ["src"]...
35 | notifying browser that file changed: out/domina_project/core.js
36 | [32mSuccessfully compiled "main.js" in 0.137 seconds.[0m
37 | [0mCompiling "main.js" from ["src"]...
38 | notifying browser that file changed: out/domina_project/core.js
39 | [32mSuccessfully compiled "main.js" in 0.206 seconds.[0m
40 | [0mCompiling "main.js" from ["src"]...
41 | notifying browser that file changed: out/domina_project/core.js
42 | [32mSuccessfully compiled "main.js" in 0.127 seconds.[0m
43 | [0mCompiling "main.js" from ["src"]...
44 | notifying browser that file changed: out/domina_project/core.js
45 | [32mSuccessfully compiled "main.js" in 0.16 seconds.[0m
46 | [0mCompiling "main.js" from ["src"]...
47 | notifying browser that file changed: out/goog/deps.js
48 | notifying browser that file changed: out/cljs_deps.js
49 | notifying browser that file changed: out/domina_project/core.js
50 | [32mSuccessfully compiled "main.js" in 0.375 seconds.[0m
51 | [0mCompiling "main.js" from ["src"]...
52 | notifying browser that file changed: out/goog/deps.js
53 | notifying browser that file changed: out/cljs_deps.js
54 | notifying browser that file changed: out/domina_project/core.js
55 | [32mSuccessfully compiled "main.js" in 0.301 seconds.[0m
56 |
--------------------------------------------------------------------------------
/chapter-7/logic-demo/project.clj:
--------------------------------------------------------------------------------
1 | (defproject logic-demo "0.1.0-SNAPSHOT"
2 | :description "FIXME: write this!"
3 | :url "http://example.com/FIXME"
4 | :license {:name "Eclipse Public License"
5 | :url "http://www.eclipse.org/legal/epl-v10.html"}
6 |
7 | :min-lein-version "2.5.3"
8 |
9 | :dependencies [[org.clojure/clojure "1.7.0"]
10 | [org.clojure/core.logic "0.8.10"]
11 | [org.clojure/clojurescript "1.7.170"]
12 | [org.clojure/core.async "0.2.374"
13 | :exclusions [org.clojure/tools.reader]]]
14 |
15 | :plugins [[lein-figwheel "0.5.0-6"]
16 | [lein-cljsbuild "1.1.2" :exclusions [[org.clojure/clojure]]]]
17 |
18 | :source-paths ["src"]
19 |
20 | :clean-targets ^{:protect false} ["resources/public/js/compiled" "target"]
21 |
22 | :cljsbuild {:builds
23 | [{:id "dev"
24 | :source-paths ["src"]
25 |
26 | ;; If no code is to be run, set :figwheel true for continued automagical reloading
27 | :figwheel {:on-jsload "logic-demo.core/on-js-reload"}
28 |
29 | :compiler {:main logic-demo.core
30 | :asset-path "js/compiled/out"
31 | :output-to "resources/public/js/compiled/logic_demo.js"
32 | :output-dir "resources/public/js/compiled/out"
33 | :source-map-timestamp true}}
34 | ;; This next build is an compressed minified build for
35 | ;; production. You can build this with:
36 | ;; lein cljsbuild once min
37 | {:id "min"
38 | :source-paths ["src"]
39 | :compiler {:output-to "resources/public/js/compiled/logic_demo.js"
40 | :main logic-demo.core
41 | :optimizations :advanced
42 | :pretty-print false}}]}
43 |
44 | :figwheel {;; :http-server-root "public" ;; default and assumes "resources"
45 | ;; :server-port 3449 ;; default
46 | ;; :server-ip "127.0.0.1"
47 |
48 | :css-dirs ["resources/public/css"] ;; watch and update CSS
49 |
50 | ;; Start an nREPL server into the running figwheel process
51 | ;; :nrepl-port 7888
52 |
53 | ;; Server Ring Handler (optional)
54 | ;; if you want to embed a ring handler into the figwheel http-kit
55 | ;; server, this is for simple ring servers, if this
56 | ;; doesn't work for you just run your own server :)
57 | ;; :ring-handler hello_world.server/handler
58 |
59 | ;; To be able to open files in your editor from the heads up display
60 | ;; you will need to put a script on your path.
61 | ;; that script will have to take a file path and a line number
62 | ;; ie. in ~/bin/myfile-opener
63 | ;; #! /bin/sh
64 | ;; emacsclient -n +$2 $1
65 | ;;
66 | ;; :open-file-command "myfile-opener"
67 |
68 | ;; if you want to disable the REPL
69 | ;; :repl false
70 |
71 | ;; to configure a different figwheel logfile path
72 | ;; :server-logfile "tmp/logs/figwheel-logfile.log"
73 | })
74 |
--------------------------------------------------------------------------------
/chapter-7/schema-demo/project.clj:
--------------------------------------------------------------------------------
1 | (defproject schema-demo "0.1.0-SNAPSHOT"
2 | :description "FIXME: write this!"
3 | :url "http://example.com/FIXME"
4 | :license {:name "Eclipse Public License"
5 | :url "http://www.eclipse.org/legal/epl-v10.html"}
6 |
7 | :min-lein-version "2.5.3"
8 |
9 | :dependencies [[org.clojure/clojure "1.7.0"]
10 | [org.clojure/clojurescript "1.7.170"]
11 | [prismatic/schema "1.0.4"]
12 | [org.clojure/core.async "0.2.374"
13 | :exclusions [org.clojure/tools.reader]]]
14 |
15 | :plugins [[lein-figwheel "0.5.0-6"]
16 | [lein-cljsbuild "1.1.2" :exclusions [[org.clojure/clojure]]]]
17 |
18 | :source-paths ["src"]
19 |
20 | :clean-targets ^{:protect false} ["resources/public/js/compiled" "target"]
21 |
22 | :cljsbuild {:builds
23 | [{:id "dev"
24 | :source-paths ["src"]
25 |
26 | ;; If no code is to be run, set :figwheel true for continued automagical reloading
27 | :figwheel {:on-jsload "schema-demo.core/on-js-reload"}
28 |
29 | :compiler {:main schema-demo.core
30 | :asset-path "js/compiled/out"
31 | :output-to "resources/public/js/compiled/schema_demo.js"
32 | :output-dir "resources/public/js/compiled/out"
33 | :source-map-timestamp true}}
34 | ;; This next build is an compressed minified build for
35 | ;; production. You can build this with:
36 | ;; lein cljsbuild once min
37 | {:id "min"
38 | :source-paths ["src"]
39 | :compiler {:output-to "resources/public/js/compiled/schema_demo.js"
40 | :main schema-demo.core
41 | :optimizations :advanced
42 | :pretty-print false}}]}
43 |
44 | :figwheel {;; :http-server-root "public" ;; default and assumes "resources"
45 | ;; :server-port 3449 ;; default
46 | ;; :server-ip "127.0.0.1"
47 |
48 | :css-dirs ["resources/public/css"] ;; watch and update CSS
49 |
50 | ;; Start an nREPL server into the running figwheel process
51 | ;; :nrepl-port 7888
52 |
53 | ;; Server Ring Handler (optional)
54 | ;; if you want to embed a ring handler into the figwheel http-kit
55 | ;; server, this is for simple ring servers, if this
56 | ;; doesn't work for you just run your own server :)
57 | ;; :ring-handler hello_world.server/handler
58 |
59 | ;; To be able to open files in your editor from the heads up display
60 | ;; you will need to put a script on your path.
61 | ;; that script will have to take a file path and a line number
62 | ;; ie. in ~/bin/myfile-opener
63 | ;; #! /bin/sh
64 | ;; emacsclient -n +$2 $1
65 | ;;
66 | ;; :open-file-command "myfile-opener"
67 |
68 | ;; if you want to disable the REPL
69 | ;; :repl false
70 |
71 | ;; to configure a different figwheel logfile path
72 | ;; :server-logfile "tmp/logs/figwheel-logfile.log"
73 | })
74 |
--------------------------------------------------------------------------------
/chapter-7/match-demo/project.clj:
--------------------------------------------------------------------------------
1 | (defproject match-demo "0.1.0-SNAPSHOT"
2 | :description "FIXME: write this!"
3 | :url "http://example.com/FIXME"
4 | :license {:name "Eclipse Public License"
5 | :url "http://www.eclipse.org/legal/epl-v10.html"}
6 |
7 | :min-lein-version "2.5.3"
8 |
9 | :dependencies [[org.clojure/clojure "1.7.0"]
10 | [org.clojure/clojurescript "1.7.170"]
11 | [org.clojure/core.match "0.3.0-alpha4"]
12 | [org.clojure/core.async "0.2.374"
13 | :exclusions [org.clojure/tools.reader]]]
14 |
15 | :plugins [[lein-figwheel "0.5.0-6"]
16 | [lein-cljsbuild "1.1.2" :exclusions [[org.clojure/clojure]]]]
17 |
18 | :source-paths ["src"]
19 |
20 | :clean-targets ^{:protect false} ["resources/public/js/compiled" "target"]
21 |
22 | :cljsbuild {:builds
23 | [{:id "dev"
24 | :source-paths ["src"]
25 |
26 | ;; If no code is to be run, set :figwheel true for continued automagical reloading
27 | :figwheel {:on-jsload "match-demo.core/on-js-reload"}
28 |
29 | :compiler {:main match-demo.core
30 | :asset-path "js/compiled/out"
31 | :output-to "resources/public/js/compiled/match_demo.js"
32 | :output-dir "resources/public/js/compiled/out"
33 | :source-map-timestamp true}}
34 | ;; This next build is an compressed minified build for
35 | ;; production. You can build this with:
36 | ;; lein cljsbuild once min
37 | {:id "min"
38 | :source-paths ["src"]
39 | :compiler {:output-to "resources/public/js/compiled/match_demo.js"
40 | :main match-demo.core
41 | :optimizations :advanced
42 | :pretty-print false}}]}
43 |
44 | :figwheel {;; :http-server-root "public" ;; default and assumes "resources"
45 | ;; :server-port 3449 ;; default
46 | ;; :server-ip "127.0.0.1"
47 |
48 | :css-dirs ["resources/public/css"] ;; watch and update CSS
49 |
50 | ;; Start an nREPL server into the running figwheel process
51 | ;; :nrepl-port 7888
52 |
53 | ;; Server Ring Handler (optional)
54 | ;; if you want to embed a ring handler into the figwheel http-kit
55 | ;; server, this is for simple ring servers, if this
56 | ;; doesn't work for you just run your own server :)
57 | ;; :ring-handler hello_world.server/handler
58 |
59 | ;; To be able to open files in your editor from the heads up display
60 | ;; you will need to put a script on your path.
61 | ;; that script will have to take a file path and a line number
62 | ;; ie. in ~/bin/myfile-opener
63 | ;; #! /bin/sh
64 | ;; emacsclient -n +$2 $1
65 | ;;
66 | ;; :open-file-command "myfile-opener"
67 |
68 | ;; if you want to disable the REPL
69 | ;; :repl false
70 |
71 | ;; to configure a different figwheel logfile path
72 | ;; :server-logfile "tmp/logs/figwheel-logfile.log"
73 | })
74 |
--------------------------------------------------------------------------------
/chapter-2/experiment/project.clj:
--------------------------------------------------------------------------------
1 | (defproject experiment "0.1.0-SNAPSHOT"
2 | :description "FIXME: write this!"
3 | :url "http://example.com/FIXME"
4 | :license {:name "Eclipse Public License"
5 | :url "http://www.eclipse.org/legal/epl-v10.html"}
6 |
7 | :dependencies [[org.clojure/clojure "1.7.0"]
8 | [org.clojure/core.match "0.3.0-alpha4"]
9 | [org.clojure/core.logic "0.8.10"]
10 | [org.clojure/clojurescript "1.7.170"]
11 | [org.clojure/core.async "0.2.374"]
12 | [cljs-ajax "0.5.3"]]
13 |
14 | :plugins [[lein-cljsbuild "1.1.1"]
15 | [lein-figwheel "0.5.0-1"]]
16 |
17 | :source-paths ["src"]
18 |
19 | :clean-targets ^{:protect false} ["resources/public/js/compiled" "target"]
20 |
21 | :cljsbuild {:builds
22 | [{:id "dev"
23 | :source-paths ["src"]
24 |
25 | :figwheel {:on-jsload "experiment.core/on-js-reload"}
26 |
27 | :compiler {:main experiment.core
28 | :asset-path "js/compiled/out"
29 | :output-to "resources/public/js/compiled/experiment.js"
30 | :output-dir "resources/public/js/compiled/out"
31 | :source-map-timestamp true}}
32 | ;; This next build is an compressed minified build for
33 | ;; production. You can build this with:
34 | ;; lein cljsbuild once min
35 | {:id "min"
36 | :source-paths ["src"]
37 | :compiler {:output-to "resources/public/js/compiled/experiment.js"
38 | :main experiment.core
39 | :externs ["treeact-externs.js"]
40 | :foreign-libs [{:file "treeact.js"
41 | :provides ["t"]}]
42 | :optimizations :advanced
43 | :pretty-print false}}]}
44 |
45 | :figwheel {;; :http-server-root "public" ;; default and assumes "resources"
46 | ;; :server-port 3449 ;; default
47 | ;; :server-ip "127.0.0.1"
48 |
49 | :css-dirs ["resources/public/css"] ;; watch and update CSS
50 |
51 | ;; Start an nREPL server into the running figwheel process
52 | ;; :nrepl-port 7888
53 |
54 | ;; Server Ring Handler (optional)
55 | ;; if you want to embed a ring handler into the figwheel http-kit
56 | ;; server, this is for simple ring servers, if this
57 | ;; doesn't work for you just run your own server :)
58 | ;; :ring-handler hello_world.server/handler
59 |
60 | ;; To be able to open files in your editor from the heads up display
61 | ;; you will need to put a script on your path.
62 | ;; that script will have to take a file path and a line number
63 | ;; ie. in ~/bin/myfile-opener
64 | ;; #! /bin/sh
65 | ;; emacsclient -n +$2 $1
66 | ;;
67 | ;; :open-file-command "myfile-opener"
68 |
69 | ;; if you want to disable the REPL
70 | ;; :repl false
71 |
72 | ;; to configure a different figwheel logfile path
73 | ;; :server-logfile "tmp/logs/figwheel-logfile.log"
74 | })
75 |
--------------------------------------------------------------------------------
/chapter-1/piggieback_project/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
--------------------------------------------------------------------------------
/chapter-8/testing/project.clj:
--------------------------------------------------------------------------------
1 | (defproject testing "0.1.0-SNAPSHOT"
2 | :description "FIXME: write this!"
3 | :url "http://example.com/FIXME"
4 | :license {:name "Eclipse Public License"
5 | :url "http://www.eclipse.org/legal/epl-v10.html"}
6 |
7 | :min-lein-version "2.6.1"
8 |
9 | :dependencies [[org.clojure/clojure "1.8.0"]
10 | [org.clojure/clojurescript "1.7.228"]
11 | [cljs-ajax "0.5.4"]
12 | [doo "0.1.6"]
13 | [org.clojure/core.async "0.2.374"
14 | :exclusions [org.clojure/tools.reader]]]
15 |
16 | :plugins [[lein-figwheel "0.5.2"]
17 | [lein-doo "0.1.6"]
18 | [lein-cljsbuild "1.1.3" :exclusions [[org.clojure/clojure]]]]
19 |
20 | :source-paths ["src"]
21 |
22 | :clean-targets ^{:protect false} ["resources/public/js/compiled" "target"]
23 |
24 | :cljsbuild {:builds
25 | [{:id "dev"
26 | :source-paths ["src" "test"]
27 |
28 | ;; If no code is to be run, set :figwheel true for continued automagical reloading
29 | :figwheel {:on-jsload "testing.core/on-js-reload"}
30 |
31 | :compiler {:main testing.core
32 | :asset-path "js/compiled/out"
33 | :output-to "resources/public/js/compiled/testing.js"
34 | :output-dir "resources/public/js/compiled/out"
35 | :source-map-timestamp true}}
36 | {:id "test"
37 | :source-paths ["src" "test"]
38 | :compiler {:main testing.test-runner
39 | :output-to "resources/public/js/compiled/testing_test.js"
40 | :optimizations :none}}
41 | ;; This next build is an compressed minified build for
42 | ;; production. You can build this with:
43 | ;; lein cljsbuild once min
44 | {:id "min"
45 | :source-paths ["src"]
46 | :compiler {:output-to "resources/public/js/compiled/testing.js"
47 | :main testing.core
48 | :optimizations :advanced
49 | :pretty-print false}}]}
50 |
51 | :figwheel {;; :http-server-root "public" ;; default and assumes "resources"
52 | ;; :server-port 3449 ;; default
53 | ;; :server-ip "127.0.0.1"
54 |
55 | :css-dirs ["resources/public/css"] ;; watch and update CSS
56 |
57 | ;; Start an nREPL server into the running figwheel process
58 | ;; :nrepl-port 7888
59 |
60 | ;; Server Ring Handler (optional)
61 | ;; if you want to embed a ring handler into the figwheel http-kit
62 | ;; server, this is for simple ring servers, if this
63 | ;; doesn't work for you just run your own server :)
64 | ;; :ring-handler hello_world.server/handler
65 |
66 | ;; To be able to open files in your editor from the heads up display
67 | ;; you will need to put a script on your path.
68 | ;; that script will have to take a file path and a line number
69 | ;; ie. in ~/bin/myfile-opener
70 | ;; #! /bin/sh
71 | ;; emacsclient -n +$2 $1
72 | ;;
73 | ;; :open-file-command "myfile-opener"
74 |
75 | ;; if you want to disable the REPL
76 | ;; :repl false
77 |
78 | ;; to configure a different figwheel logfile path
79 | ;; :server-logfile "tmp/logs/figwheel-logfile.log"
80 | })
81 |
--------------------------------------------------------------------------------
/chapter-6/cljs-modules/project.clj:
--------------------------------------------------------------------------------
1 | (defproject cljs-modules "0.1.0-SNAPSHOT"
2 | :description "FIXME: write this!"
3 | :url "http://example.com/FIXME"
4 | :license {:name "Eclipse Public License"
5 | :url "http://www.eclipse.org/legal/epl-v10.html"}
6 |
7 | :min-lein-version "2.6.1"
8 |
9 | :dependencies [[bidi "2.0.3"]
10 | [org.clojure/clojure "1.8.0"]
11 | [org.clojure/clojurescript "1.7.228"]
12 | [org.clojure/core.async "0.2.374"
13 | :exclusions [org.clojure/tools.reader]]
14 | [org.omcljs/om "0.9.0"]
15 | [ring "1.4.0"]
16 | [ring/ring-jetty-adapter "1.4.0"]
17 | [venantius/accountant "0.1.7"]]
18 |
19 | :plugins [[lein-figwheel "0.5.2"]
20 | [lein-cljsbuild "1.1.3" :exclusions [[org.clojure/clojure]]]]
21 |
22 | :source-paths ["src"]
23 |
24 | :clean-targets ^{:protect false} ["resources/public/js/compiled" "target"]
25 |
26 | :cljsbuild {:builds
27 | [{:id "dev"
28 | :source-paths ["src"]
29 |
30 | ;; If no code is to be run, set :figwheel true for continued automagical reloading
31 | :figwheel {:on-jsload "cljs-modules.core/on-js-reload"}
32 |
33 | :compiler {:main cljs-modules.core
34 | :asset-path "js/compiled/out"
35 | :output-to "resources/public/js/compiled/cljs_base.js"
36 | :output-dir "resources/public/js/compiled/out"
37 | :source-map-timestamp true}}
38 | ;; This next build is an compressed minified build for
39 | ;; production. You can build this with:
40 | ;; lein cljsbuild once min
41 | {:id "min"
42 | :source-paths ["src"]
43 | :compiler {:output-dir "resources/public/js/compiled"
44 | :main cljs-modules.core
45 | :optimizations :advanced
46 | :modules {:outer {:output-to "resources/public/js/compiled/outer.js"
47 | :entries #{"cljs-modules.outer"}}
48 | :inner {:output-to "resources/public/js/compiled/inner.js"
49 | :entries #{"cljs-modules.inner"}}}
50 | :pretty-print false}}]}
51 |
52 | :figwheel {;; :http-server-root "public" ;; default and assumes "resources"
53 | ;; :server-port 3449 ;; default
54 | ;; :server-ip "127.0.0.1"
55 |
56 | :css-dirs ["resources/public/css"] ;; watch and update CSS
57 |
58 | ;; Start an nREPL server into the running figwheel process
59 | ;; :nrepl-port 7888
60 |
61 | ;; Server Ring Handler (optional)
62 | ;; if you want to embed a ring handler into the figwheel http-kit
63 | ;; server, this is for simple ring servers, if this
64 | ;; doesn't work for you just run your own server :)
65 | ;; :ring-handler hello_world.server/handler
66 |
67 | ;; To be able to open files in your editor from the heads up display
68 | ;; you will need to put a script on your path.
69 | ;; that script will have to take a file path and a line number
70 | ;; ie. in ~/bin/myfile-opener
71 | ;; #! /bin/sh
72 | ;; emacsclient -n +$2 $1
73 | ;;
74 | ;; :open-file-command "myfile-opener"
75 |
76 | ;; if you want to disable the REPL
77 | ;; :repl false
78 |
79 | ;; to configure a different figwheel logfile path
80 | ;; :server-logfile "tmp/logs/figwheel-logfile.log"
81 | })
82 |
--------------------------------------------------------------------------------
/chapter-4/dommy_project/figwheel_server.log:
--------------------------------------------------------------------------------
1 | [0mCompiling "main.js" from ["src"]...
2 | notifying browser that file changed: out/goog/deps.js
3 | notifying browser that file changed: out/cljs_deps.js
4 | notifying browser that file changed: out/raw_dom/core.js
5 | [32mSuccessfully compiled "main.js" in 0.227 seconds.[0m
6 | [0mCompiling "main.js" from ["src"]...
7 | notifying browser that file changed: out/raw_dom/core.js
8 | [32mSuccessfully compiled "main.js" in 0.114 seconds.[0m
9 | [0mCompiling "main.js" from ["src"]...
10 | notifying browser that file changed: out/goog/deps.js
11 | notifying browser that file changed: out/cljs_deps.js
12 | notifying browser that file changed: out/raw_dom/core.js
13 | [32mSuccessfully compiled "main.js" in 0.342 seconds.[0m
14 | [0mCompiling "main.js" from ["src"]...
15 | notifying browser that file changed: out/goog/deps.js
16 | notifying browser that file changed: out/cljs_deps.js
17 | notifying browser that file changed: out/dommy_project/core.js
18 | [32mSuccessfully compiled "main.js" in 0.496 seconds.[0m
19 | [0mCompiling "main.js" from ["src"]...
20 | notifying browser that file changed: out/dommy_project/core.js
21 | [32mSuccessfully compiled "main.js" in 0.275 seconds.[0m
22 | [0mCompiling "main.js" from ["src"]...
23 | notifying browser that file changed: out/dommy_project/core.js
24 | [32mSuccessfully compiled "main.js" in 0.229 seconds.[0m
25 | [0mCompiling "main.js" from ["src"]...
26 | notifying browser that file changed: out/dommy_project/core.js
27 | [32mSuccessfully compiled "main.js" in 0.182 seconds.[0m
28 | [0mCompiling "main.js" from ["src"]...
29 | notifying browser that file changed: out/dommy_project/core.js
30 | [32mSuccessfully compiled "main.js" in 0.225 seconds.[0m
31 | [0mCompiling "main.js" from ["src"]...
32 | notifying browser that file changed: out/dommy_project/core.js
33 | [32mSuccessfully compiled "main.js" in 0.27 seconds.[0m
34 | [0mCompiling "main.js" from ["src"]...
35 | notifying browser that file changed: out/dommy_project/core.js
36 | [32mSuccessfully compiled "main.js" in 0.195 seconds.[0m
37 | [0mCompiling "main.js" from ["src"]...
38 | notifying browser that file changed: out/dommy_project/core.js
39 | [32mSuccessfully compiled "main.js" in 0.195 seconds.[0m
40 | [0mCompiling "main.js" from ["src"]...
41 | [31mCompiling "main.js" failed.
42 | [0mANALYSIS ERROR: Wrong number of args (2) passed to: core/sel1 at line 20 src/dommy_project/core.cljs on file src/dommy_project/core.cljs, line 20, column 17
43 | [32mSuccessfully compiled "main.js" in 0.087 seconds.[0m
44 | [0mCompiling "main.js" from ["src"]...
45 | [31mCompiling "main.js" failed.
46 | [0mANALYSIS ERROR: Wrong number of args (2) passed to: core/sel1 at line 20 src/dommy_project/core.cljs on file src/dommy_project/core.cljs, line 20, column 17
47 | [32mSuccessfully compiled "main.js" in 0.074 seconds.[0m
48 | [0mCompiling "main.js" from ["src"]...
49 | notifying browser that file changed: out/dommy_project/core.js
50 | [32mSuccessfully compiled "main.js" in 0.317 seconds.[0m
51 | [0mCompiling "main.js" from ["src"]...
52 | notifying browser that file changed: out/dommy_project/core.js
53 | [32mSuccessfully compiled "main.js" in 0.184 seconds.[0m
54 | [0mCompiling "main.js" from ["src"]...
55 | notifying browser that file changed: out/dommy_project/core.js
56 | [32mSuccessfully compiled "main.js" in 0.183 seconds.[0m
57 | [0mCompiling "main.js" from ["src"]...
58 | notifying browser that file changed: out/dommy_project/core.js
59 | [32mSuccessfully compiled "main.js" in 0.121 seconds.[0m
60 | [0mCompiling "main.js" from ["src"]...
61 | notifying browser that file changed: out/dommy_project/core.js
62 | [32mSuccessfully compiled "main.js" in 0.144 seconds.[0m
63 | [0mCompiling "main.js" from ["src"]...
64 | notifying browser that file changed: out/dommy_project/core.js
65 | [32mSuccessfully compiled "main.js" in 0.129 seconds.[0m
66 | [0mCompiling "main.js" from ["src"]...
67 | notifying browser that file changed: out/dommy_project/core.js
68 | [32mSuccessfully compiled "main.js" in 0.297 seconds.[0m
69 | [0mCompiling "main.js" from ["src"]...
70 | WARNING: Wrong number of args (1) passed to dommy.core/set-text! at line 18 src/dommy_project/core.cljs
71 | notifying browser that file changed: out/dommy_project/core.js
72 | [32mSuccessfully compiled "main.js" in 0.17 seconds.[0m
73 | [0mCompiling "main.js" from ["src"]...
74 | notifying browser that file changed: out/dommy_project/core.js
75 | [32mSuccessfully compiled "main.js" in 0.127 seconds.[0m
76 | [0mCompiling "main.js" from ["src"]...
77 | notifying browser that file changed: out/dommy_project/core.js
78 | [32mSuccessfully compiled "main.js" in 0.128 seconds.[0m
79 | [0mCompiling "main.js" from ["src"]...
80 | notifying browser that file changed: out/dommy_project/core.js
81 | [32mSuccessfully compiled "main.js" in 0.136 seconds.[0m
82 |
--------------------------------------------------------------------------------
/chapter-4/enfocus_project/figwheel_server.log:
--------------------------------------------------------------------------------
1 | [0mCompiling "main.js" from ["src"]...
2 | notifying browser that file changed: out/goog/deps.js
3 | notifying browser that file changed: out/cljs_deps.js
4 | notifying browser that file changed: out/raw_dom/core.js
5 | [32mSuccessfully compiled "main.js" in 0.227 seconds.[0m
6 | [0mCompiling "main.js" from ["src"]...
7 | notifying browser that file changed: out/raw_dom/core.js
8 | [32mSuccessfully compiled "main.js" in 0.114 seconds.[0m
9 | [0mCompiling "main.js" from ["src"]...
10 | notifying browser that file changed: out/goog/deps.js
11 | notifying browser that file changed: out/cljs_deps.js
12 | notifying browser that file changed: out/raw_dom/core.js
13 | [32mSuccessfully compiled "main.js" in 0.342 seconds.[0m
14 | [0mCompiling "main.js" from ["src"]...
15 | notifying browser that file changed: out/goog/deps.js
16 | notifying browser that file changed: out/cljs_deps.js
17 | notifying browser that file changed: out/enfocus_project/core.js
18 | [32mSuccessfully compiled "main.js" in 0.222 seconds.[0m
19 | [0mCompiling "main.js" from ["src"]...
20 | notifying browser that file changed: out/enfocus_project/core.js
21 | [32mSuccessfully compiled "main.js" in 0.157 seconds.[0m
22 | [0mCompiling "main.js" from ["src"]...
23 | notifying browser that file changed: out/enfocus_project/core.js
24 | [32mSuccessfully compiled "main.js" in 0.127 seconds.[0m
25 | [0mCompiling "main.js" from ["src"]...
26 | notifying browser that file changed: out/enfocus_project/core.js
27 | [32mSuccessfully compiled "main.js" in 0.131 seconds.[0m
28 | [0mCompiling "main.js" from ["src"]...
29 | notifying browser that file changed: out/enfocus_project/core.js
30 | [32mSuccessfully compiled "main.js" in 0.174 seconds.[0m
31 | [0mCompiling "main.js" from ["src"]...
32 | notifying browser that file changed: out/enfocus_project/core.js
33 | [32mSuccessfully compiled "main.js" in 0.141 seconds.[0m
34 | [0mCompiling "main.js" from ["src"]...
35 | [31mCompiling "main.js" failed.
36 | [0mERROR: EOF while reading string on file /home/rafik/Dropbox/Learning ClojureScript Book/The Chapters/Chapter 4/enfocus_project/src/enfocus_project/core.cljs, line 18, column 1
37 | [32mSuccessfully compiled "main.js" in 0.096 seconds.[0m
38 | [0mCompiling "main.js" from ["src"]...
39 | [31mCompiling "main.js" failed.
40 | [0mERROR: EOF while reading, starting at line 10 and column 1 on file /home/rafik/Dropbox/Learning ClojureScript Book/The Chapters/Chapter 4/enfocus_project/src/enfocus_project/core.cljs, line 18, column 1
41 | [32mSuccessfully compiled "main.js" in 0.07 seconds.[0m
42 | [0mCompiling "main.js" from ["src"]...
43 | [31mCompiling "main.js" failed.
44 | [0mERROR: EOF while reading, starting at line 10 and column 1 on file /home/rafik/Dropbox/Learning ClojureScript Book/The Chapters/Chapter 4/enfocus_project/src/enfocus_project/core.cljs, line 18, column 1
45 | [32mSuccessfully compiled "main.js" in 0.074 seconds.[0m
46 | [0mCompiling "main.js" from ["src"]...
47 | [31mCompiling "main.js" failed.
48 | [0mANALYSIS ERROR: Wrong number of args (2) passed to: core/let at line 13 src/enfocus_project/core.cljs on file src/enfocus_project/core.cljs, line 13, column 3
49 | [32mSuccessfully compiled "main.js" in 0.072 seconds.[0m
50 | [0mCompiling "main.js" from ["src"]...
51 | notifying browser that file changed: out/enfocus_project/core.js
52 | [32mSuccessfully compiled "main.js" in 0.176 seconds.[0m
53 | [0mCompiling "main.js" from ["src"]...
54 | WARNING: Use of undeclared Var enfocus_project.core/deftemcreate-btn at line 7 /home/rafik/Dropbox/Learning ClojureScript Book/The Chapters/Chapter 4/enfocus_project/src/enfocus_project/core.cljs
55 | notifying browser that file changed: out/goog/deps.js
56 | notifying browser that file changed: out/cljs_deps.js
57 | notifying browser that file changed: out/enfocus_project/core.js
58 | [32mSuccessfully compiled "main.js" in 0.391 seconds.[0m
59 | [0mCompiling "main.js" from ["src"]...
60 | notifying browser that file changed: out/goog/deps.js
61 | notifying browser that file changed: out/cljs_deps.js
62 | notifying browser that file changed: out/enfocus_project/core.js
63 | [32mSuccessfully compiled "main.js" in 0.239 seconds.[0m
64 | [0mCompiling "main.js" from ["src"]...
65 | notifying browser that file changed: out/enfocus_project/core.js
66 | [32mSuccessfully compiled "main.js" in 0.185 seconds.[0m
67 | [0mCompiling "main.js" from ["src"]...
68 | notifying browser that file changed: out/goog/deps.js
69 | notifying browser that file changed: out/cljs_deps.js
70 | notifying browser that file changed: out/enfocus_project/core.js
71 | [32mSuccessfully compiled "main.js" in 0.308 seconds.[0m
72 | [0mCompiling "main.js" from ["src"]...
73 | [31mCompiling "main.js" failed.
74 | [0mANALYSIS ERROR: Parameter declaration "ef/html" should be a vector at line 7 src/enfocus_project/core.cljs on file src/enfocus_project/core.cljs, line 7, column 1
75 | [32mSuccessfully compiled "main.js" in 0.122 seconds.[0m
76 | [0mCompiling "main.js" from ["src"]...
77 | notifying browser that file changed: out/goog/deps.js
78 | notifying browser that file changed: out/cljs_deps.js
79 | notifying browser that file changed: out/enfocus_project/core.js
80 | [32mSuccessfully compiled "main.js" in 0.4 seconds.[0m
81 | [0mCompiling "main.js" from ["src"]...
82 | notifying browser that file changed: out/enfocus_project/core.js
83 | [32mSuccessfully compiled "main.js" in 0.212 seconds.[0m
84 | [0mCompiling "main.js" from ["src"]...
85 | [31mCompiling "main.js" failed.
86 | [0mANALYSIS ERROR: Wrong number of args (3) passed to: macros/defaction at line 16 src/enfocus_project/core.cljs on file src/enfocus_project/core.cljs, line 16, column 3
87 | [32mSuccessfully compiled "main.js" in 0.096 seconds.[0m
88 | [0mCompiling "main.js" from ["src"]...
89 | [31mCompiling "main.js" failed.
90 | [0mANALYSIS ERROR: Wrong number of args (3) passed to: macros/defaction at line 16 src/enfocus_project/core.cljs on file src/enfocus_project/core.cljs, line 16, column 3
91 | [32mSuccessfully compiled "main.js" in 0.1 seconds.[0m
92 | [0mCompiling "main.js" from ["src"]...
93 | notifying browser that file changed: out/enfocus_project/core.js
94 | [32mSuccessfully compiled "main.js" in 0.252 seconds.[0m
95 | [0mCompiling "main.js" from ["src"]...
96 | notifying browser that file changed: out/enfocus_project/core.js
97 | [32mSuccessfully compiled "main.js" in 0.247 seconds.[0m
98 | [0mCompiling "main.js" from ["src"]...
99 | notifying browser that file changed: out/enfocus_project/core.js
100 | [32mSuccessfully compiled "main.js" in 0.233 seconds.[0m
101 | [0mCompiling "main.js" from ["src"]...
102 | notifying browser that file changed: out/enfocus_project/core.js
103 | [32mSuccessfully compiled "main.js" in 0.232 seconds.[0m
104 | [0mCompiling "main.js" from ["src"]...
105 | WARNING: Wrong number of args (0) passed to enfocus-project.core/gen-button at line 15 src/enfocus_project/core.cljs
106 | WARNING: Wrong number of args (1) passed to enfocus.events/listen at line 26 src/enfocus_project/core.cljs
107 | notifying browser that file changed: out/enfocus_project/core.js
108 | [32mSuccessfully compiled "main.js" in 0.294 seconds.[0m
109 | [0mCompiling "main.js" from ["src"]...
110 | WARNING: Wrong number of args (1) passed to enfocus-project.core/gen-button at line 15 src/enfocus_project/core.cljs
111 | WARNING: Wrong number of args (1) passed to enfocus.events/listen at line 26 src/enfocus_project/core.cljs
112 | notifying browser that file changed: out/enfocus_project/core.js
113 | [32mSuccessfully compiled "main.js" in 0.243 seconds.[0m
114 | [0mCompiling "main.js" from ["src"]...
115 | WARNING: Wrong number of args (1) passed to enfocus-project.core/gen-button at line 15 src/enfocus_project/core.cljs
116 | WARNING: Wrong number of args (1) passed to enfocus.events/listen at line 26 src/enfocus_project/core.cljs
117 | notifying browser that file changed: out/enfocus_project/core.js
118 | [32mSuccessfully compiled "main.js" in 0.161 seconds.[0m
119 | [0mCompiling "main.js" from ["src"]...
120 | WARNING: Wrong number of args (1) passed to enfocus-project.core/gen-button at line 15 src/enfocus_project/core.cljs
121 | WARNING: Wrong number of args (1) passed to enfocus-project.core/gen-button at line 16 src/enfocus_project/core.cljs
122 | WARNING: Wrong number of args (1) passed to enfocus.events/listen at line 27 src/enfocus_project/core.cljs
123 | notifying browser that file changed: out/enfocus_project/core.js
124 | [32mSuccessfully compiled "main.js" in 0.204 seconds.[0m
125 | [0mCompiling "main.js" from ["src"]...
126 | WARNING: Wrong number of args (1) passed to enfocus.events/listen at line 27 src/enfocus_project/core.cljs
127 | notifying browser that file changed: out/enfocus_project/core.js
128 | [32mSuccessfully compiled "main.js" in 0.16 seconds.[0m
129 | [0mCompiling "main.js" from ["src"]...
130 | WARNING: Wrong number of args (1) passed to enfocus.events/listen at line 27 src/enfocus_project/core.cljs
131 | notifying browser that file changed: out/enfocus_project/core.js
132 | [32mSuccessfully compiled "main.js" in 0.201 seconds.[0m
133 | [0mCompiling "main.js" from ["src"]...
134 | WARNING: Wrong number of args (1) passed to enfocus.events/listen at line 27 src/enfocus_project/core.cljs
135 | notifying browser that file changed: out/enfocus_project/core.js
136 | [32mSuccessfully compiled "main.js" in 0.301 seconds.[0m
137 | [0mCompiling "main.js" from ["src"]...
138 | WARNING: Wrong number of args (1) passed to enfocus.events/listen at line 27 src/enfocus_project/core.cljs
139 | notifying browser that file changed: out/enfocus_project/core.js
140 | [32mSuccessfully compiled "main.js" in 0.179 seconds.[0m
141 | [0mCompiling "main.js" from ["src"]...
142 | notifying browser that file changed: out/enfocus_project/core.js
143 | [32mSuccessfully compiled "main.js" in 0.151 seconds.[0m
144 | [0mCompiling "main.js" from ["src"]...
145 | notifying browser that file changed: out/enfocus_project/core.js
146 | [32mSuccessfully compiled "main.js" in 0.189 seconds.[0m
147 | [0mCompiling "main.js" from ["src"]...
148 | WARNING: Use of undeclared Var enfocus-project.core/width at line 23 src/enfocus_project/core.cljs
149 | notifying browser that file changed: out/enfocus_project/core.js
150 | [32mSuccessfully compiled "main.js" in 0.282 seconds.[0m
151 | [0mCompiling "main.js" from ["src"]...
152 | notifying browser that file changed: out/enfocus_project/core.js
153 | [32mSuccessfully compiled "main.js" in 0.155 seconds.[0m
154 | [0mCompiling "main.js" from ["src"]...
155 | notifying browser that file changed: out/enfocus_project/core.js
156 | [32mSuccessfully compiled "main.js" in 0.141 seconds.[0m
157 | [0mCompiling "main.js" from ["src"]...
158 | WARNING: cljs.core/+, all arguments must be numbers, got [cljs.core/Keyword nil] instead. at line 24 src/enfocus_project/core.cljs
159 | notifying browser that file changed: out/enfocus_project/core.js
160 | [32mSuccessfully compiled "main.js" in 0.156 seconds.[0m
161 | [0mCompiling "main.js" from ["src"]...
162 | notifying browser that file changed: out/enfocus_project/core.js
163 | [32mSuccessfully compiled "main.js" in 0.147 seconds.[0m
164 |
--------------------------------------------------------------------------------
/chapter-4/RAW_DOM/LICENSE:
--------------------------------------------------------------------------------
1 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
2 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
3 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
4 |
5 | 1. DEFINITIONS
6 |
7 | "Contribution" means:
8 |
9 | a) in the case of the initial Contributor, the initial code and
10 | documentation distributed under this Agreement, and
11 |
12 | b) in the case of each subsequent Contributor:
13 |
14 | i) changes to the Program, and
15 |
16 | ii) additions to the Program;
17 |
18 | where such changes and/or additions to the Program originate from and are
19 | distributed by that particular Contributor. A Contribution 'originates' from
20 | a Contributor if it was added to the Program by such Contributor itself or
21 | anyone acting on such Contributor's behalf. Contributions do not include
22 | additions to the Program which: (i) are separate modules of software
23 | distributed in conjunction with the Program under their own license
24 | agreement, and (ii) are not derivative works of the Program.
25 |
26 | "Contributor" means any person or entity that distributes the Program.
27 |
28 | "Licensed Patents" mean patent claims licensable by a Contributor which are
29 | necessarily infringed by the use or sale of its Contribution alone or when
30 | combined with the Program.
31 |
32 | "Program" means the Contributions distributed in accordance with this
33 | Agreement.
34 |
35 | "Recipient" means anyone who receives the Program under this Agreement,
36 | including all Contributors.
37 |
38 | 2. GRANT OF RIGHTS
39 |
40 | a) Subject to the terms of this Agreement, each Contributor hereby grants
41 | Recipient a non-exclusive, worldwide, royalty-free copyright license to
42 | reproduce, prepare derivative works of, publicly display, publicly perform,
43 | distribute and sublicense the Contribution of such Contributor, if any, and
44 | such derivative works, in source code and object code form.
45 |
46 | b) Subject to the terms of this Agreement, each Contributor hereby grants
47 | Recipient a non-exclusive, worldwide, royalty-free patent license under
48 | Licensed Patents to make, use, sell, offer to sell, import and otherwise
49 | transfer the Contribution of such Contributor, if any, in source code and
50 | object code form. This patent license shall apply to the combination of the
51 | Contribution and the Program if, at the time the Contribution is added by the
52 | Contributor, such addition of the Contribution causes such combination to be
53 | covered by the Licensed Patents. The patent license shall not apply to any
54 | other combinations which include the Contribution. No hardware per se is
55 | licensed hereunder.
56 |
57 | c) Recipient understands that although each Contributor grants the licenses
58 | to its Contributions set forth herein, no assurances are provided by any
59 | Contributor that the Program does not infringe the patent or other
60 | intellectual property rights of any other entity. Each Contributor disclaims
61 | any liability to Recipient for claims brought by any other entity based on
62 | infringement of intellectual property rights or otherwise. As a condition to
63 | exercising the rights and licenses granted hereunder, each Recipient hereby
64 | assumes sole responsibility to secure any other intellectual property rights
65 | needed, if any. For example, if a third party patent license is required to
66 | allow Recipient to distribute the Program, it is Recipient's responsibility
67 | to acquire that license before distributing the Program.
68 |
69 | d) Each Contributor represents that to its knowledge it has sufficient
70 | copyright rights in its Contribution, if any, to grant the copyright license
71 | set forth in this Agreement.
72 |
73 | 3. REQUIREMENTS
74 |
75 | A Contributor may choose to distribute the Program in object code form under
76 | its own license agreement, provided that:
77 |
78 | a) it complies with the terms and conditions of this Agreement; and
79 |
80 | b) its license agreement:
81 |
82 | i) effectively disclaims on behalf of all Contributors all warranties and
83 | conditions, express and implied, including warranties or conditions of title
84 | and non-infringement, and implied warranties or conditions of merchantability
85 | and fitness for a particular purpose;
86 |
87 | ii) effectively excludes on behalf of all Contributors all liability for
88 | damages, including direct, indirect, special, incidental and consequential
89 | damages, such as lost profits;
90 |
91 | iii) states that any provisions which differ from this Agreement are offered
92 | by that Contributor alone and not by any other party; and
93 |
94 | iv) states that source code for the Program is available from such
95 | Contributor, and informs licensees how to obtain it in a reasonable manner on
96 | or through a medium customarily used for software exchange.
97 |
98 | When the Program is made available in source code form:
99 |
100 | a) it must be made available under this Agreement; and
101 |
102 | b) a copy of this Agreement must be included with each copy of the Program.
103 |
104 | Contributors may not remove or alter any copyright notices contained within
105 | the Program.
106 |
107 | Each Contributor must identify itself as the originator of its Contribution,
108 | if any, in a manner that reasonably allows subsequent Recipients to identify
109 | the originator of the Contribution.
110 |
111 | 4. COMMERCIAL DISTRIBUTION
112 |
113 | Commercial distributors of software may accept certain responsibilities with
114 | respect to end users, business partners and the like. While this license is
115 | intended to facilitate the commercial use of the Program, the Contributor who
116 | includes the Program in a commercial product offering should do so in a
117 | manner which does not create potential liability for other Contributors.
118 | Therefore, if a Contributor includes the Program in a commercial product
119 | offering, such Contributor ("Commercial Contributor") hereby agrees to defend
120 | and indemnify every other Contributor ("Indemnified Contributor") against any
121 | losses, damages and costs (collectively "Losses") arising from claims,
122 | lawsuits and other legal actions brought by a third party against the
123 | Indemnified Contributor to the extent caused by the acts or omissions of such
124 | Commercial Contributor in connection with its distribution of the Program in
125 | a commercial product offering. The obligations in this section do not apply
126 | to any claims or Losses relating to any actual or alleged intellectual
127 | property infringement. In order to qualify, an Indemnified Contributor must:
128 | a) promptly notify the Commercial Contributor in writing of such claim, and
129 | b) allow the Commercial Contributor tocontrol, and cooperate with the
130 | Commercial Contributor in, the defense and any related settlement
131 | negotiations. The Indemnified Contributor may participate in any such claim
132 | at its own expense.
133 |
134 | For example, a Contributor might include the Program in a commercial product
135 | offering, Product X. That Contributor is then a Commercial Contributor. If
136 | that Commercial Contributor then makes performance claims, or offers
137 | warranties related to Product X, those performance claims and warranties are
138 | such Commercial Contributor's responsibility alone. Under this section, the
139 | Commercial Contributor would have to defend claims against the other
140 | Contributors related to those performance claims and warranties, and if a
141 | court requires any other Contributor to pay any damages as a result, the
142 | Commercial Contributor must pay those damages.
143 |
144 | 5. NO WARRANTY
145 |
146 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON
147 | AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
148 | EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
149 | CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
150 | PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the
151 | appropriateness of using and distributing the Program and assumes all risks
152 | associated with its exercise of rights under this Agreement , including but
153 | not limited to the risks and costs of program errors, compliance with
154 | applicable laws, damage to or loss of data, programs or equipment, and
155 | unavailability or interruption of operations.
156 |
157 | 6. DISCLAIMER OF LIABILITY
158 |
159 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
160 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
161 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
162 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
163 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
164 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
165 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
166 | OF SUCH DAMAGES.
167 |
168 | 7. GENERAL
169 |
170 | If any provision of this Agreement is invalid or unenforceable under
171 | applicable law, it shall not affect the validity or enforceability of the
172 | remainder of the terms of this Agreement, and without further action by the
173 | parties hereto, such provision shall be reformed to the minimum extent
174 | necessary to make such provision valid and enforceable.
175 |
176 | If Recipient institutes patent litigation against any entity (including a
177 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself
178 | (excluding combinations of the Program with other software or hardware)
179 | infringes such Recipient's patent(s), then such Recipient's rights granted
180 | under Section 2(b) shall terminate as of the date such litigation is filed.
181 |
182 | All Recipient's rights under this Agreement shall terminate if it fails to
183 | comply with any of the material terms or conditions of this Agreement and
184 | does not cure such failure in a reasonable period of time after becoming
185 | aware of such noncompliance. If all Recipient's rights under this Agreement
186 | terminate, Recipient agrees to cease use and distribution of the Program as
187 | soon as reasonably practicable. However, Recipient's obligations under this
188 | Agreement and any licenses granted by Recipient relating to the Program shall
189 | continue and survive.
190 |
191 | Everyone is permitted to copy and distribute copies of this Agreement, but in
192 | order to avoid inconsistency the Agreement is copyrighted and may only be
193 | modified in the following manner. The Agreement Steward reserves the right to
194 | publish new versions (including revisions) of this Agreement from time to
195 | time. No one other than the Agreement Steward has the right to modify this
196 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The
197 | Eclipse Foundation may assign the responsibility to serve as the Agreement
198 | Steward to a suitable separate entity. Each new version of the Agreement will
199 | be given a distinguishing version number. The Program (including
200 | Contributions) may always be distributed subject to the version of the
201 | Agreement under which it was received. In addition, after a new version of
202 | the Agreement is published, Contributor may elect to distribute the Program
203 | (including its Contributions) under the new version. Except as expressly
204 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or
205 | licenses to the intellectual property of any Contributor under this
206 | Agreement, whether expressly, by implication, estoppel or otherwise. All
207 | rights in the Program not expressly granted under this Agreement are
208 | reserved.
209 |
210 | This Agreement is governed by the laws of the State of New York and the
211 | intellectual property laws of the United States of America. No party to this
212 | Agreement will bring a legal action under this Agreement more than one year
213 | after the cause of action arose. Each party waives its rights to a jury trial
214 | in any resulting litigation.
215 |
--------------------------------------------------------------------------------
/chapter-4/jq_project/LICENSE:
--------------------------------------------------------------------------------
1 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
2 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
3 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
4 |
5 | 1. DEFINITIONS
6 |
7 | "Contribution" means:
8 |
9 | a) in the case of the initial Contributor, the initial code and
10 | documentation distributed under this Agreement, and
11 |
12 | b) in the case of each subsequent Contributor:
13 |
14 | i) changes to the Program, and
15 |
16 | ii) additions to the Program;
17 |
18 | where such changes and/or additions to the Program originate from and are
19 | distributed by that particular Contributor. A Contribution 'originates' from
20 | a Contributor if it was added to the Program by such Contributor itself or
21 | anyone acting on such Contributor's behalf. Contributions do not include
22 | additions to the Program which: (i) are separate modules of software
23 | distributed in conjunction with the Program under their own license
24 | agreement, and (ii) are not derivative works of the Program.
25 |
26 | "Contributor" means any person or entity that distributes the Program.
27 |
28 | "Licensed Patents" mean patent claims licensable by a Contributor which are
29 | necessarily infringed by the use or sale of its Contribution alone or when
30 | combined with the Program.
31 |
32 | "Program" means the Contributions distributed in accordance with this
33 | Agreement.
34 |
35 | "Recipient" means anyone who receives the Program under this Agreement,
36 | including all Contributors.
37 |
38 | 2. GRANT OF RIGHTS
39 |
40 | a) Subject to the terms of this Agreement, each Contributor hereby grants
41 | Recipient a non-exclusive, worldwide, royalty-free copyright license to
42 | reproduce, prepare derivative works of, publicly display, publicly perform,
43 | distribute and sublicense the Contribution of such Contributor, if any, and
44 | such derivative works, in source code and object code form.
45 |
46 | b) Subject to the terms of this Agreement, each Contributor hereby grants
47 | Recipient a non-exclusive, worldwide, royalty-free patent license under
48 | Licensed Patents to make, use, sell, offer to sell, import and otherwise
49 | transfer the Contribution of such Contributor, if any, in source code and
50 | object code form. This patent license shall apply to the combination of the
51 | Contribution and the Program if, at the time the Contribution is added by the
52 | Contributor, such addition of the Contribution causes such combination to be
53 | covered by the Licensed Patents. The patent license shall not apply to any
54 | other combinations which include the Contribution. No hardware per se is
55 | licensed hereunder.
56 |
57 | c) Recipient understands that although each Contributor grants the licenses
58 | to its Contributions set forth herein, no assurances are provided by any
59 | Contributor that the Program does not infringe the patent or other
60 | intellectual property rights of any other entity. Each Contributor disclaims
61 | any liability to Recipient for claims brought by any other entity based on
62 | infringement of intellectual property rights or otherwise. As a condition to
63 | exercising the rights and licenses granted hereunder, each Recipient hereby
64 | assumes sole responsibility to secure any other intellectual property rights
65 | needed, if any. For example, if a third party patent license is required to
66 | allow Recipient to distribute the Program, it is Recipient's responsibility
67 | to acquire that license before distributing the Program.
68 |
69 | d) Each Contributor represents that to its knowledge it has sufficient
70 | copyright rights in its Contribution, if any, to grant the copyright license
71 | set forth in this Agreement.
72 |
73 | 3. REQUIREMENTS
74 |
75 | A Contributor may choose to distribute the Program in object code form under
76 | its own license agreement, provided that:
77 |
78 | a) it complies with the terms and conditions of this Agreement; and
79 |
80 | b) its license agreement:
81 |
82 | i) effectively disclaims on behalf of all Contributors all warranties and
83 | conditions, express and implied, including warranties or conditions of title
84 | and non-infringement, and implied warranties or conditions of merchantability
85 | and fitness for a particular purpose;
86 |
87 | ii) effectively excludes on behalf of all Contributors all liability for
88 | damages, including direct, indirect, special, incidental and consequential
89 | damages, such as lost profits;
90 |
91 | iii) states that any provisions which differ from this Agreement are offered
92 | by that Contributor alone and not by any other party; and
93 |
94 | iv) states that source code for the Program is available from such
95 | Contributor, and informs licensees how to obtain it in a reasonable manner on
96 | or through a medium customarily used for software exchange.
97 |
98 | When the Program is made available in source code form:
99 |
100 | a) it must be made available under this Agreement; and
101 |
102 | b) a copy of this Agreement must be included with each copy of the Program.
103 |
104 | Contributors may not remove or alter any copyright notices contained within
105 | the Program.
106 |
107 | Each Contributor must identify itself as the originator of its Contribution,
108 | if any, in a manner that reasonably allows subsequent Recipients to identify
109 | the originator of the Contribution.
110 |
111 | 4. COMMERCIAL DISTRIBUTION
112 |
113 | Commercial distributors of software may accept certain responsibilities with
114 | respect to end users, business partners and the like. While this license is
115 | intended to facilitate the commercial use of the Program, the Contributor who
116 | includes the Program in a commercial product offering should do so in a
117 | manner which does not create potential liability for other Contributors.
118 | Therefore, if a Contributor includes the Program in a commercial product
119 | offering, such Contributor ("Commercial Contributor") hereby agrees to defend
120 | and indemnify every other Contributor ("Indemnified Contributor") against any
121 | losses, damages and costs (collectively "Losses") arising from claims,
122 | lawsuits and other legal actions brought by a third party against the
123 | Indemnified Contributor to the extent caused by the acts or omissions of such
124 | Commercial Contributor in connection with its distribution of the Program in
125 | a commercial product offering. The obligations in this section do not apply
126 | to any claims or Losses relating to any actual or alleged intellectual
127 | property infringement. In order to qualify, an Indemnified Contributor must:
128 | a) promptly notify the Commercial Contributor in writing of such claim, and
129 | b) allow the Commercial Contributor tocontrol, and cooperate with the
130 | Commercial Contributor in, the defense and any related settlement
131 | negotiations. The Indemnified Contributor may participate in any such claim
132 | at its own expense.
133 |
134 | For example, a Contributor might include the Program in a commercial product
135 | offering, Product X. That Contributor is then a Commercial Contributor. If
136 | that Commercial Contributor then makes performance claims, or offers
137 | warranties related to Product X, those performance claims and warranties are
138 | such Commercial Contributor's responsibility alone. Under this section, the
139 | Commercial Contributor would have to defend claims against the other
140 | Contributors related to those performance claims and warranties, and if a
141 | court requires any other Contributor to pay any damages as a result, the
142 | Commercial Contributor must pay those damages.
143 |
144 | 5. NO WARRANTY
145 |
146 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON
147 | AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
148 | EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
149 | CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
150 | PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the
151 | appropriateness of using and distributing the Program and assumes all risks
152 | associated with its exercise of rights under this Agreement , including but
153 | not limited to the risks and costs of program errors, compliance with
154 | applicable laws, damage to or loss of data, programs or equipment, and
155 | unavailability or interruption of operations.
156 |
157 | 6. DISCLAIMER OF LIABILITY
158 |
159 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
160 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
161 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
162 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
163 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
164 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
165 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
166 | OF SUCH DAMAGES.
167 |
168 | 7. GENERAL
169 |
170 | If any provision of this Agreement is invalid or unenforceable under
171 | applicable law, it shall not affect the validity or enforceability of the
172 | remainder of the terms of this Agreement, and without further action by the
173 | parties hereto, such provision shall be reformed to the minimum extent
174 | necessary to make such provision valid and enforceable.
175 |
176 | If Recipient institutes patent litigation against any entity (including a
177 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself
178 | (excluding combinations of the Program with other software or hardware)
179 | infringes such Recipient's patent(s), then such Recipient's rights granted
180 | under Section 2(b) shall terminate as of the date such litigation is filed.
181 |
182 | All Recipient's rights under this Agreement shall terminate if it fails to
183 | comply with any of the material terms or conditions of this Agreement and
184 | does not cure such failure in a reasonable period of time after becoming
185 | aware of such noncompliance. If all Recipient's rights under this Agreement
186 | terminate, Recipient agrees to cease use and distribution of the Program as
187 | soon as reasonably practicable. However, Recipient's obligations under this
188 | Agreement and any licenses granted by Recipient relating to the Program shall
189 | continue and survive.
190 |
191 | Everyone is permitted to copy and distribute copies of this Agreement, but in
192 | order to avoid inconsistency the Agreement is copyrighted and may only be
193 | modified in the following manner. The Agreement Steward reserves the right to
194 | publish new versions (including revisions) of this Agreement from time to
195 | time. No one other than the Agreement Steward has the right to modify this
196 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The
197 | Eclipse Foundation may assign the responsibility to serve as the Agreement
198 | Steward to a suitable separate entity. Each new version of the Agreement will
199 | be given a distinguishing version number. The Program (including
200 | Contributions) may always be distributed subject to the version of the
201 | Agreement under which it was received. In addition, after a new version of
202 | the Agreement is published, Contributor may elect to distribute the Program
203 | (including its Contributions) under the new version. Except as expressly
204 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or
205 | licenses to the intellectual property of any Contributor under this
206 | Agreement, whether expressly, by implication, estoppel or otherwise. All
207 | rights in the Program not expressly granted under this Agreement are
208 | reserved.
209 |
210 | This Agreement is governed by the laws of the State of New York and the
211 | intellectual property laws of the United States of America. No party to this
212 | Agreement will bring a legal action under this Agreement more than one year
213 | after the cause of action arose. Each party waives its rights to a jury trial
214 | in any resulting litigation.
215 |
--------------------------------------------------------------------------------
/chapter-4/raw_goog/LICENSE:
--------------------------------------------------------------------------------
1 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
2 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
3 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
4 |
5 | 1. DEFINITIONS
6 |
7 | "Contribution" means:
8 |
9 | a) in the case of the initial Contributor, the initial code and
10 | documentation distributed under this Agreement, and
11 |
12 | b) in the case of each subsequent Contributor:
13 |
14 | i) changes to the Program, and
15 |
16 | ii) additions to the Program;
17 |
18 | where such changes and/or additions to the Program originate from and are
19 | distributed by that particular Contributor. A Contribution 'originates' from
20 | a Contributor if it was added to the Program by such Contributor itself or
21 | anyone acting on such Contributor's behalf. Contributions do not include
22 | additions to the Program which: (i) are separate modules of software
23 | distributed in conjunction with the Program under their own license
24 | agreement, and (ii) are not derivative works of the Program.
25 |
26 | "Contributor" means any person or entity that distributes the Program.
27 |
28 | "Licensed Patents" mean patent claims licensable by a Contributor which are
29 | necessarily infringed by the use or sale of its Contribution alone or when
30 | combined with the Program.
31 |
32 | "Program" means the Contributions distributed in accordance with this
33 | Agreement.
34 |
35 | "Recipient" means anyone who receives the Program under this Agreement,
36 | including all Contributors.
37 |
38 | 2. GRANT OF RIGHTS
39 |
40 | a) Subject to the terms of this Agreement, each Contributor hereby grants
41 | Recipient a non-exclusive, worldwide, royalty-free copyright license to
42 | reproduce, prepare derivative works of, publicly display, publicly perform,
43 | distribute and sublicense the Contribution of such Contributor, if any, and
44 | such derivative works, in source code and object code form.
45 |
46 | b) Subject to the terms of this Agreement, each Contributor hereby grants
47 | Recipient a non-exclusive, worldwide, royalty-free patent license under
48 | Licensed Patents to make, use, sell, offer to sell, import and otherwise
49 | transfer the Contribution of such Contributor, if any, in source code and
50 | object code form. This patent license shall apply to the combination of the
51 | Contribution and the Program if, at the time the Contribution is added by the
52 | Contributor, such addition of the Contribution causes such combination to be
53 | covered by the Licensed Patents. The patent license shall not apply to any
54 | other combinations which include the Contribution. No hardware per se is
55 | licensed hereunder.
56 |
57 | c) Recipient understands that although each Contributor grants the licenses
58 | to its Contributions set forth herein, no assurances are provided by any
59 | Contributor that the Program does not infringe the patent or other
60 | intellectual property rights of any other entity. Each Contributor disclaims
61 | any liability to Recipient for claims brought by any other entity based on
62 | infringement of intellectual property rights or otherwise. As a condition to
63 | exercising the rights and licenses granted hereunder, each Recipient hereby
64 | assumes sole responsibility to secure any other intellectual property rights
65 | needed, if any. For example, if a third party patent license is required to
66 | allow Recipient to distribute the Program, it is Recipient's responsibility
67 | to acquire that license before distributing the Program.
68 |
69 | d) Each Contributor represents that to its knowledge it has sufficient
70 | copyright rights in its Contribution, if any, to grant the copyright license
71 | set forth in this Agreement.
72 |
73 | 3. REQUIREMENTS
74 |
75 | A Contributor may choose to distribute the Program in object code form under
76 | its own license agreement, provided that:
77 |
78 | a) it complies with the terms and conditions of this Agreement; and
79 |
80 | b) its license agreement:
81 |
82 | i) effectively disclaims on behalf of all Contributors all warranties and
83 | conditions, express and implied, including warranties or conditions of title
84 | and non-infringement, and implied warranties or conditions of merchantability
85 | and fitness for a particular purpose;
86 |
87 | ii) effectively excludes on behalf of all Contributors all liability for
88 | damages, including direct, indirect, special, incidental and consequential
89 | damages, such as lost profits;
90 |
91 | iii) states that any provisions which differ from this Agreement are offered
92 | by that Contributor alone and not by any other party; and
93 |
94 | iv) states that source code for the Program is available from such
95 | Contributor, and informs licensees how to obtain it in a reasonable manner on
96 | or through a medium customarily used for software exchange.
97 |
98 | When the Program is made available in source code form:
99 |
100 | a) it must be made available under this Agreement; and
101 |
102 | b) a copy of this Agreement must be included with each copy of the Program.
103 |
104 | Contributors may not remove or alter any copyright notices contained within
105 | the Program.
106 |
107 | Each Contributor must identify itself as the originator of its Contribution,
108 | if any, in a manner that reasonably allows subsequent Recipients to identify
109 | the originator of the Contribution.
110 |
111 | 4. COMMERCIAL DISTRIBUTION
112 |
113 | Commercial distributors of software may accept certain responsibilities with
114 | respect to end users, business partners and the like. While this license is
115 | intended to facilitate the commercial use of the Program, the Contributor who
116 | includes the Program in a commercial product offering should do so in a
117 | manner which does not create potential liability for other Contributors.
118 | Therefore, if a Contributor includes the Program in a commercial product
119 | offering, such Contributor ("Commercial Contributor") hereby agrees to defend
120 | and indemnify every other Contributor ("Indemnified Contributor") against any
121 | losses, damages and costs (collectively "Losses") arising from claims,
122 | lawsuits and other legal actions brought by a third party against the
123 | Indemnified Contributor to the extent caused by the acts or omissions of such
124 | Commercial Contributor in connection with its distribution of the Program in
125 | a commercial product offering. The obligations in this section do not apply
126 | to any claims or Losses relating to any actual or alleged intellectual
127 | property infringement. In order to qualify, an Indemnified Contributor must:
128 | a) promptly notify the Commercial Contributor in writing of such claim, and
129 | b) allow the Commercial Contributor tocontrol, and cooperate with the
130 | Commercial Contributor in, the defense and any related settlement
131 | negotiations. The Indemnified Contributor may participate in any such claim
132 | at its own expense.
133 |
134 | For example, a Contributor might include the Program in a commercial product
135 | offering, Product X. That Contributor is then a Commercial Contributor. If
136 | that Commercial Contributor then makes performance claims, or offers
137 | warranties related to Product X, those performance claims and warranties are
138 | such Commercial Contributor's responsibility alone. Under this section, the
139 | Commercial Contributor would have to defend claims against the other
140 | Contributors related to those performance claims and warranties, and if a
141 | court requires any other Contributor to pay any damages as a result, the
142 | Commercial Contributor must pay those damages.
143 |
144 | 5. NO WARRANTY
145 |
146 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON
147 | AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
148 | EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
149 | CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
150 | PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the
151 | appropriateness of using and distributing the Program and assumes all risks
152 | associated with its exercise of rights under this Agreement , including but
153 | not limited to the risks and costs of program errors, compliance with
154 | applicable laws, damage to or loss of data, programs or equipment, and
155 | unavailability or interruption of operations.
156 |
157 | 6. DISCLAIMER OF LIABILITY
158 |
159 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
160 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
161 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
162 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
163 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
164 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
165 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
166 | OF SUCH DAMAGES.
167 |
168 | 7. GENERAL
169 |
170 | If any provision of this Agreement is invalid or unenforceable under
171 | applicable law, it shall not affect the validity or enforceability of the
172 | remainder of the terms of this Agreement, and without further action by the
173 | parties hereto, such provision shall be reformed to the minimum extent
174 | necessary to make such provision valid and enforceable.
175 |
176 | If Recipient institutes patent litigation against any entity (including a
177 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself
178 | (excluding combinations of the Program with other software or hardware)
179 | infringes such Recipient's patent(s), then such Recipient's rights granted
180 | under Section 2(b) shall terminate as of the date such litigation is filed.
181 |
182 | All Recipient's rights under this Agreement shall terminate if it fails to
183 | comply with any of the material terms or conditions of this Agreement and
184 | does not cure such failure in a reasonable period of time after becoming
185 | aware of such noncompliance. If all Recipient's rights under this Agreement
186 | terminate, Recipient agrees to cease use and distribution of the Program as
187 | soon as reasonably practicable. However, Recipient's obligations under this
188 | Agreement and any licenses granted by Recipient relating to the Program shall
189 | continue and survive.
190 |
191 | Everyone is permitted to copy and distribute copies of this Agreement, but in
192 | order to avoid inconsistency the Agreement is copyrighted and may only be
193 | modified in the following manner. The Agreement Steward reserves the right to
194 | publish new versions (including revisions) of this Agreement from time to
195 | time. No one other than the Agreement Steward has the right to modify this
196 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The
197 | Eclipse Foundation may assign the responsibility to serve as the Agreement
198 | Steward to a suitable separate entity. Each new version of the Agreement will
199 | be given a distinguishing version number. The Program (including
200 | Contributions) may always be distributed subject to the version of the
201 | Agreement under which it was received. In addition, after a new version of
202 | the Agreement is published, Contributor may elect to distribute the Program
203 | (including its Contributions) under the new version. Except as expressly
204 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or
205 | licenses to the intellectual property of any Contributor under this
206 | Agreement, whether expressly, by implication, estoppel or otherwise. All
207 | rights in the Program not expressly granted under this Agreement are
208 | reserved.
209 |
210 | This Agreement is governed by the laws of the State of New York and the
211 | intellectual property laws of the United States of America. No party to this
212 | Agreement will bring a legal action under this Agreement more than one year
213 | after the cause of action arose. Each party waives its rights to a jury trial
214 | in any resulting litigation.
215 |
--------------------------------------------------------------------------------
/chapter-1/figwheel_node/LICENSE:
--------------------------------------------------------------------------------
1 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
2 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
3 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
4 |
5 | 1. DEFINITIONS
6 |
7 | "Contribution" means:
8 |
9 | a) in the case of the initial Contributor, the initial code and
10 | documentation distributed under this Agreement, and
11 |
12 | b) in the case of each subsequent Contributor:
13 |
14 | i) changes to the Program, and
15 |
16 | ii) additions to the Program;
17 |
18 | where such changes and/or additions to the Program originate from and are
19 | distributed by that particular Contributor. A Contribution 'originates' from
20 | a Contributor if it was added to the Program by such Contributor itself or
21 | anyone acting on such Contributor's behalf. Contributions do not include
22 | additions to the Program which: (i) are separate modules of software
23 | distributed in conjunction with the Program under their own license
24 | agreement, and (ii) are not derivative works of the Program.
25 |
26 | "Contributor" means any person or entity that distributes the Program.
27 |
28 | "Licensed Patents" mean patent claims licensable by a Contributor which are
29 | necessarily infringed by the use or sale of its Contribution alone or when
30 | combined with the Program.
31 |
32 | "Program" means the Contributions distributed in accordance with this
33 | Agreement.
34 |
35 | "Recipient" means anyone who receives the Program under this Agreement,
36 | including all Contributors.
37 |
38 | 2. GRANT OF RIGHTS
39 |
40 | a) Subject to the terms of this Agreement, each Contributor hereby grants
41 | Recipient a non-exclusive, worldwide, royalty-free copyright license to
42 | reproduce, prepare derivative works of, publicly display, publicly perform,
43 | distribute and sublicense the Contribution of such Contributor, if any, and
44 | such derivative works, in source code and object code form.
45 |
46 | b) Subject to the terms of this Agreement, each Contributor hereby grants
47 | Recipient a non-exclusive, worldwide, royalty-free patent license under
48 | Licensed Patents to make, use, sell, offer to sell, import and otherwise
49 | transfer the Contribution of such Contributor, if any, in source code and
50 | object code form. This patent license shall apply to the combination of the
51 | Contribution and the Program if, at the time the Contribution is added by the
52 | Contributor, such addition of the Contribution causes such combination to be
53 | covered by the Licensed Patents. The patent license shall not apply to any
54 | other combinations which include the Contribution. No hardware per se is
55 | licensed hereunder.
56 |
57 | c) Recipient understands that although each Contributor grants the licenses
58 | to its Contributions set forth herein, no assurances are provided by any
59 | Contributor that the Program does not infringe the patent or other
60 | intellectual property rights of any other entity. Each Contributor disclaims
61 | any liability to Recipient for claims brought by any other entity based on
62 | infringement of intellectual property rights or otherwise. As a condition to
63 | exercising the rights and licenses granted hereunder, each Recipient hereby
64 | assumes sole responsibility to secure any other intellectual property rights
65 | needed, if any. For example, if a third party patent license is required to
66 | allow Recipient to distribute the Program, it is Recipient's responsibility
67 | to acquire that license before distributing the Program.
68 |
69 | d) Each Contributor represents that to its knowledge it has sufficient
70 | copyright rights in its Contribution, if any, to grant the copyright license
71 | set forth in this Agreement.
72 |
73 | 3. REQUIREMENTS
74 |
75 | A Contributor may choose to distribute the Program in object code form under
76 | its own license agreement, provided that:
77 |
78 | a) it complies with the terms and conditions of this Agreement; and
79 |
80 | b) its license agreement:
81 |
82 | i) effectively disclaims on behalf of all Contributors all warranties and
83 | conditions, express and implied, including warranties or conditions of title
84 | and non-infringement, and implied warranties or conditions of merchantability
85 | and fitness for a particular purpose;
86 |
87 | ii) effectively excludes on behalf of all Contributors all liability for
88 | damages, including direct, indirect, special, incidental and consequential
89 | damages, such as lost profits;
90 |
91 | iii) states that any provisions which differ from this Agreement are offered
92 | by that Contributor alone and not by any other party; and
93 |
94 | iv) states that source code for the Program is available from such
95 | Contributor, and informs licensees how to obtain it in a reasonable manner on
96 | or through a medium customarily used for software exchange.
97 |
98 | When the Program is made available in source code form:
99 |
100 | a) it must be made available under this Agreement; and
101 |
102 | b) a copy of this Agreement must be included with each copy of the Program.
103 |
104 | Contributors may not remove or alter any copyright notices contained within
105 | the Program.
106 |
107 | Each Contributor must identify itself as the originator of its Contribution,
108 | if any, in a manner that reasonably allows subsequent Recipients to identify
109 | the originator of the Contribution.
110 |
111 | 4. COMMERCIAL DISTRIBUTION
112 |
113 | Commercial distributors of software may accept certain responsibilities with
114 | respect to end users, business partners and the like. While this license is
115 | intended to facilitate the commercial use of the Program, the Contributor who
116 | includes the Program in a commercial product offering should do so in a
117 | manner which does not create potential liability for other Contributors.
118 | Therefore, if a Contributor includes the Program in a commercial product
119 | offering, such Contributor ("Commercial Contributor") hereby agrees to defend
120 | and indemnify every other Contributor ("Indemnified Contributor") against any
121 | losses, damages and costs (collectively "Losses") arising from claims,
122 | lawsuits and other legal actions brought by a third party against the
123 | Indemnified Contributor to the extent caused by the acts or omissions of such
124 | Commercial Contributor in connection with its distribution of the Program in
125 | a commercial product offering. The obligations in this section do not apply
126 | to any claims or Losses relating to any actual or alleged intellectual
127 | property infringement. In order to qualify, an Indemnified Contributor must:
128 | a) promptly notify the Commercial Contributor in writing of such claim, and
129 | b) allow the Commercial Contributor tocontrol, and cooperate with the
130 | Commercial Contributor in, the defense and any related settlement
131 | negotiations. The Indemnified Contributor may participate in any such claim
132 | at its own expense.
133 |
134 | For example, a Contributor might include the Program in a commercial product
135 | offering, Product X. That Contributor is then a Commercial Contributor. If
136 | that Commercial Contributor then makes performance claims, or offers
137 | warranties related to Product X, those performance claims and warranties are
138 | such Commercial Contributor's responsibility alone. Under this section, the
139 | Commercial Contributor would have to defend claims against the other
140 | Contributors related to those performance claims and warranties, and if a
141 | court requires any other Contributor to pay any damages as a result, the
142 | Commercial Contributor must pay those damages.
143 |
144 | 5. NO WARRANTY
145 |
146 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON
147 | AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
148 | EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
149 | CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
150 | PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the
151 | appropriateness of using and distributing the Program and assumes all risks
152 | associated with its exercise of rights under this Agreement , including but
153 | not limited to the risks and costs of program errors, compliance with
154 | applicable laws, damage to or loss of data, programs or equipment, and
155 | unavailability or interruption of operations.
156 |
157 | 6. DISCLAIMER OF LIABILITY
158 |
159 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
160 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
161 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
162 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
163 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
164 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
165 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
166 | OF SUCH DAMAGES.
167 |
168 | 7. GENERAL
169 |
170 | If any provision of this Agreement is invalid or unenforceable under
171 | applicable law, it shall not affect the validity or enforceability of the
172 | remainder of the terms of this Agreement, and without further action by the
173 | parties hereto, such provision shall be reformed to the minimum extent
174 | necessary to make such provision valid and enforceable.
175 |
176 | If Recipient institutes patent litigation against any entity (including a
177 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself
178 | (excluding combinations of the Program with other software or hardware)
179 | infringes such Recipient's patent(s), then such Recipient's rights granted
180 | under Section 2(b) shall terminate as of the date such litigation is filed.
181 |
182 | All Recipient's rights under this Agreement shall terminate if it fails to
183 | comply with any of the material terms or conditions of this Agreement and
184 | does not cure such failure in a reasonable period of time after becoming
185 | aware of such noncompliance. If all Recipient's rights under this Agreement
186 | terminate, Recipient agrees to cease use and distribution of the Program as
187 | soon as reasonably practicable. However, Recipient's obligations under this
188 | Agreement and any licenses granted by Recipient relating to the Program shall
189 | continue and survive.
190 |
191 | Everyone is permitted to copy and distribute copies of this Agreement, but in
192 | order to avoid inconsistency the Agreement is copyrighted and may only be
193 | modified in the following manner. The Agreement Steward reserves the right to
194 | publish new versions (including revisions) of this Agreement from time to
195 | time. No one other than the Agreement Steward has the right to modify this
196 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The
197 | Eclipse Foundation may assign the responsibility to serve as the Agreement
198 | Steward to a suitable separate entity. Each new version of the Agreement will
199 | be given a distinguishing version number. The Program (including
200 | Contributions) may always be distributed subject to the version of the
201 | Agreement under which it was received. In addition, after a new version of
202 | the Agreement is published, Contributor may elect to distribute the Program
203 | (including its Contributions) under the new version. Except as expressly
204 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or
205 | licenses to the intellectual property of any Contributor under this
206 | Agreement, whether expressly, by implication, estoppel or otherwise. All
207 | rights in the Program not expressly granted under this Agreement are
208 | reserved.
209 |
210 | This Agreement is governed by the laws of the State of New York and the
211 | intellectual property laws of the United States of America. No party to this
212 | Agreement will bring a legal action under this Agreement more than one year
213 | after the cause of action arose. Each party waives its rights to a jury trial
214 | in any resulting litigation.
215 |
--------------------------------------------------------------------------------
/chapter-1/figwheel_project/LICENSE:
--------------------------------------------------------------------------------
1 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
2 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
3 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
4 |
5 | 1. DEFINITIONS
6 |
7 | "Contribution" means:
8 |
9 | a) in the case of the initial Contributor, the initial code and
10 | documentation distributed under this Agreement, and
11 |
12 | b) in the case of each subsequent Contributor:
13 |
14 | i) changes to the Program, and
15 |
16 | ii) additions to the Program;
17 |
18 | where such changes and/or additions to the Program originate from and are
19 | distributed by that particular Contributor. A Contribution 'originates' from
20 | a Contributor if it was added to the Program by such Contributor itself or
21 | anyone acting on such Contributor's behalf. Contributions do not include
22 | additions to the Program which: (i) are separate modules of software
23 | distributed in conjunction with the Program under their own license
24 | agreement, and (ii) are not derivative works of the Program.
25 |
26 | "Contributor" means any person or entity that distributes the Program.
27 |
28 | "Licensed Patents" mean patent claims licensable by a Contributor which are
29 | necessarily infringed by the use or sale of its Contribution alone or when
30 | combined with the Program.
31 |
32 | "Program" means the Contributions distributed in accordance with this
33 | Agreement.
34 |
35 | "Recipient" means anyone who receives the Program under this Agreement,
36 | including all Contributors.
37 |
38 | 2. GRANT OF RIGHTS
39 |
40 | a) Subject to the terms of this Agreement, each Contributor hereby grants
41 | Recipient a non-exclusive, worldwide, royalty-free copyright license to
42 | reproduce, prepare derivative works of, publicly display, publicly perform,
43 | distribute and sublicense the Contribution of such Contributor, if any, and
44 | such derivative works, in source code and object code form.
45 |
46 | b) Subject to the terms of this Agreement, each Contributor hereby grants
47 | Recipient a non-exclusive, worldwide, royalty-free patent license under
48 | Licensed Patents to make, use, sell, offer to sell, import and otherwise
49 | transfer the Contribution of such Contributor, if any, in source code and
50 | object code form. This patent license shall apply to the combination of the
51 | Contribution and the Program if, at the time the Contribution is added by the
52 | Contributor, such addition of the Contribution causes such combination to be
53 | covered by the Licensed Patents. The patent license shall not apply to any
54 | other combinations which include the Contribution. No hardware per se is
55 | licensed hereunder.
56 |
57 | c) Recipient understands that although each Contributor grants the licenses
58 | to its Contributions set forth herein, no assurances are provided by any
59 | Contributor that the Program does not infringe the patent or other
60 | intellectual property rights of any other entity. Each Contributor disclaims
61 | any liability to Recipient for claims brought by any other entity based on
62 | infringement of intellectual property rights or otherwise. As a condition to
63 | exercising the rights and licenses granted hereunder, each Recipient hereby
64 | assumes sole responsibility to secure any other intellectual property rights
65 | needed, if any. For example, if a third party patent license is required to
66 | allow Recipient to distribute the Program, it is Recipient's responsibility
67 | to acquire that license before distributing the Program.
68 |
69 | d) Each Contributor represents that to its knowledge it has sufficient
70 | copyright rights in its Contribution, if any, to grant the copyright license
71 | set forth in this Agreement.
72 |
73 | 3. REQUIREMENTS
74 |
75 | A Contributor may choose to distribute the Program in object code form under
76 | its own license agreement, provided that:
77 |
78 | a) it complies with the terms and conditions of this Agreement; and
79 |
80 | b) its license agreement:
81 |
82 | i) effectively disclaims on behalf of all Contributors all warranties and
83 | conditions, express and implied, including warranties or conditions of title
84 | and non-infringement, and implied warranties or conditions of merchantability
85 | and fitness for a particular purpose;
86 |
87 | ii) effectively excludes on behalf of all Contributors all liability for
88 | damages, including direct, indirect, special, incidental and consequential
89 | damages, such as lost profits;
90 |
91 | iii) states that any provisions which differ from this Agreement are offered
92 | by that Contributor alone and not by any other party; and
93 |
94 | iv) states that source code for the Program is available from such
95 | Contributor, and informs licensees how to obtain it in a reasonable manner on
96 | or through a medium customarily used for software exchange.
97 |
98 | When the Program is made available in source code form:
99 |
100 | a) it must be made available under this Agreement; and
101 |
102 | b) a copy of this Agreement must be included with each copy of the Program.
103 |
104 | Contributors may not remove or alter any copyright notices contained within
105 | the Program.
106 |
107 | Each Contributor must identify itself as the originator of its Contribution,
108 | if any, in a manner that reasonably allows subsequent Recipients to identify
109 | the originator of the Contribution.
110 |
111 | 4. COMMERCIAL DISTRIBUTION
112 |
113 | Commercial distributors of software may accept certain responsibilities with
114 | respect to end users, business partners and the like. While this license is
115 | intended to facilitate the commercial use of the Program, the Contributor who
116 | includes the Program in a commercial product offering should do so in a
117 | manner which does not create potential liability for other Contributors.
118 | Therefore, if a Contributor includes the Program in a commercial product
119 | offering, such Contributor ("Commercial Contributor") hereby agrees to defend
120 | and indemnify every other Contributor ("Indemnified Contributor") against any
121 | losses, damages and costs (collectively "Losses") arising from claims,
122 | lawsuits and other legal actions brought by a third party against the
123 | Indemnified Contributor to the extent caused by the acts or omissions of such
124 | Commercial Contributor in connection with its distribution of the Program in
125 | a commercial product offering. The obligations in this section do not apply
126 | to any claims or Losses relating to any actual or alleged intellectual
127 | property infringement. In order to qualify, an Indemnified Contributor must:
128 | a) promptly notify the Commercial Contributor in writing of such claim, and
129 | b) allow the Commercial Contributor tocontrol, and cooperate with the
130 | Commercial Contributor in, the defense and any related settlement
131 | negotiations. The Indemnified Contributor may participate in any such claim
132 | at its own expense.
133 |
134 | For example, a Contributor might include the Program in a commercial product
135 | offering, Product X. That Contributor is then a Commercial Contributor. If
136 | that Commercial Contributor then makes performance claims, or offers
137 | warranties related to Product X, those performance claims and warranties are
138 | such Commercial Contributor's responsibility alone. Under this section, the
139 | Commercial Contributor would have to defend claims against the other
140 | Contributors related to those performance claims and warranties, and if a
141 | court requires any other Contributor to pay any damages as a result, the
142 | Commercial Contributor must pay those damages.
143 |
144 | 5. NO WARRANTY
145 |
146 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON
147 | AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
148 | EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
149 | CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
150 | PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the
151 | appropriateness of using and distributing the Program and assumes all risks
152 | associated with its exercise of rights under this Agreement , including but
153 | not limited to the risks and costs of program errors, compliance with
154 | applicable laws, damage to or loss of data, programs or equipment, and
155 | unavailability or interruption of operations.
156 |
157 | 6. DISCLAIMER OF LIABILITY
158 |
159 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
160 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
161 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
162 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
163 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
164 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
165 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
166 | OF SUCH DAMAGES.
167 |
168 | 7. GENERAL
169 |
170 | If any provision of this Agreement is invalid or unenforceable under
171 | applicable law, it shall not affect the validity or enforceability of the
172 | remainder of the terms of this Agreement, and without further action by the
173 | parties hereto, such provision shall be reformed to the minimum extent
174 | necessary to make such provision valid and enforceable.
175 |
176 | If Recipient institutes patent litigation against any entity (including a
177 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself
178 | (excluding combinations of the Program with other software or hardware)
179 | infringes such Recipient's patent(s), then such Recipient's rights granted
180 | under Section 2(b) shall terminate as of the date such litigation is filed.
181 |
182 | All Recipient's rights under this Agreement shall terminate if it fails to
183 | comply with any of the material terms or conditions of this Agreement and
184 | does not cure such failure in a reasonable period of time after becoming
185 | aware of such noncompliance. If all Recipient's rights under this Agreement
186 | terminate, Recipient agrees to cease use and distribution of the Program as
187 | soon as reasonably practicable. However, Recipient's obligations under this
188 | Agreement and any licenses granted by Recipient relating to the Program shall
189 | continue and survive.
190 |
191 | Everyone is permitted to copy and distribute copies of this Agreement, but in
192 | order to avoid inconsistency the Agreement is copyrighted and may only be
193 | modified in the following manner. The Agreement Steward reserves the right to
194 | publish new versions (including revisions) of this Agreement from time to
195 | time. No one other than the Agreement Steward has the right to modify this
196 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The
197 | Eclipse Foundation may assign the responsibility to serve as the Agreement
198 | Steward to a suitable separate entity. Each new version of the Agreement will
199 | be given a distinguishing version number. The Program (including
200 | Contributions) may always be distributed subject to the version of the
201 | Agreement under which it was received. In addition, after a new version of
202 | the Agreement is published, Contributor may elect to distribute the Program
203 | (including its Contributions) under the new version. Except as expressly
204 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or
205 | licenses to the intellectual property of any Contributor under this
206 | Agreement, whether expressly, by implication, estoppel or otherwise. All
207 | rights in the Program not expressly granted under this Agreement are
208 | reserved.
209 |
210 | This Agreement is governed by the laws of the State of New York and the
211 | intellectual property laws of the United States of America. No party to this
212 | Agreement will bring a legal action under this Agreement more than one year
213 | after the cause of action arose. Each party waives its rights to a jury trial
214 | in any resulting litigation.
215 |
--------------------------------------------------------------------------------
/chapter-4/domina_project/LICENSE:
--------------------------------------------------------------------------------
1 | THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE PUBLIC
2 | LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM
3 | CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
4 |
5 | 1. DEFINITIONS
6 |
7 | "Contribution" means:
8 |
9 | a) in the case of the initial Contributor, the initial code and
10 | documentation distributed under this Agreement, and
11 |
12 | b) in the case of each subsequent Contributor:
13 |
14 | i) changes to the Program, and
15 |
16 | ii) additions to the Program;
17 |
18 | where such changes and/or additions to the Program originate from and are
19 | distributed by that particular Contributor. A Contribution 'originates' from
20 | a Contributor if it was added to the Program by such Contributor itself or
21 | anyone acting on such Contributor's behalf. Contributions do not include
22 | additions to the Program which: (i) are separate modules of software
23 | distributed in conjunction with the Program under their own license
24 | agreement, and (ii) are not derivative works of the Program.
25 |
26 | "Contributor" means any person or entity that distributes the Program.
27 |
28 | "Licensed Patents" mean patent claims licensable by a Contributor which are
29 | necessarily infringed by the use or sale of its Contribution alone or when
30 | combined with the Program.
31 |
32 | "Program" means the Contributions distributed in accordance with this
33 | Agreement.
34 |
35 | "Recipient" means anyone who receives the Program under this Agreement,
36 | including all Contributors.
37 |
38 | 2. GRANT OF RIGHTS
39 |
40 | a) Subject to the terms of this Agreement, each Contributor hereby grants
41 | Recipient a non-exclusive, worldwide, royalty-free copyright license to
42 | reproduce, prepare derivative works of, publicly display, publicly perform,
43 | distribute and sublicense the Contribution of such Contributor, if any, and
44 | such derivative works, in source code and object code form.
45 |
46 | b) Subject to the terms of this Agreement, each Contributor hereby grants
47 | Recipient a non-exclusive, worldwide, royalty-free patent license under
48 | Licensed Patents to make, use, sell, offer to sell, import and otherwise
49 | transfer the Contribution of such Contributor, if any, in source code and
50 | object code form. This patent license shall apply to the combination of the
51 | Contribution and the Program if, at the time the Contribution is added by the
52 | Contributor, such addition of the Contribution causes such combination to be
53 | covered by the Licensed Patents. The patent license shall not apply to any
54 | other combinations which include the Contribution. No hardware per se is
55 | licensed hereunder.
56 |
57 | c) Recipient understands that although each Contributor grants the licenses
58 | to its Contributions set forth herein, no assurances are provided by any
59 | Contributor that the Program does not infringe the patent or other
60 | intellectual property rights of any other entity. Each Contributor disclaims
61 | any liability to Recipient for claims brought by any other entity based on
62 | infringement of intellectual property rights or otherwise. As a condition to
63 | exercising the rights and licenses granted hereunder, each Recipient hereby
64 | assumes sole responsibility to secure any other intellectual property rights
65 | needed, if any. For example, if a third party patent license is required to
66 | allow Recipient to distribute the Program, it is Recipient's responsibility
67 | to acquire that license before distributing the Program.
68 |
69 | d) Each Contributor represents that to its knowledge it has sufficient
70 | copyright rights in its Contribution, if any, to grant the copyright license
71 | set forth in this Agreement.
72 |
73 | 3. REQUIREMENTS
74 |
75 | A Contributor may choose to distribute the Program in object code form under
76 | its own license agreement, provided that:
77 |
78 | a) it complies with the terms and conditions of this Agreement; and
79 |
80 | b) its license agreement:
81 |
82 | i) effectively disclaims on behalf of all Contributors all warranties and
83 | conditions, express and implied, including warranties or conditions of title
84 | and non-infringement, and implied warranties or conditions of merchantability
85 | and fitness for a particular purpose;
86 |
87 | ii) effectively excludes on behalf of all Contributors all liability for
88 | damages, including direct, indirect, special, incidental and consequential
89 | damages, such as lost profits;
90 |
91 | iii) states that any provisions which differ from this Agreement are offered
92 | by that Contributor alone and not by any other party; and
93 |
94 | iv) states that source code for the Program is available from such
95 | Contributor, and informs licensees how to obtain it in a reasonable manner on
96 | or through a medium customarily used for software exchange.
97 |
98 | When the Program is made available in source code form:
99 |
100 | a) it must be made available under this Agreement; and
101 |
102 | b) a copy of this Agreement must be included with each copy of the Program.
103 |
104 | Contributors may not remove or alter any copyright notices contained within
105 | the Program.
106 |
107 | Each Contributor must identify itself as the originator of its Contribution,
108 | if any, in a manner that reasonably allows subsequent Recipients to identify
109 | the originator of the Contribution.
110 |
111 | 4. COMMERCIAL DISTRIBUTION
112 |
113 | Commercial distributors of software may accept certain responsibilities with
114 | respect to end users, business partners and the like. While this license is
115 | intended to facilitate the commercial use of the Program, the Contributor who
116 | includes the Program in a commercial product offering should do so in a
117 | manner which does not create potential liability for other Contributors.
118 | Therefore, if a Contributor includes the Program in a commercial product
119 | offering, such Contributor ("Commercial Contributor") hereby agrees to defend
120 | and indemnify every other Contributor ("Indemnified Contributor") against any
121 | losses, damages and costs (collectively "Losses") arising from claims,
122 | lawsuits and other legal actions brought by a third party against the
123 | Indemnified Contributor to the extent caused by the acts or omissions of such
124 | Commercial Contributor in connection with its distribution of the Program in
125 | a commercial product offering. The obligations in this section do not apply
126 | to any claims or Losses relating to any actual or alleged intellectual
127 | property infringement. In order to qualify, an Indemnified Contributor must:
128 | a) promptly notify the Commercial Contributor in writing of such claim, and
129 | b) allow the Commercial Contributor tocontrol, and cooperate with the
130 | Commercial Contributor in, the defense and any related settlement
131 | negotiations. The Indemnified Contributor may participate in any such claim
132 | at its own expense.
133 |
134 | For example, a Contributor might include the Program in a commercial product
135 | offering, Product X. That Contributor is then a Commercial Contributor. If
136 | that Commercial Contributor then makes performance claims, or offers
137 | warranties related to Product X, those performance claims and warranties are
138 | such Commercial Contributor's responsibility alone. Under this section, the
139 | Commercial Contributor would have to defend claims against the other
140 | Contributors related to those performance claims and warranties, and if a
141 | court requires any other Contributor to pay any damages as a result, the
142 | Commercial Contributor must pay those damages.
143 |
144 | 5. NO WARRANTY
145 |
146 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS PROVIDED ON
147 | AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER
148 | EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR
149 | CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A
150 | PARTICULAR PURPOSE. Each Recipient is solely responsible for determining the
151 | appropriateness of using and distributing the Program and assumes all risks
152 | associated with its exercise of rights under this Agreement , including but
153 | not limited to the risks and costs of program errors, compliance with
154 | applicable laws, damage to or loss of data, programs or equipment, and
155 | unavailability or interruption of operations.
156 |
157 | 6. DISCLAIMER OF LIABILITY
158 |
159 | EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR ANY
160 | CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL,
161 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION
162 | LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
163 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
164 | ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
165 | EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY
166 | OF SUCH DAMAGES.
167 |
168 | 7. GENERAL
169 |
170 | If any provision of this Agreement is invalid or unenforceable under
171 | applicable law, it shall not affect the validity or enforceability of the
172 | remainder of the terms of this Agreement, and without further action by the
173 | parties hereto, such provision shall be reformed to the minimum extent
174 | necessary to make such provision valid and enforceable.
175 |
176 | If Recipient institutes patent litigation against any entity (including a
177 | cross-claim or counterclaim in a lawsuit) alleging that the Program itself
178 | (excluding combinations of the Program with other software or hardware)
179 | infringes such Recipient's patent(s), then such Recipient's rights granted
180 | under Section 2(b) shall terminate as of the date such litigation is filed.
181 |
182 | All Recipient's rights under this Agreement shall terminate if it fails to
183 | comply with any of the material terms or conditions of this Agreement and
184 | does not cure such failure in a reasonable period of time after becoming
185 | aware of such noncompliance. If all Recipient's rights under this Agreement
186 | terminate, Recipient agrees to cease use and distribution of the Program as
187 | soon as reasonably practicable. However, Recipient's obligations under this
188 | Agreement and any licenses granted by Recipient relating to the Program shall
189 | continue and survive.
190 |
191 | Everyone is permitted to copy and distribute copies of this Agreement, but in
192 | order to avoid inconsistency the Agreement is copyrighted and may only be
193 | modified in the following manner. The Agreement Steward reserves the right to
194 | publish new versions (including revisions) of this Agreement from time to
195 | time. No one other than the Agreement Steward has the right to modify this
196 | Agreement. The Eclipse Foundation is the initial Agreement Steward. The
197 | Eclipse Foundation may assign the responsibility to serve as the Agreement
198 | Steward to a suitable separate entity. Each new version of the Agreement will
199 | be given a distinguishing version number. The Program (including
200 | Contributions) may always be distributed subject to the version of the
201 | Agreement under which it was received. In addition, after a new version of
202 | the Agreement is published, Contributor may elect to distribute the Program
203 | (including its Contributions) under the new version. Except as expressly
204 | stated in Sections 2(a) and 2(b) above, Recipient receives no rights or
205 | licenses to the intellectual property of any Contributor under this
206 | Agreement, whether expressly, by implication, estoppel or otherwise. All
207 | rights in the Program not expressly granted under this Agreement are
208 | reserved.
209 |
210 | This Agreement is governed by the laws of the State of New York and the
211 | intellectual property laws of the United States of America. No party to this
212 | Agreement will bring a legal action under this Agreement more than one year
213 | after the cause of action arose. Each party waives its rights to a jury trial
214 | in any resulting litigation.
215 |
--------------------------------------------------------------------------------