diff --git a/.travis.yml b/.travis.yml index 0abda2c30..0d27ff239 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,6 +20,7 @@ cache: - target/debug/build - target/release/deps - target/release/build + - $HOME/.cargo addons: apt: packages: diff --git a/Cargo.lock b/Cargo.lock index 7f05f1042..6cdb6f53f 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,7 +2,7 @@ name = "parity" version = "0.9.99" dependencies = [ - "clippy 0.0.41 (registry+https://github.com/rust-lang/crates.io-index)", + "clippy 0.0.42 (registry+https://github.com/rust-lang/crates.io-index)", "ctrlc 1.0.1 (git+https://github.com/tomusdrw/rust-ctrlc.git)", "daemonize 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", "docopt 0.6.78 (registry+https://github.com/rust-lang/crates.io-index)", @@ -39,6 +39,9 @@ dependencies = [ name = "aster" version = "0.12.0" source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "syntex_syntax 0.28.0 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "bitflags" @@ -62,7 +65,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "clippy" -version = "0.0.41" +version = "0.0.42" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "regex-syntax 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", @@ -180,7 +183,7 @@ dependencies = [ "env_logger 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "ethash 0.9.99", "ethcore-util 0.9.99", - "heapsize 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.3.2 (git+https://github.com/nikvolf/heapsize)", "lazy_static 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)", "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", "num_cpus 0.2.10 (registry+https://github.com/rust-lang/crates.io-index)", @@ -194,15 +197,20 @@ dependencies = [ name = "ethcore-rpc" version = "0.9.99" dependencies = [ +<<<<<<< HEAD +======= + "clippy 0.0.42 (registry+https://github.com/rust-lang/crates.io-index)", +>>>>>>> rustup "ethcore 0.9.99", "ethcore-util 0.9.99", "ethsync 0.9.99", - "jsonrpc-core 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "jsonrpc-core 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "jsonrpc-http-server 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", "rustc-serialize 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)", "serde 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_codegen 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_macros 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", + "syntex 0.28.0 (registry+https://github.com/rust-lang/crates.io-index)", "target_info 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", ] @@ -211,11 +219,15 @@ name = "ethcore-util" version = "0.9.99" dependencies = [ "arrayvec 0.3.15 (registry+https://github.com/rust-lang/crates.io-index)", +<<<<<<< HEAD +======= + "clippy 0.0.42 (registry+https://github.com/rust-lang/crates.io-index)", +>>>>>>> rustup "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)", "eth-secp256k1 0.5.4 (git+https://github.com/arkpar/rust-secp256k1.git)", - "heapsize 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", + "heapsize 0.3.2 (git+https://github.com/nikvolf/heapsize)", "igd 0.4.2 (registry+https://github.com/rust-lang/crates.io-index)", "itertools 0.4.8 (registry+https://github.com/rust-lang/crates.io-index)", "json-tests 0.1.0", @@ -238,6 +250,10 @@ dependencies = [ name = "ethsync" version = "0.9.99" dependencies = [ +<<<<<<< HEAD +======= + "clippy 0.0.42 (registry+https://github.com/rust-lang/crates.io-index)", +>>>>>>> rustup "env_logger 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)", "ethcore 0.9.99", "ethcore-util 0.9.99", @@ -265,11 +281,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "heapsize" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "libc 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", -] +version = "0.3.2" +source = "git+https://github.com/nikvolf/heapsize#a2d682fd4dcf11e2deeeb229ef2375354c15668b" [[package]] name = "hpack" @@ -351,12 +364,13 @@ dependencies = [ [[package]] name = "jsonrpc-core" -version = "1.1.2" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "serde 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", + "serde_codegen 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", "serde_json 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "serde_macros 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", + "syntex 0.28.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -365,7 +379,7 @@ version = "1.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "hyper 0.7.2 (registry+https://github.com/rust-lang/crates.io-index)", - "jsonrpc-core 1.1.2 (registry+https://github.com/rust-lang/crates.io-index)", + "jsonrpc-core 1.1.3 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -534,6 +548,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" name = "quasi" version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "syntex_syntax 0.28.0 (registry+https://github.com/rust-lang/crates.io-index)", +] [[package]] name = "quasi_codegen" @@ -541,14 +558,8 @@ version = "0.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aster 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", -] - -[[package]] -name = "quasi_macros" -version = "0.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "quasi_codegen 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "syntex 0.28.0 (registry+https://github.com/rust-lang/crates.io-index)", + "syntex_syntax 0.28.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -636,7 +647,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" dependencies = [ "aster 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)", "quasi 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", - "quasi_macros 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "quasi_codegen 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", + "syntex 0.28.0 (registry+https://github.com/rust-lang/crates.io-index)", + "syntex_syntax 0.28.0 (registry+https://github.com/rust-lang/crates.io-index)", ] [[package]] @@ -648,14 +661,6 @@ dependencies = [ "serde 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", ] -[[package]] -name = "serde_macros" -version = "0.6.13" -source = "registry+https://github.com/rust-lang/crates.io-index" -dependencies = [ - "serde_codegen 0.6.13 (registry+https://github.com/rust-lang/crates.io-index)", -] - [[package]] name = "sha3" version = "0.1.0" @@ -687,11 +692,41 @@ name = "strsim" version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "syntex" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "syntex_syntax 0.28.0 (registry+https://github.com/rust-lang/crates.io-index)", +] + +[[package]] +name = "syntex_syntax" +version = "0.28.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "bitflags 0.3.3 (registry+https://github.com/rust-lang/crates.io-index)", + "libc 0.2.7 (registry+https://github.com/rust-lang/crates.io-index)", + "log 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)", + "rustc-serialize 0.3.18 (registry+https://github.com/rust-lang/crates.io-index)", + "term 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)", + "unicode-xid 0.0.3 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "target_info" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "term" +version = "0.2.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +dependencies = [ + "kernel32-sys 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)", + "winapi 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)", +] + [[package]] name = "time" version = "0.1.34" @@ -738,6 +773,11 @@ name = "unicode-normalization" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" +[[package]] +name = "unicode-xid" +version = "0.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" + [[package]] name = "url" version = "0.2.38" diff --git a/Cargo.toml b/Cargo.toml index c7620d5a2..8b9924a54 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 = { version = "0.0.41", optional = true } +clippy = { version = "0.0.42", optional = true } ethcore-util = { path = "util" } ethcore = { path = "ethcore" } ethsync = { path = "sync" } diff --git a/ethcore/Cargo.toml b/ethcore/Cargo.toml index 4aafebba1..dee169c7e 100644 --- a/ethcore/Cargo.toml +++ b/ethcore/Cargo.toml @@ -11,20 +11,21 @@ log = "0.3" env_logger = "0.3" rustc-serialize = "0.3" rocksdb = "0.3" -heapsize = "0.2.0" +heapsize = { git = "https://github.com/nikvolf/heapsize" } rust-crypto = "0.2.34" time = "0.1" ethcore-util = { path = "../util" } evmjit = { path = "../evmjit", optional = true } ethash = { path = "../ethash" } num_cpus = "0.2" -clippy = { version = "0.0.41", optional = true } +clippy = { version = "0.0.42", optional = true } crossbeam = "0.1.5" lazy_static = "0.1" [features] jit = ["evmjit"] evm-debug = [] -json-tests = [] +json-tests = [ "heapsize/nightly" ] test-heavy = [] dev = ["clippy"] +default = [ "heapsize/nightly" ] diff --git a/rpc/Cargo.toml b/rpc/Cargo.toml index 107e22c07..f179b0c66 100644 --- a/rpc/Cargo.toml +++ b/rpc/Cargo.toml @@ -4,22 +4,28 @@ name = "ethcore-rpc" version = "0.9.99" license = "GPL-3.0" authors = ["Ethcore HttpServer { - HttpServer { - handler: IoHandler::new(), - threads: threads - } - } - - /// Add io delegate. - pub fn add_delegate(&mut self, delegate: IoDelegate) where D: Send + Sync + 'static { - self.handler.add_delegate(delegate); - } - - /// Start server asynchronously in new thread - pub fn start_async(self, addr: &str) { - let server = jsonrpc_http_server::Server::new(self.handler, self.threads); - server.start_async(addr) - } -} - -/// Lib needs at least 1 test to generate coverage reports correctly. -#[test] -fn if_works() { -} +#[cfg(not(feature = "serde_macros"))] +include!(concat!(env!("OUT_DIR"), "/lib.rs")); diff --git a/rpc/src/lib.rs.in b/rpc/src/lib.rs.in new file mode 100644 index 000000000..f09a25be8 --- /dev/null +++ b/rpc/src/lib.rs.in @@ -0,0 +1,30 @@ +use self::jsonrpc_core::{IoHandler, IoDelegate}; + +pub mod v1; + +/// Http server. +pub struct HttpServer { + handler: IoHandler, + threads: usize +} + +impl HttpServer { + /// Construct new http server object with given number of threads. + pub fn new(threads: usize) -> HttpServer { + HttpServer { + handler: IoHandler::new(), + threads: threads + } + } + + /// Add io delegate. + pub fn add_delegate(&mut self, delegate: IoDelegate) where D: Send + Sync + 'static { + self.handler.add_delegate(delegate); + } + + /// Start server asynchronously in new thread + pub fn start_async(self, addr: &str) { + let server = jsonrpc_http_server::Server::new(self.handler, self.threads); + server.start_async(addr) + } +} diff --git a/sync/Cargo.toml b/sync/Cargo.toml index fc56ba2b9..a99717150 100644 --- a/sync/Cargo.toml +++ b/sync/Cargo.toml @@ -10,7 +10,7 @@ authors = ["Ethcore "] +[features] +default = [ "heapsize/nightly" ] + [dependencies] log = "0.3" env_logger = "0.3" @@ -20,13 +23,13 @@ lazy_static = "0.1" eth-secp256k1 = { git = "https://github.com/arkpar/rust-secp256k1.git" } rust-crypto = "0.2.34" elastic-array = "0.4" -heapsize = "0.2" +heapsize = { git = "https://github.com/nikvolf/heapsize" } itertools = "0.4" crossbeam = "0.2" slab = { git = "https://github.com/arkpar/slab.git" } sha3 = { path = "sha3" } serde = "0.6.7" -clippy = { version = "0.0.41", optional = true } +clippy = { version = "0.0.42", optional = true } json-tests = { path = "json-tests" } target_info = "0.1.0" igd = "0.4.2"