Comments (7)
Can you add the error?
Sent from my iPod
On Jul 17, 2015, at 11:29 AM, Alexey Lunacharsky [email protected] wrote:
Hello,
when I'm using project like this https://gist.github.com/alun/d8a395a02ec90a0a4a99
lein help
or
lein resource
will cause resource plugin to throw an exception. Looks like some dependencies are conflicting but I'm not sure which of them.—
Reply to this email directly or view it on GitHub.
from lein-resource.
Sure, here is what I see when running lein resource
:
clojure.lang.Compiler$CompilerException: java.lang.ExceptionInInitializerError, compiling:(leiningen/resource.clj:1:1)
at clojure.lang.Compiler.load (Compiler.java:7142)
clojure.lang.RT.loadResourceScript (RT.java:370)
clojure.lang.RT.loadResourceScript (RT.java:361)
clojure.lang.RT.load (RT.java:440)
clojure.lang.RT.load (RT.java:411)
clojure.core$load$fn__5066.invoke (core.clj:5641)
clojure.core$load.doInvoke (core.clj:5640)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5446)
clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
clojure.core$load_lib.doInvoke (core.clj:5485)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:626)
clojure.core$load_libs.doInvoke (core.clj:5524)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:626)
clojure.core$require.doInvoke (core.clj:5607)
clojure.lang.RestFn.invoke (RestFn.java:408)
leiningen.core.utils$require_resolve.invoke (utils.clj:80)
leiningen.core.utils$require_resolve.invoke (utils.clj:83)
leiningen.core.main$lookup_task_var.invoke (main.clj:68)
leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:78)
leiningen.core.main$task_args.invoke (main.clj:81)
leiningen.core.main$resolve_and_apply.invoke (main.clj:318)
leiningen.core.main$_main$fn__6160.invoke (main.clj:392)
leiningen.core.main$_main.doInvoke (main.clj:385)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.lang.Var.invoke (Var.java:379)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:624)
clojure.main$main_opt.invoke (main.clj:315)
clojure.main$main.doInvoke (main.clj:420)
clojure.lang.RestFn.invoke (RestFn.java:436)
clojure.lang.Var.invoke (Var.java:388)
clojure.lang.AFn.applyToHelper (AFn.java:160)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
Caused by: java.lang.ExceptionInInitializerError: null
at java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:344)
clojure.lang.RT.loadClassForName (RT.java:2093)
clojure.lang.RT.load (RT.java:430)
clojure.lang.RT.load (RT.java:411)
clojure.core$load$fn__5066.invoke (core.clj:5641)
clojure.core$load.doInvoke (core.clj:5640)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5446)
clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
clojure.core$load_lib.doInvoke (core.clj:5485)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:626)
clojure.core$load_libs.doInvoke (core.clj:5524)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:626)
clojure.core$require.doInvoke (core.clj:5607)
clojure.lang.RestFn.invoke (RestFn.java:421)
stencil.core$loading__4958__auto__.invoke (core.clj:1)
stencil.core__init.load (:1)
stencil.core__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:344)
clojure.lang.RT.loadClassForName (RT.java:2093)
clojure.lang.RT.load (RT.java:430)
clojure.lang.RT.load (RT.java:411)
clojure.core$load$fn__5066.invoke (core.clj:5641)
clojure.core$load.doInvoke (core.clj:5640)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5446)
clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
clojure.core$load_lib.doInvoke (core.clj:5485)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:626)
clojure.core$load_libs.doInvoke (core.clj:5524)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:626)
clojure.core$require.doInvoke (core.clj:5607)
clojure.lang.RestFn.invoke (RestFn.java:551)
leiningen.resource$eval602$loading__4958__auto____603.invoke (resource.clj:1)
leiningen.resource$eval602.invoke (resource.clj:1)
clojure.lang.Compiler.eval (Compiler.java:6703)
clojure.lang.Compiler.eval (Compiler.java:6692)
clojure.lang.Compiler.load (Compiler.java:7130)
clojure.lang.RT.loadResourceScript (RT.java:370)
clojure.lang.RT.loadResourceScript (RT.java:361)
clojure.lang.RT.load (RT.java:440)
clojure.lang.RT.load (RT.java:411)
clojure.core$load$fn__5066.invoke (core.clj:5641)
clojure.core$load.doInvoke (core.clj:5640)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5446)
clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
clojure.core$load_lib.doInvoke (core.clj:5485)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:626)
clojure.core$load_libs.doInvoke (core.clj:5524)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:626)
clojure.core$require.doInvoke (core.clj:5607)
clojure.lang.RestFn.invoke (RestFn.java:408)
leiningen.core.utils$require_resolve.invoke (utils.clj:80)
leiningen.core.utils$require_resolve.invoke (utils.clj:83)
leiningen.core.main$lookup_task_var.invoke (main.clj:68)
leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:78)
leiningen.core.main$task_args.invoke (main.clj:81)
leiningen.core.main$resolve_and_apply.invoke (main.clj:318)
leiningen.core.main$_main$fn__6160.invoke (main.clj:392)
leiningen.core.main$_main.doInvoke (main.clj:385)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.lang.Var.invoke (Var.java:379)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:624)
clojure.main$main_opt.invoke (main.clj:315)
clojure.main$main.doInvoke (main.clj:420)
clojure.lang.RestFn.invoke (RestFn.java:436)
clojure.lang.Var.invoke (Var.java:388)
clojure.lang.AFn.applyToHelper (AFn.java:160)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
Caused by: clojure.lang.Compiler$CompilerException: java.io.FileNotFoundException: Could not locate clojure/data/priority_map__init.class or clojure/data/priority_map.clj on classpath: , compiling:(clojure/core/cache.clj:1:1)
at clojure.lang.Compiler.load (Compiler.java:7142)
clojure.lang.RT.loadResourceScript (RT.java:370)
clojure.lang.RT.loadResourceScript (RT.java:361)
clojure.lang.RT.load (RT.java:440)
clojure.lang.RT.load (RT.java:411)
clojure.core$load$fn__5066.invoke (core.clj:5641)
clojure.core$load.doInvoke (core.clj:5640)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5446)
clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
clojure.core$load_lib.doInvoke (core.clj:5485)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:626)
clojure.core$load_libs.doInvoke (core.clj:5524)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:626)
clojure.core$require.doInvoke (core.clj:5607)
clojure.lang.RestFn.invoke (RestFn.java:408)
stencil.loader/fn (loader.clj:43)
stencil.loader__init.load (:42)
stencil.loader__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:344)
clojure.lang.RT.loadClassForName (RT.java:2093)
clojure.lang.RT.load (RT.java:430)
clojure.lang.RT.load (RT.java:411)
clojure.core$load$fn__5066.invoke (core.clj:5641)
clojure.core$load.doInvoke (core.clj:5640)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5446)
clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
clojure.core$load_lib.doInvoke (core.clj:5485)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:626)
clojure.core$load_libs.doInvoke (core.clj:5524)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:626)
clojure.core$require.doInvoke (core.clj:5607)
clojure.lang.RestFn.invoke (RestFn.java:421)
stencil.core$loading__4958__auto__.invoke (core.clj:1)
stencil.core__init.load (:1)
stencil.core__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:344)
clojure.lang.RT.loadClassForName (RT.java:2093)
clojure.lang.RT.load (RT.java:430)
clojure.lang.RT.load (RT.java:411)
clojure.core$load$fn__5066.invoke (core.clj:5641)
clojure.core$load.doInvoke (core.clj:5640)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5446)
clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
clojure.core$load_lib.doInvoke (core.clj:5485)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:626)
clojure.core$load_libs.doInvoke (core.clj:5524)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:626)
clojure.core$require.doInvoke (core.clj:5607)
clojure.lang.RestFn.invoke (RestFn.java:551)
leiningen.resource$eval602$loading__4958__auto____603.invoke (resource.clj:1)
leiningen.resource$eval602.invoke (resource.clj:1)
clojure.lang.Compiler.eval (Compiler.java:6703)
clojure.lang.Compiler.eval (Compiler.java:6692)
clojure.lang.Compiler.load (Compiler.java:7130)
clojure.lang.RT.loadResourceScript (RT.java:370)
clojure.lang.RT.loadResourceScript (RT.java:361)
clojure.lang.RT.load (RT.java:440)
clojure.lang.RT.load (RT.java:411)
clojure.core$load$fn__5066.invoke (core.clj:5641)
clojure.core$load.doInvoke (core.clj:5640)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5446)
clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
clojure.core$load_lib.doInvoke (core.clj:5485)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:626)
clojure.core$load_libs.doInvoke (core.clj:5524)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:626)
clojure.core$require.doInvoke (core.clj:5607)
clojure.lang.RestFn.invoke (RestFn.java:408)
leiningen.core.utils$require_resolve.invoke (utils.clj:80)
leiningen.core.utils$require_resolve.invoke (utils.clj:83)
leiningen.core.main$lookup_task_var.invoke (main.clj:68)
leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:78)
leiningen.core.main$task_args.invoke (main.clj:81)
leiningen.core.main$resolve_and_apply.invoke (main.clj:318)
leiningen.core.main$_main$fn__6160.invoke (main.clj:392)
leiningen.core.main$_main.doInvoke (main.clj:385)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.lang.Var.invoke (Var.java:379)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:624)
clojure.main$main_opt.invoke (main.clj:315)
clojure.main$main.doInvoke (main.clj:420)
clojure.lang.RestFn.invoke (RestFn.java:436)
clojure.lang.Var.invoke (Var.java:388)
clojure.lang.AFn.applyToHelper (AFn.java:160)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
Caused by: java.io.FileNotFoundException: Could not locate clojure/data/priority_map__init.class or clojure/data/priority_map.clj on classpath:
at clojure.lang.RT.load (RT.java:443)
clojure.lang.RT.load (RT.java:411)
clojure.core$load$fn__5066.invoke (core.clj:5641)
clojure.core$load.doInvoke (core.clj:5640)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5446)
clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
clojure.core$load_lib.doInvoke (core.clj:5485)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:626)
clojure.core$load_libs.doInvoke (core.clj:5524)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:626)
clojure.core$require.doInvoke (core.clj:5607)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core.cache$eval608$loading__4958__auto____609.invoke (cache.clj:9)
clojure.core.cache$eval608.invoke (cache.clj:9)
clojure.lang.Compiler.eval (Compiler.java:6703)
clojure.lang.Compiler.eval (Compiler.java:6692)
clojure.lang.Compiler.load (Compiler.java:7130)
clojure.lang.RT.loadResourceScript (RT.java:370)
clojure.lang.RT.loadResourceScript (RT.java:361)
clojure.lang.RT.load (RT.java:440)
clojure.lang.RT.load (RT.java:411)
clojure.core$load$fn__5066.invoke (core.clj:5641)
clojure.core$load.doInvoke (core.clj:5640)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5446)
clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
clojure.core$load_lib.doInvoke (core.clj:5485)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:626)
clojure.core$load_libs.doInvoke (core.clj:5524)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:626)
clojure.core$require.doInvoke (core.clj:5607)
clojure.lang.RestFn.invoke (RestFn.java:408)
stencil.loader/fn (loader.clj:43)
stencil.loader__init.load (:42)
stencil.loader__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:344)
clojure.lang.RT.loadClassForName (RT.java:2093)
clojure.lang.RT.load (RT.java:430)
clojure.lang.RT.load (RT.java:411)
clojure.core$load$fn__5066.invoke (core.clj:5641)
clojure.core$load.doInvoke (core.clj:5640)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5446)
clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
clojure.core$load_lib.doInvoke (core.clj:5485)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:626)
clojure.core$load_libs.doInvoke (core.clj:5524)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:626)
clojure.core$require.doInvoke (core.clj:5607)
clojure.lang.RestFn.invoke (RestFn.java:421)
stencil.core$loading__4958__auto__.invoke (core.clj:1)
stencil.core__init.load (:1)
stencil.core__init.<clinit> (:-1)
java.lang.Class.forName0 (Class.java:-2)
java.lang.Class.forName (Class.java:344)
clojure.lang.RT.loadClassForName (RT.java:2093)
clojure.lang.RT.load (RT.java:430)
clojure.lang.RT.load (RT.java:411)
clojure.core$load$fn__5066.invoke (core.clj:5641)
clojure.core$load.doInvoke (core.clj:5640)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5446)
clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
clojure.core$load_lib.doInvoke (core.clj:5485)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:626)
clojure.core$load_libs.doInvoke (core.clj:5524)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:626)
clojure.core$require.doInvoke (core.clj:5607)
clojure.lang.RestFn.invoke (RestFn.java:551)
leiningen.resource$eval602$loading__4958__auto____603.invoke (resource.clj:1)
leiningen.resource$eval602.invoke (resource.clj:1)
clojure.lang.Compiler.eval (Compiler.java:6703)
clojure.lang.Compiler.eval (Compiler.java:6692)
clojure.lang.Compiler.load (Compiler.java:7130)
clojure.lang.RT.loadResourceScript (RT.java:370)
clojure.lang.RT.loadResourceScript (RT.java:361)
clojure.lang.RT.load (RT.java:440)
clojure.lang.RT.load (RT.java:411)
clojure.core$load$fn__5066.invoke (core.clj:5641)
clojure.core$load.doInvoke (core.clj:5640)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.core$load_one.invoke (core.clj:5446)
clojure.core$load_lib$fn__5015.invoke (core.clj:5486)
clojure.core$load_lib.doInvoke (core.clj:5485)
clojure.lang.RestFn.applyTo (RestFn.java:142)
clojure.core$apply.invoke (core.clj:626)
clojure.core$load_libs.doInvoke (core.clj:5524)
clojure.lang.RestFn.applyTo (RestFn.java:137)
clojure.core$apply.invoke (core.clj:626)
clojure.core$require.doInvoke (core.clj:5607)
clojure.lang.RestFn.invoke (RestFn.java:408)
leiningen.core.utils$require_resolve.invoke (utils.clj:80)
leiningen.core.utils$require_resolve.invoke (utils.clj:83)
leiningen.core.main$lookup_task_var.invoke (main.clj:68)
leiningen.core.main$pass_through_help_QMARK_.invoke (main.clj:78)
leiningen.core.main$task_args.invoke (main.clj:81)
leiningen.core.main$resolve_and_apply.invoke (main.clj:318)
leiningen.core.main$_main$fn__6160.invoke (main.clj:392)
leiningen.core.main$_main.doInvoke (main.clj:385)
clojure.lang.RestFn.invoke (RestFn.java:408)
clojure.lang.Var.invoke (Var.java:379)
clojure.lang.AFn.applyToHelper (AFn.java:154)
clojure.lang.Var.applyTo (Var.java:700)
clojure.core$apply.invoke (core.clj:624)
clojure.main$main_opt.invoke (main.clj:315)
clojure.main$main.doInvoke (main.clj:420)
clojure.lang.RestFn.invoke (RestFn.java:436)
clojure.lang.Var.invoke (Var.java:388)
clojure.lang.AFn.applyToHelper (AFn.java:160)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
Looks something is with priority-map class, probably resource and figwheel use different clojure versions? If you have any suggestions how could I fix that at least locally, then it would be very helpful.
from lein-resource.
Caused by: clojure.lang.Compiler$CompilerException: java.io.FileNotFoundException: Could not locate clojure/data/priority_map__init.class or clojure/data/priority_map.clj on classpath: , compiling:(clojure/core/cache.clj:1:1
from lein-resource.
See #13. Make sure you are using the most recent release.
from lein-resource.
I'm seeing this as well with 14.10.2.
from lein-resource.
I use
[lein-figwheel "0.3.7"]
[lein-resource "14.10.2"]
@m0smith I not sure maybe you mean most recent release of clojure?
The thing is when I comment one of those lines - all works perfectly, if I keep both - the error appears.
from lein-resource.
Once again stencil's usage of core.cache bites us. As I found elsewhere, core.cache or data.priority-map is used by Clojure in such a way that it chokes if it gets a different version than it expects in a plugin. The trick is to exclude core.cache from the plugins so that when it is used in a plugin, the one already loaded will be used. In this case, excluding it from the figwheel plugin. I suspect the underlying problem is the way stencil is trying to load it so is something else tries to load it, stencil blows up.
That includes core.async. So anything that uses core.async will also trigger this issue.
(defproject bug-proof "1.0.0-SNAPSHOT"
:description "Figwheel can't be used with resource"
:dependencies [[org.clojure/data.priority-map "0.0.7"]]
:plugins [
[lein-figwheel "0.3.7" :exclusions [org.clojure/core.cache]]
[lein-resource "14.10.2"]]
:resource {:resource-paths ["pages"]
:target-path "release"
:skip-stencil [#".*"]})
from lein-resource.
Related Issues (18)
- Add support for :excludes, :includes and :target-path for resource-paths HOT 5
- Problems on lein HOT 3
- lein-resource does not retain file permissions. HOT 2
- Error using lein resource HOT 3
- Running lein resource or resource pprint throws an exception HOT 4
- UnsupportedOperationException HOT 4
- Update dependencies
- Create the target dir if it doesn't exist HOT 1
- Add support for clojure.spec HOT 1
- support :extra-values for specific target paths HOT 3
- Copy stops on first non-updated file when using :update true HOT 7
- Binary files are getting corrupted HOT 1
- Add a hook so resouce is called before compile HOT 1
- Create a 'clean' task HOT 1
- help should display all possible task-keys HOT 6
- Allow multiple tasks HOT 3
- Only copy resources if src is newer than dest HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lein-resource.