This is so cool and extremely useful. Thank you so much for this! Ghadi
On Tuesday, June 10, 2014 11:39:12 AM UTC-4, Francesco Bellomi wrote: > > Hello everyone, > > http://crossclj.info > > I've been working on CrossClj for some time now, and I feel it has grown > usable (and useful) enough to make a public announcement. > > CrossClj is a tool to explore the whole Clojure(-script) open-source > ecosystem as an interconnected codebase. > > The source code of Leiningen projects published as Clojars artifacts is > rendered as a hypertext; each var occurrence is linked to its definition > (namespaces belonging to different artifacts are resolved using maven > coordinates), and each reference to a method/class of the standard Java JDK > lib is linked to the Oracle documentation. > > Starting from a var definition, it is possible to list all the qualified > occurrences of the var across all the indexed projects; or it is possible > to search all namespaces in all projects for vars with a given name. > > A project should be automatically listed, provided that the following > conditions are met: > - The project is deployed on Clojars under a public group (not a > org.clojars.* user group) > - The project uses Leiningen and provides a project.clj with a description. > - The project has at least one non-SHAPSHOT release. > - Source code is incuded into project's artifact, and hosted publicly on > GitHub (i.e. there is a github reference on the project's POM under the url > or scm/connection fields). This almost ensures that the source code license > is compatible with CrossClj's usage. > > Some examples illustrating various features: > > > http://crossclj.info/ns/org.clojure/tools.analyzer/0.2.1/clojure.tools.analyzer.html#_macroexpand > http://crossclj.info/fun/clojure.core/reduce.html > http://crossclj.info/search?q=map > http://crossclj.info/ns/ring/ring-core/1.3.0/project.clj.html > http://crossclj.info/ns/org.clojure/clojure/1.6.0/clojure.core.html > http://crossclj.info/ns/garden/1.1.7/garden.stylesheet.cljs.html > > The cross-reference index and the website content is updated daily, by > looking at Clojars' feed (http://clojars.org/repo/feed.clj.gz), and by > fetching the new artifacts that match the above constraints. The impact in > terms of bandwidth is negligible. > The update process is designed to be fully automated, but as of today it > is still initiated manually because there are some quality issues that > needs to be worked out. > > There are some scattered defects in the code analysis, due to my not yet > perfect use of the tools.analyzer.* toolchain. > Clojurescript macros definitions aren't yet cross-references. > > The fact that the open source Clojure ecosystem still has a manageable > size (about 3500 projects are indexed now) makes this kind of tools very > cheap to operate, and opens up many possibilities for the future, like > batch-executing other static analysis tools. > > Francesco Bellomi > @fbellomi > @crossclojure > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.