com.nedap.staffing-solutions/eastwood

A Clojure lint tool



Documentation

Eastwood - temp fork

Offering

Tweaking Eastwood in such a way that it can be run repeatedly within a regular development project, without incurring into code reloading issues (clojure.lang.Namepace errors) or cleanliness issues (extraneous aliases being introduced into the current namespace).

Caveats

Any defmacro bodies subject to Eastwood analysis (i.e. those in your project, as per formatting-stack, and not macros from clojure.core, libs, etc) must not be implemented in terms of refered variables, or specific namespace aliases:

(ns foo
  (:require [clojure.string :as string]))

(def thing 42)

(defmacro example
- [thing string/blank?])
+ [foo/thing clojure.string/blank?])

For some reason, macros seem to only have access to the dev/user ns environment, so variables/aliases cannot be assumed.

Probably an issue in Eastwood or tools.analyzer.

Roadmap

  • Try this fork for a while
  • Eventually propose a PR to Eastwood upstream.

Installation

[com.nedap.staffing-solutions/eastwood "0.3.7-alpha5"]

License

Copyright (C) 2012-2015 Jonas Enlund, Nicola Mometto, and Andy Fingerhut

Distributed under the Eclipse Public License, the same as Clojure.

The source code of the following libraries has been copied into Eastwood's source code, and each of their copyright and license info is given below. They are all distributed under the Eclipse Public License 1.0.

core.cache

core.cache

Copyright (c) Rich Hickey, Michael Fogus and contributors, 2012. All rights reserved. The use and distribution terms for this software are covered by the Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) which can be found in the file epl-v10.html at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software.

core.contracts

core.contracts

Copyright (c) Rich Hickey, Michael Fogus and contributors, 2012. All rights reserved. The use and distribution terms for this software are covered by the Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) which can be found in the file epl-v10.html at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software.

core.memoize

core.memoize

Copyright (c) Rich Hickey and Michael Fogus, 2012, 2013. All rights reserved. The use and distribution terms for this software are covered by the Eclipse Public License 1.0 (http://opensource.org/licenses/eclipse-1.0.php) which can be found in the file epl-v10.html at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software.

core.unify

core.unify

Copyright © 2011 Rich Hickey

Licensed under the EPL. (See the file epl.html.)

data.priority-map

Copyright (C) 2013 Mark Engelberg

Distributed under the Eclipse Public License, the same as Clojure.

data.priority-map

leinjacker

leinjacker

Copyright © 2012 Sattvik Software & Technology Resources, Ltd. Co. All rights reserved.

Distributed under the Eclipse Public License, the same as Clojure.

tools.analyzer

tools.analyzer

Copyright © 2013-2014 Nicola Mometto, Rich Hickey & contributors.

Distributed under the Eclipse Public License, the same as Clojure.

tools.analyzer.jvm

tools.analyzer.jvm

Copyright © 2013-2014 Nicola Mometto, Rich Hickey & contributors.

Distributed under the Eclipse Public License, the same as Clojure.

tools.namespace

tools.namespace

Copyright © 2012 Stuart Sierra All rights reserved. The use and distribution terms for this software are covered by the Eclipse Public License 1.0 which can be found in the file epl-v10.html at the root of this distribution. By using this software in any fashion, you are agreeing to be bound by the terms of this license. You must not remove this notice, or any other, from this software.

tools.reader

tools.reader

Copyright © 2013-2014 Nicola Mometto, Rich Hickey & contributors.

Licensed under the EPL. (See the file epl.html.)