diff --git a/.travis.yml b/.travis.yml index b2859589b..0abda2c30 100644 --- a/.travis.yml +++ b/.travis.yml @@ -12,7 +12,7 @@ matrix: fast_finish: true include: - rust: nightly - env: FEATURES="--features ethcore/json-tests" KCOV_FEATURES="" TARGETS="-p ethash -p ethcore-util -p ethcore -p ethsync -p ethcore-rpc -p parity" ARCHIVE_SUFFIX="-${TRAVIS_OS_NAME}-${TRAVIS_TAG}" + env: FEATURES='--features "ethcore/json-tests dev"' KCOV_FEATURES="" TARGETS="-p ethash -p ethcore-util -p ethcore -p ethsync -p ethcore-rpc -p parity" ARCHIVE_SUFFIX="-${TRAVIS_OS_NAME}-${TRAVIS_TAG}" cache: apt: true directories: diff --git a/Cargo.lock b/Cargo.lock index 87a599f3d..7f05f1042 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -176,7 +176,6 @@ dependencies = [ name = "ethcore" version = "0.9.99" dependencies = [ - "clippy 0.0.41 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam 0.1.6 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "ethash 0.9.99", @@ -195,7 +194,6 @@ dependencies = [ name = "ethcore-rpc" version = "0.9.99" dependencies = [ - "clippy 0.0.41 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore 0.9.99", "ethcore-util 0.9.99", "ethsync 0.9.99", @@ -213,7 +211,6 @@ name = "ethcore-util" version = "0.9.99" dependencies = [ "arrayvec 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", - "clippy 0.0.41 (registry+https://github.com/rust-lang/crates.io-index)", "crossbeam 0.2.8 (registry+https://github.com/rust-lang/crates.io-index)", "elastic-array 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -241,7 +238,6 @@ dependencies = [ name = "ethsync" version = "0.9.99" dependencies = [ - "clippy 0.0.41 (registry+https://github.com/rust-lang/crates.io-index)", "env_logger 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore 0.9.99", "ethcore-util 0.9.99", diff --git a/Cargo.toml b/Cargo.toml index 828ed32e7..c7620d5a2 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -12,7 +12,7 @@ rustc-serialize = "0.3" docopt = "0.6" docopt_macros = "0.6" ctrlc = { git = "https://github.com/tomusdrw/rust-ctrlc.git" } -clippy = "0.0.41" +clippy = { version = "0.0.41", optional = true } ethcore-util = { path = "util" } ethcore = { path = "ethcore" } ethsync = { path = "sync" } @@ -24,6 +24,7 @@ daemonize = "0.2" [features] default = ["rpc"] rpc = ["ethcore-rpc"] +dev = ["clippy", "ethcore/dev", "ethcore-util/dev", "ethsync/dev", "ethcore-rpc/dev"] [[bin]] path = "parity/main.rs" diff --git a/README.md b/README.md index 2ffb28f45..40c8796e2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ethcore -[![Build Status][travis-image]][travis-url] [![Coverage Status][coveralls-image]][coveralls-url] [![Join the chat at https://gitter.im/trogdoro/xiki][gitter-image]][gitter-url] +[![Build Status][travis-image]][travis-url] [![Coverage Status][coveralls-image]][coveralls-url] [![Join the chat at https://gitter.im/trogdoro/xiki][gitter-image]][gitter-url] [![GPLv3][license-image]][license-url] [travis-image]: https://travis-ci.org/ethcore/parity.svg?branch=master [travis-url]: https://travis-ci.org/ethcore/parity @@ -8,6 +8,8 @@ [coveralls-url]: https://coveralls.io/github/ethcore/parity?branch=master [gitter-image]: https://badges.gitter.im/Join%20Chat.svg [gitter-url]: https://gitter.im/ethcore/parity?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge +[license-image]: https://img.shields.io/badge/license-GPL%20v3-green.svg +[license-url]: http://www.gnu.org/licenses/gpl-3.0.en.html [Documentation](http://ethcore.github.io/parity/ethcore/index.html) diff --git a/ethcore/Cargo.toml b/ethcore/Cargo.toml index 3d4d27520..4aafebba1 100644 --- a/ethcore/Cargo.toml +++ b/ethcore/Cargo.toml @@ -18,7 +18,7 @@ ethcore-util = { path = "../util" } evmjit = { path = "../evmjit", optional = true } ethash = { path = "../ethash" } num_cpus = "0.2" -clippy = "0.0.41" +clippy = { version = "0.0.41", optional = true } crossbeam = "0.1.5" lazy_static = "0.1" @@ -27,3 +27,4 @@ jit = ["evmjit"] evm-debug = [] json-tests = [] test-heavy = [] +dev = ["clippy"] diff --git a/ethcore/src/lib.rs b/ethcore/src/lib.rs index 4cca74319..093906bd0 100644 --- a/ethcore/src/lib.rs +++ b/ethcore/src/lib.rs @@ -17,9 +17,8 @@ #![warn(missing_docs)] #![feature(cell_extras)] #![feature(augmented_assignments)] -#![feature(plugin)] -// Clippy -#![plugin(clippy)] +#![cfg_attr(feature="dev", feature(plugin))] +#![cfg_attr(feature="dev", plugin(clippy))] // TODO [todr] not really sure #![allow(needless_range_loop)] // Shorter than if-else diff --git a/parity/main.rs b/parity/main.rs index 077d92e54..4238a9333 100644 --- a/parity/main.rs +++ b/parity/main.rs @@ -18,7 +18,7 @@ #![warn(missing_docs)] #![feature(plugin)] -#![plugin(clippy)] +#![cfg_attr(feature="dev", plugin(clippy))] extern crate docopt; extern crate rustc_serialize; extern crate ethcore_util as util; diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index b1af0a2fa..107e22c07 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -16,6 +16,10 @@ jsonrpc-http-server = "1.1.2" ethcore-util = { path = "../util" } ethcore = { path = "../ethcore" } ethsync = { path = "../sync" } -clippy = "0.0.41" +clippy = { version = "0.0.41", optional = true } target_info = "0.1.0" rustc-serialize = "0.3" + +[features] +default = [] +dev = ["clippy", "ethcore/dev", "ethcore-util/dev", "ethsync/dev"] diff --git a/rpc/src/lib.rs b/rpc/src/lib.rs index 0b148c983..cd059e6b1 100644 --- a/rpc/src/lib.rs +++ b/rpc/src/lib.rs @@ -18,7 +18,7 @@ #![warn(missing_docs)] #![feature(custom_derive, custom_attribute, plugin)] #![plugin(serde_macros)] -#![plugin(clippy)] +#![cfg_attr(feature="dev", plugin(clippy))] extern crate rustc_serialize; extern crate target_info; diff --git a/sync/Cargo.toml b/sync/Cargo.toml index 92b46fc57..fc56ba2b9 100644 --- a/sync/Cargo.toml +++ b/sync/Cargo.toml @@ -10,8 +10,12 @@ authors = ["Ethcore . #![warn(missing_docs)] -#![feature(plugin)] +#![cfg_attr(feature="dev", feature(plugin))] +#![cfg_attr(feature="dev", plugin(clippy))] #![feature(augmented_assignments)] -#![plugin(clippy)] // Keeps consistency (all lines with `.clone()`) and helpful when changing ref to non-ref. #![allow(clone_on_copy)] diff --git a/util/Cargo.toml b/util/Cargo.toml index 9ead8ccf6..773e58de3 100644 --- a/util/Cargo.toml +++ b/util/Cargo.toml @@ -26,7 +26,11 @@ crossbeam = "0.2" slab = { git = "https://github.com/arkpar/slab.git" } sha3 = { path = "sha3" } serde = "0.6.7" -clippy = "0.0.41" +clippy = { version = "0.0.41", optional = true } json-tests = { path = "json-tests" } target_info = "0.1.0" igd = "0.4.2" + +[features] +default = [] +dev = ["clippy"] \ No newline at end of file diff --git a/util/src/lib.rs b/util/src/lib.rs index d4f972800..0a2b0f4b4 100644 --- a/util/src/lib.rs +++ b/util/src/lib.rs @@ -18,10 +18,10 @@ #![feature(op_assign_traits)] #![feature(augmented_assignments)] #![feature(associated_consts)] -#![feature(plugin)] +#![cfg_attr(feature="dev", feature(plugin))] +#![cfg_attr(feature="dev", plugin(clippy))] #![feature(catch_panic)] // Clippy settings -#![plugin(clippy)] // TODO [todr] not really sure #![allow(needless_range_loop)] // Shorter than if-else