Skip to content

Latest commit

 

History

History
153 lines (115 loc) · 5.11 KB

README.org

File metadata and controls

153 lines (115 loc) · 5.11 KB

thi.ng/fabric-core

Contents

About the project

Overview

This module provides the general Compute graph infrastructure used by all other modules:

  • Core protocols
  • Compute graph
  • Default vertex
  • Common signal & collect functions
  • Execution contexts & schedulers

Status

ALPHA quality, in active development.

Example usage

See main README and test namespaces below for usage examples.

Namespaces

Tests

Module definition

Building & testing this project

Please see the parent project for further information.

Injected properties

thi.ng/fabric-core

Leiningen project file

(defproject <<project-name>> "<<conf-version()>>"
  :description  "Signal/Collect inspired compute graph infrastructure"
  :url          "<<conf-project-url>>"
  :license      {:name "Apache Software License 2.0"
                 :url "http://www.apache.org/licenses/LICENSE-2.0"
                 :distribution :repo}
  :scm          {:name "git"
                 :url "<<conf-project-url>>"}

  :min-lein-vesion "2.4.0"

  :dependencies [<<dep-clj>>
                 <<dep-cljs>>
                 <<dep-async>>
                 <<dep-timbre>>
                 <<dep-cljslog>>
                 <<dep-xerror>>]

  :profiles     {:dev {:dependencies [<<dep-criterium>>]
                       :plugins      [<<dep-cljsbuild>>
                                      <<dep-cljs-test>>]
                       :global-vars  {*warn-on-reflection* true}
                       :jvm-opts ^:replace []
                       :aliases {"cleantest" ["do" "clean," "test," "cljsbuild" "test"]}}}

  :cljsbuild    {:builds [{:source-paths ["src" "test"]
                           :id "dev"
                           :compiler {:output-to "<<cljs-artefact-path>>"
                                      :optimizations :whitespace
                                      :pretty-print true}}
                          {:source-paths ["src"]
                           :id "prod"
                           :compiler {:output-to "<<cljs-artefact-path>>"
                                      :optimizations :advanced
                                      :pretty-print false}}]
                 :test-commands {"unit-tests" ["phantomjs" :runner "<<cljs-artefact-path>>"]}}

  :pom-addition [:developers [:developer
                              [:name "Karsten Schmidt"]
                              [:url "http://thi.ng/fabric"]
                              [:timezone "0"]]])

ClojureScript HTML harness

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title><<project-name>> <<conf-version()>> test</title>
  </head>
  <body>
    <script type="text/javascript" src="<<cljs-artefact-path>>"></script>
  </body>
</html>

Accessing library version during runtime

The autogenerated namespace thi.ng.fabric.core.version contains a single symbol version holding the version string defined above:

(use '[thi.ng.fabric.core.version])

(prn version)
; "<<conf-version()>>"

Version namespace

License

Copyright © 2015 Karsten Schmidt

This project is open source and licensed under the Apache Software License 2.0.