diff --git a/Cargo.lock b/Cargo.lock index 85b2637..b2daf84 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -36,9 +36,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.44" +version = "1.0.51" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61604a8f862e1d5c3229fdd78f8b02c68dcf73a4c4b05fd636d12240aaa242c1" +checksum = "8b26702f315f53b6071259e15dd9d64528213b44d61de1ec926eca7715d62203" [[package]] name = "async-compression" @@ -49,8 +49,8 @@ dependencies = [ "flate2", "futures-core", "memchr", - "pin-project-lite 0.2.7", - "tokio 1.13.0", + "pin-project-lite", + "tokio", ] [[package]] @@ -124,6 +124,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "block-buffer" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f1d36a02058e76b040de25a4464ba1c80935655595b661505c8b39b664828b95" +dependencies = [ + "generic-array", +] + [[package]] name = "bstr" version = "0.2.17" @@ -202,14 +211,14 @@ dependencies = [ "serde", "serde_derive", "serde_json", - "sha-1", + "sha-1 0.10.0", "simplelog", "tar", "tempfile", "thiserror", - "time 0.3.4", + "time 0.3.5", "tinytemplate", - "tokio 1.13.0", + "tokio", "tokio-test", "toml", "tryhard", @@ -218,9 +227,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.71" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "79c2681d6594606957bbb8631c4b90a7fcaaa72cdb714743a437b156d6a7eedd" +checksum = "22a9137b95ea06864e018375b72adfb7db6e6f68cfc8df5a04d00288050485ee" [[package]] name = "cfg-if" @@ -244,9 +253,9 @@ dependencies = [ [[package]] name = "clap" -version = "3.0.0-beta.5" +version = "3.0.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "feff3878564edb93745d58cf63e17b63f24142506e7a20c87a5521ed7bfb1d63" +checksum = "967965e82fc46fee1a88147a7a977a66d615ed5f83eb95b18577b342c08f90ff" dependencies = [ "atty", "bitflags", @@ -257,14 +266,13 @@ dependencies = [ "strsim", "termcolor", "textwrap", - "unicase", ] [[package]] name = "clap_derive" -version = "3.0.0-beta.5" +version = "3.0.0-rc.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8b15c6b4f786ffb6192ffe65a36855bc1fc2444bcd0945ae16748dcd6ed7d0d3" +checksum = "85946d4034625800196413478a1c6d3a57c12785e1f3970e590e0137dfa07342" dependencies = [ "heck", "proc-macro-error", @@ -338,9 +346,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.2.1" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81156fece84ab6a9f2afdb109ce3ae577e42b1228441eded99bd77f627953b1a" +checksum = "738c290dfaea84fc1ca15ad9c168d083b05a714e1efddd8edaab678dc28d2836" dependencies = [ "cfg-if", ] @@ -389,6 +397,15 @@ dependencies = [ "lazy_static", ] +[[package]] +name = "crypto-common" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "567569e659735adb39ff2d4c20600f7cd78be5471f8c58ab162bce3c03fdbc5f" +dependencies = [ + "generic-array", +] + [[package]] name = "crypto-mac" version = "0.11.1" @@ -475,14 +492,14 @@ dependencies = [ [[package]] name = "derive_more" -version = "0.99.16" +version = "0.99.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "40eebddd2156ce1bb37b20bbe5151340a31828b1f2d22ba4141f3531710e38df" +checksum = "4fb810d30a7c1953f91334de7244731fc3f3c10d7fe163338a35b9f640960321" dependencies = [ "convert_case", "proc-macro2", "quote", - "rustc_version 0.3.3", + "rustc_version 0.4.0", "syn", ] @@ -495,6 +512,17 @@ dependencies = [ "generic-array", ] +[[package]] +name = "digest" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8549e6bfdecd113b7e221fe60b433087f6957387a20f8118ebca9b12af19143d" +dependencies = [ + "block-buffer 0.10.0", + "crypto-common", + "generic-array", +] + [[package]] name = "discard" version = "1.0.4" @@ -548,9 +576,9 @@ dependencies = [ "regex", "serde", "serde_json", - "sha-1", + "sha-1 0.9.8", "thiserror", - "tokio 1.13.0", + "tokio", "url", ] @@ -568,9 +596,9 @@ checksum = "e78d4f1cc4ae33bbfc157ed5d5a5ef3bc29227303d595861deb238fcec4e9457" [[package]] name = "encoding_rs" -version = "0.8.29" +version = "0.8.30" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a74ea89a0a1b98f6332de42c95baff457ada66d1cb4030f9ff151b2041a1c746" +checksum = "7896dc8abb250ffdda33912550faa54c88ec8b998dec0b2c55ab224921ce11df" dependencies = [ "cfg-if", ] @@ -605,7 +633,7 @@ dependencies = [ "serde", "serde_json", "time 0.2.27", - "tokio 1.13.0", + "tokio", "url", "webdriver", ] @@ -689,9 +717,9 @@ dependencies = [ [[package]] name = "futures" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a12aa0eb539080d55c3f2d45a67c3b58b6b0773c1a3ca2dfec66d58c97fd66ca" +checksum = "8cd0210d8c325c245ff06fd95a3b13689a1a276ac8cfa8e8720cb840bfb84b9e" dependencies = [ "futures-channel", "futures-core", @@ -704,9 +732,9 @@ dependencies = [ [[package]] name = "futures-channel" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5da6ba8c3bb3c165d3c7319fc1cc8304facf1fb8db99c5de877183c08a273888" +checksum = "7fc8cd39e3dbf865f7340dce6a2d401d24fd37c6fe6c4f0ee0de8bfca2252d27" dependencies = [ "futures-core", "futures-sink", @@ -714,15 +742,15 @@ dependencies = [ [[package]] name = "futures-core" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88d1c26957f23603395cd326b0ffe64124b818f4449552f960d815cfba83a53d" +checksum = "629316e42fe7c2a0b9a65b47d159ceaa5453ab14e8f0a3c5eedbb8cd55b4a445" [[package]] name = "futures-executor" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "45025be030969d763025784f7f355043dc6bc74093e4ecc5000ca4dc50d8745c" +checksum = "7b808bf53348a36cab739d7e04755909b9fcaaa69b7d7e588b37b6ec62704c97" dependencies = [ "futures-core", "futures-task", @@ -731,28 +759,27 @@ dependencies = [ [[package]] name = "futures-io" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "522de2a0fe3e380f1bc577ba0474108faf3f6b18321dbf60b3b9c39a75073377" +checksum = "e481354db6b5c353246ccf6a728b0c5511d752c08da7260546fc0933869daa11" [[package]] name = "futures-locks" -version = "0.6.0" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50c4e684ddb2d8a4db5ca8a02b35156da129674ba4412b6f528698d58c594954" +checksum = "3eb42d4fb72227be5778429f9ef5240a38a358925a49f05b5cf702ce7c7e558a" dependencies = [ - "futures", - "tokio 0.2.25", + "futures-channel", + "futures-task", + "tokio", ] [[package]] name = "futures-macro" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18e4a4b95cea4b4ccbcf1c5675ca7c4ee4e9e75eb79944d07defde18068f79bb" +checksum = "a89f17b21645bc4ed773c69af9c9a0effd4a3f1a3876eadd453469f8854e7fdd" dependencies = [ - "autocfg", - "proc-macro-hack", "proc-macro2", "quote", "syn", @@ -760,23 +787,22 @@ dependencies = [ [[package]] name = "futures-sink" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36ea153c13024fe480590b3e3d4cad89a0cfacecc24577b68f86c6ced9c2bc11" +checksum = "996c6442437b62d21a32cd9906f9c41e7dc1e19a9579843fad948696769305af" [[package]] name = "futures-task" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d3d00f4eddb73e498a54394f228cd55853bdf059259e8e7bc6e69d408892e99" +checksum = "dabf1872aaab32c886832f2276d2f5399887e2bd613698a02359e4ea83f8de12" [[package]] name = "futures-util" -version = "0.3.17" +version = "0.3.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36568465210a3a6ee45e1f165136d68671471a501e632e9a98d96872222b5481" +checksum = "41d22213122356472061ac0f1ab2cee28d2bac8491410fd68c2af53d1cedb83e" dependencies = [ - "autocfg", "futures-channel", "futures-core", "futures-io", @@ -784,10 +810,8 @@ dependencies = [ "futures-sink", "futures-task", "memchr", - "pin-project-lite 0.2.7", + "pin-project-lite", "pin-utils", - "proc-macro-hack", - "proc-macro-nested", "slab", ] @@ -853,9 +877,9 @@ dependencies = [ [[package]] name = "h2" -version = "0.3.7" +version = "0.3.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7fd819562fcebdac5afc5c113c3ec36f902840b70fd4fc458799c8ce4607ae55" +checksum = "8f072413d126e57991455e0a922b31e4c8ba7c2ffbebf6b78b4f8521397d65cd" dependencies = [ "bytes 1.1.0", "fnv", @@ -865,7 +889,7 @@ dependencies = [ "http", "indexmap", "slab", - "tokio 1.13.0", + "tokio", "tokio-util", "tracing", ] @@ -913,7 +937,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2a2a2320eb7ec0ebe8da8f744d7812d9fc4cb4d09344ac01898dbcb6a20ae69b" dependencies = [ "crypto-mac", - "digest", + "digest 0.9.0", ] [[package]] @@ -949,7 +973,7 @@ checksum = "1ff4f84919677303da5f147645dbea6b1881f368d03ac84e1dc09031ebd7b2c6" dependencies = [ "bytes 1.1.0", "http", - "pin-project-lite 0.2.7", + "pin-project-lite", ] [[package]] @@ -960,15 +984,15 @@ checksum = "acd94fdbe1d4ff688b67b04eee2e17bd50995534a61539e45adfefb45e5e5503" [[package]] name = "httpdate" -version = "1.0.1" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6456b8a6c8f33fee7d958fcd1b60d55b11940a79e63ae87013e6d22e26034440" +checksum = "c4a1e36c821dbe04574f602848a19f742f4fb3c98d40449f11bcad18d6b17421" [[package]] name = "hyper" -version = "0.14.14" +version = "0.14.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b91bb1f221b6ea1f1e4371216b70f40748774c2fb5971b450c07773fb92d26b" +checksum = "b7ec3e62bdc98a2f0393a5048e4c30ef659440ea6e0e572965103e72bd836f55" dependencies = [ "bytes 1.1.0", "futures-channel", @@ -980,9 +1004,9 @@ dependencies = [ "httparse", "httpdate", "itoa", - "pin-project-lite 0.2.7", + "pin-project-lite", "socket2", - "tokio 1.13.0", + "tokio", "tower-service", "tracing", "want", @@ -1000,7 +1024,7 @@ dependencies = [ "log", "rustls", "rustls-native-certs", - "tokio 1.13.0", + "tokio", "tokio-rustls", "webpki", ] @@ -1014,7 +1038,7 @@ dependencies = [ "bytes 1.1.0", "hyper", "native-tls", - "tokio 1.13.0", + "tokio", "tokio-native-tls", ] @@ -1075,9 +1099,9 @@ checksum = "68f2d64f2edebec4ce84ad108148e67e1064789bee435edc5b60ad398714a3a9" [[package]] name = "itertools" -version = "0.10.1" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69ddb889f9d0d08a67338271fa9b62996bc788c7796a5c18cf057420aaed5eaf" +checksum = "a9a9d19fa1e79b6215ff29b9d6880b706147f16e9b1dbb1e4e5947b5b02bc5e3" dependencies = [ "either", ] @@ -1114,15 +1138,15 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.106" +version = "0.2.109" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a60553f9a9e039a333b4e9b20573b9e9b9c0bb3a11e201ccc48ef4283456d673" +checksum = "f98a04dce437184842841303488f70d0188c5f51437d2a834dc097eafa909a01" [[package]] name = "libsqlite3-sys" -version = "0.23.1" +version = "0.23.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abd5850c449b40bacb498b2bbdfaff648b1b055630073ba8db499caf2d0ea9f2" +checksum = "d2cafc7c74096c336d9d27145f7ebd4f4b6f95ba16aa5a282387267e6925cb58" dependencies = [ "cc", "pkg-config", @@ -1181,9 +1205,9 @@ checksum = "308cc39be01b73d0d18f82a0e7b2a3df85245f84af96fdddc5d202d27e47b86a" [[package]] name = "memoffset" -version = "0.6.4" +version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59accc507f1338036a0477ef61afdae33cde60840f4dfe481319ce3ad116ddf9" +checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" dependencies = [ "autocfg", ] @@ -1359,9 +1383,9 @@ checksum = "28988d872ab76095a6e6ac88d99b54fd267702734fd7ffe610ca27f533ddb95a" [[package]] name = "openssl-sys" -version = "0.9.70" +version = "0.9.71" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6517987b3f8226b5da3661dad65ff7f300cc59fb5ea8333ca191fc65fde3edf" +checksum = "7df13d165e607909b363a4757a6f133f8a818a74e9d3a98d09c6128e15fa4c73" dependencies = [ "autocfg", "cc", @@ -1372,9 +1396,9 @@ dependencies = [ [[package]] name = "os_str_bytes" -version = "4.2.0" +version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "addaa943333a514159c80c97ff4a93306530d965d27e139188283cd13e06a799" +checksum = "8e22443d1643a904602595ba1cd8f7d896afe56d26712531c5ff73a15b2fbf64" dependencies = [ "memchr", ] @@ -1410,15 +1434,6 @@ version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e" -[[package]] -name = "pest" -version = "2.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" -dependencies = [ - "ucd-trie", -] - [[package]] name = "phf" version = "0.8.0" @@ -1493,12 +1508,6 @@ dependencies = [ "syn", ] -[[package]] -name = "pin-project-lite" -version = "0.1.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "257b64915a082f7811703966789728173279bdebb956b143dbcd23f6f970a777" - [[package]] name = "pin-project-lite" version = "0.2.7" @@ -1513,9 +1522,9 @@ checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" [[package]] name = "pkg-config" -version = "0.3.22" +version = "0.3.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12295df4f294471248581bc09bef3c38a5e46f1e36d6a37353621a0c6c357e1f" +checksum = "d1a3ea4f0dd7f1f3e512cf97bf100819aa547f36a6eccac8dbaae839eb92363e" [[package]] name = "png" @@ -1571,17 +1580,11 @@ version = "0.5.19" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "dbf0c48bc1d91375ae5c3cd81e3722dff1abcf81a30960240640d223f59fe0e5" -[[package]] -name = "proc-macro-nested" -version = "0.1.7" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bc881b2c22681370c6a780e47af9840ef841837bc98118431d4e1868bd0c1086" - [[package]] name = "proc-macro2" -version = "1.0.32" +version = "1.0.33" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ba508cc11742c0dc5c1659771673afbab7a0efab23aa17e854cbab0837ed0b43" +checksum = "fb37d2df5df740e582f28f8560cf425f52bb267d872fe58358eadb554909f07a" dependencies = [ "unicode-xid", ] @@ -1760,9 +1763,9 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.6" +version = "0.11.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "66d2927ca2f685faf0fc620ac4834690d29e7abb153add10f5812eef20b5e280" +checksum = "07bea77bc708afa10e59905c3d4af7c8fd43c9214251673095ff8b14345fcbc5" dependencies = [ "async-compression", "base64 0.13.0", @@ -1781,11 +1784,11 @@ dependencies = [ "mime", "native-tls", "percent-encoding", - "pin-project-lite 0.2.7", + "pin-project-lite", "serde", "serde_json", "serde_urlencoded", - "tokio 1.13.0", + "tokio", "tokio-native-tls", "tokio-util", "url", @@ -1812,9 +1815,9 @@ dependencies = [ [[package]] name = "rusqlite" -version = "0.26.1" +version = "0.26.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a82b0b91fad72160c56bf8da7a549b25d7c31109f52cc1437eac4c0ad2550a7" +checksum = "4ba4d3462c8b2e4d7f4fcfcf2b296dc6b65404fbbc7b63daa37fd485c149daf7" dependencies = [ "bitflags", "fallible-iterator", @@ -1836,11 +1839,11 @@ dependencies = [ [[package]] name = "rustc_version" -version = "0.3.3" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f0dfe2087c51c460008730de8b57e6a320782fbfb312e1f4d520e6c6fae155ee" +checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 0.11.0", + "semver 1.0.4", ] [[package]] @@ -1870,9 +1873,9 @@ dependencies = [ [[package]] name = "ryu" -version = "1.0.5" +version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "71d301d4193d031abdd79ff7e3dd721168a9572ef3fe51a1517aba235bd8f86e" +checksum = "254df5081ce98661a883445175e52efe99d1cb2a5552891d965d2f5d0cad1c16" [[package]] name = "schannel" @@ -1971,17 +1974,14 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" dependencies = [ - "semver-parser 0.7.0", + "semver-parser", ] [[package]] name = "semver" -version = "0.11.0" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" -dependencies = [ - "semver-parser 0.10.2", -] +checksum = "568a8e6258aa33c13358f81fd834adb854c6f7c9468520910a9b1e8fac068012" [[package]] name = "semver-parser" @@ -1989,29 +1989,20 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" -[[package]] -name = "semver-parser" -version = "0.10.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7" -dependencies = [ - "pest", -] - [[package]] name = "serde" -version = "1.0.130" +version = "1.0.131" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f12d06de37cf59146fbdecab66aa99f9fe4f78722e3607577a5375d66bd0c913" +checksum = "b4ad69dfbd3e45369132cc64e6748c2d65cdfb001a2b1c232d128b4ad60561c1" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.130" +version = "1.0.131" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d7bc1a1ab1961464eae040d96713baa5a724a8152c1222492465b54322ec508b" +checksum = "b710a83c4e0dff6a3d511946b95274ad9ca9e5d3ae497b63fda866ac955358d2" dependencies = [ "proc-macro2", "quote", @@ -2020,9 +2011,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.68" +version = "1.0.72" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0f690853975602e1bfe1ccbf50504d67174e3bcf340f23b5ea9992e0587a52d8" +checksum = "d0ffa0837f2dfa6fb90868c2b5468cad482e175f7dad97e7421951e663f2b527" dependencies = [ "itoa", "ryu", @@ -2057,13 +2048,24 @@ version = "0.9.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "99cd6713db3cf16b6c84e06321e049a9b9f699826e16096d23bbcc44d15d51a6" dependencies = [ - "block-buffer", + "block-buffer 0.9.0", "cfg-if", "cpufeatures", - "digest", + "digest 0.9.0", "opaque-debug", ] +[[package]] +name = "sha-1" +version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "028f48d513f9678cda28f6e4064755b3fbb2af6acd672f2c209b62323f7aea0f" +dependencies = [ + "cfg-if", + "cpufeatures", + "digest 0.10.0", +] + [[package]] name = "sha1" version = "0.6.0" @@ -2072,9 +2074,9 @@ checksum = "2579985fda508104f7587689507983eadd6a6e84dd35d6d115361f530916fa0d" [[package]] name = "simplelog" -version = "0.10.2" +version = "0.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85d04ae642154220ef00ee82c36fb07853c10a4f2a0ca6719f9991211d2eb959" +checksum = "ecabc0118918611790b8615670ab79296272cbe09496b6884b02b1e929c20886" dependencies = [ "chrono", "log", @@ -2219,9 +2221,9 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" [[package]] name = "syn" -version = "1.0.81" +version = "1.0.82" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f2afee18b8beb5a596ecb4a2dce128c719b4ba399d34126b9e4396e3f9860966" +checksum = "8daf5dd0bb60cbd4137b1b587d2fc0ae729bc07cf01cd70b36a1ed5ade3b9d59" dependencies = [ "proc-macro2", "quote", @@ -2278,9 +2280,6 @@ name = "textwrap" version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0066c8d12af8b5acd21e00547c3797fde4e8677254a7ee429176ccebbe93dd80" -dependencies = [ - "unicode-width", -] [[package]] name = "thin-slice" @@ -2346,9 +2345,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.4" +version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99beeb0daeac2bd1e86ac2c21caddecb244b39a093594da1a661ec2060c7aedd" +checksum = "41effe7cfa8af36f439fac33861b66b049edc6f9a32331e2312660529c1c24ad" dependencies = [ "libc", ] @@ -2388,9 +2387,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f83b2a3d4d9091d0abd7eba4dc2710b1718583bd4d8992e2190720ea38f391f7" +checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2" dependencies = [ "tinyvec_macros", ] @@ -2403,20 +2402,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "tokio" -version = "0.2.25" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6703a273949a90131b290be1fe7b039d0fc884aa1935860dfcbe056f28cd8092" -dependencies = [ - "bytes 0.5.6", - "pin-project-lite 0.1.12", - "slab", -] - -[[package]] -name = "tokio" -version = "1.13.0" +version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "588b2d10a336da58d877567cd8fb8a14b463e2104910f8132cd054b4b96e29ee" +checksum = "70e992e41e0d2fb9f755b37446f20900f64446ef54874f40a60c78f021ac6144" dependencies = [ "autocfg", "bytes 1.1.0", @@ -2424,16 +2412,16 @@ dependencies = [ "memchr", "mio", "num_cpus", - "pin-project-lite 0.2.7", + "pin-project-lite", "tokio-macros", "winapi", ] [[package]] name = "tokio-macros" -version = "1.5.1" +version = "1.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "114383b041aa6212c579467afa0075fbbdd0718de036100bc0ba7961d8cb9095" +checksum = "c9efc1aba077437943f7515666aa2b882dfabfbfdf89c819ea75a8d6e9eaba5e" dependencies = [ "proc-macro2", "quote", @@ -2447,7 +2435,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" dependencies = [ "native-tls", - "tokio 1.13.0", + "tokio", ] [[package]] @@ -2457,7 +2445,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bc6844de72e57df1980054b38be3a9f4702aba4858be64dd700181a8a6d0e1b6" dependencies = [ "rustls", - "tokio 1.13.0", + "tokio", "webpki", ] @@ -2468,8 +2456,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "50145484efff8818b5ccd256697f36863f587da82cf8b409c53adf1e840798e3" dependencies = [ "futures-core", - "pin-project-lite 0.2.7", - "tokio 1.13.0", + "pin-project-lite", + "tokio", ] [[package]] @@ -2481,7 +2469,7 @@ dependencies = [ "async-stream", "bytes 1.1.0", "futures-core", - "tokio 1.13.0", + "tokio", "tokio-stream", ] @@ -2495,8 +2483,8 @@ dependencies = [ "futures-core", "futures-sink", "log", - "pin-project-lite 0.2.7", - "tokio 1.13.0", + "pin-project-lite", + "tokio", ] [[package]] @@ -2521,7 +2509,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "375a639232caf30edfc78e8d89b2d4c375515393e7af7e16f01cd96917fb2105" dependencies = [ "cfg-if", - "pin-project-lite 0.2.7", + "pin-project-lite", "tracing-core", ] @@ -2548,7 +2536,7 @@ checksum = "30cd27b84d4410536f50315f5179a49b651c365328bbeff9900b4c65fc3b92fa" dependencies = [ "futures", "pin-project", - "tokio 1.13.0", + "tokio", ] [[package]] @@ -2557,21 +2545,6 @@ version = "1.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b63708a265f51345575b27fe43f9500ad611579e764c79edbc2037b1121959ec" -[[package]] -name = "ucd-trie" -version = "0.1.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c" - -[[package]] -name = "unicase" -version = "2.6.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50f37be617794602aabbeee0be4f259dc1778fabe05e2d67ee8f79326d5cb4f6" -dependencies = [ - "version_check", -] - [[package]] name = "unicode-bidi" version = "0.3.7" diff --git a/Cargo.toml b/Cargo.toml index b5b6104..6d7b8ee 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -11,7 +11,7 @@ license = "MPL-2.0" anyhow = "1.0" bytes = "1.0" chrono = "0.4" -clap = "3.0.0-beta.2" +clap = { version = "3.0.0-rc.4", features = ["derive"] } csv="1.1" data-encoding = "2.3" displaydoc = "0.2" @@ -21,7 +21,7 @@ file_diff = "1.0" flate2 = "1.0" fs_extra = "1.2" futures = "0.3" -futures-locks = "0.6" +futures-locks = "0.7" futures-util = "0.3" html5ever = "0.25" hyper = { version = "0.14", features = [ "stream" ] } @@ -40,14 +40,14 @@ scraper = "0.12" serde = "1.0" serde_derive = "1.0" serde_json = "1.0" -sha-1 = "0.9" -simplelog = "0.10" +sha-1 = "0.10" +simplelog = "0.11" tar = "0.4" tempfile = "3.2" thiserror = "1.0" time = "0.3" tinytemplate = "1.0" -tokio = { version = "1.0", features = ["macros", "rt-multi-thread"] } +tokio = { version = "1.1", features = ["macros", "rt-multi-thread"] } tokio-test = "0.4" toml = "0.5" tryhard = "0.4" diff --git a/src/bin/details.rs b/src/bin/details.rs index 8d9b3e6..ec5f171 100644 --- a/src/bin/details.rs +++ b/src/bin/details.rs @@ -1,5 +1,5 @@ use cancel_culture::{browser::twitter::parser, cli}; -use clap::{crate_authors, crate_version, Parser}; +use clap::Parser; use std::fs::File; type Void = Result<(), Box>; @@ -30,7 +30,7 @@ async fn main() -> Void { } #[derive(Parser)] -#[clap(name = "details", version = crate_version!(), author = crate_authors!())] +#[clap(name = "details", version, author)] struct Opts { /// Level of verbosity #[clap(short, long, parse(from_occurrences))] diff --git a/src/bin/report.rs b/src/bin/report.rs index deb082b..10a97ee 100644 --- a/src/bin/report.rs +++ b/src/bin/report.rs @@ -1,6 +1,6 @@ use cancel_culture::browser::twitter::parser::BrowserTweet; use cancel_culture::{cli, wbm}; -use clap::{crate_authors, crate_version, Parser}; +use clap::Parser; use csv::ReaderBuilder; use itertools::Itertools; use std::collections::{HashMap, HashSet}; @@ -122,7 +122,7 @@ async fn main() -> Void { } #[derive(Parser)] -#[clap(name = "report", version = crate_version!(), author = crate_authors!())] +#[clap(name = "report", version, author)] struct Opts { /// Level of verbosity #[clap(short, long, parse(from_occurrences))] diff --git a/src/bin/twcc.rs b/src/bin/twcc.rs index 2aa3fec..d77a8f7 100644 --- a/src/bin/twcc.rs +++ b/src/bin/twcc.rs @@ -4,7 +4,7 @@ use cancel_culture::{ twitter::{extract_status_id, Client, Error, Result}, wayback, }; -use clap::{crate_authors, crate_version, Parser}; +use clap::Parser; use egg_mode::{tweet::Tweet, user::TwitterUser}; use futures::TryStreamExt; use itertools::Itertools; @@ -543,7 +543,7 @@ fn escape_tweet_text(text: &str) -> String { } #[derive(Parser)] -#[clap(name = "twcc", version = crate_version!(), author = crate_authors!())] +#[clap(name = "twcc", version, author)] struct Opts { /// TOML file containing Twitter API keys #[clap(short, long, default_value = "keys.toml")] @@ -557,32 +557,20 @@ struct Opts { #[derive(Parser)] enum SubCommand { - #[clap(version = crate_version!(), author = crate_authors!())] BlockedFollows(BlockedFollows), - #[clap(version = crate_version!(), author = crate_authors!())] FollowerReport(FollowerReport), - #[clap(version = crate_version!(), author = crate_authors!())] LookupReply(LookupReply), /// Check whether a list of status IDs (from stdin) still exist - #[clap(version = crate_version!(), author = crate_authors!())] CheckExistence, - #[clap(version = crate_version!(), author = crate_authors!())] DeletedTweets(DeletedTweets), - #[clap(version = crate_version!(), author = crate_authors!())] ListFollowers(ListFollowers), - #[clap(version = crate_version!(), author = crate_authors!())] ListFriends(ListFriends), - #[clap(version = crate_version!(), author = crate_authors!())] ListBlocks(ListBlocks), - #[clap(version = crate_version!(), author = crate_authors!())] ListTweets(ListTweets), - #[clap(version = crate_version!(), author = crate_authors!())] LookupTweets(LookupTweets), /// Block a list of user IDs (from stdin) - #[clap(version = crate_version!(), author = crate_authors!())] ImportBlocks, /// List everyone you follow or who follows you who is not a mutual - #[clap(version = crate_version!(), author = crate_authors!())] ListUnmutuals, } diff --git a/src/bin/twcli.rs b/src/bin/twcli.rs index 14f9f93..886d76b 100644 --- a/src/bin/twcli.rs +++ b/src/bin/twcli.rs @@ -1,5 +1,5 @@ use cancel_culture::{cli, twitter::Client}; -use clap::{crate_authors, crate_version, Parser}; +use clap::Parser; use egg_mode::user::UserID; use futures::{StreamExt, TryStreamExt}; use itertools::Itertools; @@ -183,7 +183,7 @@ async fn main() -> Void { } #[derive(Parser)] -#[clap(name = "twcli", version = crate_version!(), author = crate_authors!())] +#[clap(name = "twcli", version, author)] struct Opts { /// TOML file containing Twitter API keys #[clap(short, long, default_value = "keys.toml")] diff --git a/src/bin/twdl.rs b/src/bin/twdl.rs index dcab084..c250261 100644 --- a/src/bin/twdl.rs +++ b/src/bin/twdl.rs @@ -2,7 +2,7 @@ use cancel_culture::{ cli, twitter::{store::Store, Client}, }; -use clap::{crate_authors, crate_version, Parser}; +use clap::Parser; use egg_mode::user::TwitterUser; use futures::{stream::LocalBoxStream, StreamExt, TryStreamExt}; use log::info; @@ -82,7 +82,7 @@ async fn add_user_follows(client: &Client, store: &Store, users: &[TwitterUser]) } #[derive(Parser)] -#[clap(name = "stores", version = crate_version!(), author = crate_authors!())] +#[clap(name = "stores", version, author)] struct Opts { /// TOML file containing Twitter API keys #[clap(short, long, default_value = "keys.toml")] diff --git a/src/bin/twsearch.rs b/src/bin/twsearch.rs index 7449f5a..c419374 100644 --- a/src/bin/twsearch.rs +++ b/src/bin/twsearch.rs @@ -1,5 +1,5 @@ use cancel_culture::{browser::make_client_or_panic, cli}; -use clap::{crate_authors, crate_version, Parser}; +use clap::Parser; #[tokio::main] async fn main() -> Result<(), Box> { @@ -33,7 +33,7 @@ async fn main() -> Result<(), Box> { } #[derive(Parser)] -#[clap(version = crate_version!(), author = crate_authors!())] +#[clap(version, author)] struct Opts { /// TOML file containing Twitter API keys #[clap(short, long, default_value = "keys.toml")] diff --git a/src/bin/twshoot.rs b/src/bin/twshoot.rs index f945637..5d2de50 100644 --- a/src/bin/twshoot.rs +++ b/src/bin/twshoot.rs @@ -1,5 +1,5 @@ use cancel_culture::{browser, twitter}; -use clap::{crate_authors, crate_version, Parser}; +use clap::Parser; use image::DynamicImage; use std::path::PathBuf; use std::time::Duration; @@ -63,7 +63,7 @@ async fn main() -> Result<(), Box> { } #[derive(Parser)] -#[clap(version = crate_version!(), author = crate_authors!())] +#[clap(version, author)] struct Opts { /// Either a tweet URL or a status ID status: String, diff --git a/src/bin/wbdl.rs b/src/bin/wbdl.rs index 103c112..c22a2e2 100644 --- a/src/bin/wbdl.rs +++ b/src/bin/wbdl.rs @@ -2,7 +2,7 @@ use cancel_culture::{ cli, wayback::{cdx::Client, Result, Store}, }; -use clap::{crate_authors, crate_version, Parser}; +use clap::Parser; use std::collections::HashSet; use std::io::BufRead; @@ -66,7 +66,7 @@ async fn main() -> Result<()> { } #[derive(Parser)] -#[clap(name = "wbdl", version = crate_version!(), author = crate_authors!())] +#[clap(name = "wbdl", version, author)] struct Opts { /// Wayback Machine store directory #[clap(short, long, default_value = "wayback")] @@ -85,13 +85,10 @@ struct Opts { #[derive(Parser)] enum SubCommand { - #[clap(version = crate_version!(), author = crate_authors!())] Query(CdxQuery), /// Perform a search for a batch of queries from stdin - #[clap(version = crate_version!(), author = crate_authors!())] Batch, /// Download items given CDX search results - #[clap(version = crate_version!(), author = crate_authors!())] FromJson, } diff --git a/src/bin/wbmc.rs b/src/bin/wbmc.rs index cf9cfd4..c47281a 100644 --- a/src/bin/wbmc.rs +++ b/src/bin/wbmc.rs @@ -1,5 +1,5 @@ use cancel_culture::cli; -use clap::{crate_authors, crate_version, Parser}; +use clap::Parser; use std::fs::File; use std::io::{BufRead, BufReader}; @@ -37,7 +37,7 @@ async fn main() -> Void { } #[derive(Parser)] -#[clap(name = "wbmc", version = crate_version!(), author = crate_authors!())] +#[clap(name = "wbmc", version, author)] struct Opts { /// Level of verbosity #[clap(short, long, parse(from_occurrences))] diff --git a/src/bin/wbmd.rs b/src/bin/wbmd.rs index a044f54..fc8b1bc 100644 --- a/src/bin/wbmd.rs +++ b/src/bin/wbmd.rs @@ -1,5 +1,5 @@ use cancel_culture::{cli, wbm, wbm::digest, wbm::valid}; -use clap::{crate_authors, crate_version, Parser}; +use clap::Parser; use futures::StreamExt; use std::collections::HashSet; use std::fs::File; @@ -324,7 +324,7 @@ async fn main() -> Void { } #[derive(Parser)] -#[clap(name = "wbmd", version = crate_version!(), author = crate_authors!())] +#[clap(name = "wbmd", version, author)] struct Opts { /// Level of verbosity #[clap(short, long, parse(from_occurrences))] diff --git a/src/bin/wbsave.rs b/src/bin/wbsave.rs index a77691d..13026b7 100644 --- a/src/bin/wbsave.rs +++ b/src/bin/wbsave.rs @@ -1,5 +1,5 @@ use cancel_culture::{cli, wayback}; -use clap::{crate_authors, crate_version, Parser}; +use clap::Parser; use std::io::BufRead; type Void = Result<(), Box>; @@ -38,7 +38,7 @@ async fn main() -> Void { } #[derive(Parser)] -#[clap(version = crate_version!(), author = crate_authors!())] +#[clap(version, author)] struct Opts { #[clap(short = 'u', long)] username: String, diff --git a/src/bin/wbsearch.rs b/src/bin/wbsearch.rs index 7c33fb4..15fe741 100644 --- a/src/bin/wbsearch.rs +++ b/src/bin/wbsearch.rs @@ -1,6 +1,6 @@ use cancel_culture::browser; use chrono::NaiveDate; -use clap::{crate_authors, crate_version, Parser}; +use clap::Parser; use fantoccini::{elements::Element, Client, Locator}; use std::time::Duration; use tokio::time::sleep; @@ -135,7 +135,7 @@ fn mk_wayback_search_url(query: &str) -> String { } #[derive(Parser)] -#[clap(version = crate_version!(), author = crate_authors!())] +#[clap(version, author)] struct Opts { query: String, #[clap(short, long)] diff --git a/src/bin/wbstore.rs b/src/bin/wbstore.rs index 45aa6fe..021381f 100644 --- a/src/bin/wbstore.rs +++ b/src/bin/wbstore.rs @@ -2,7 +2,7 @@ use cancel_culture::{ cli, wayback::{cdx::Client, Item, Result, Store}, }; -use clap::{crate_authors, crate_version, Parser}; +use clap::Parser; use flate2::{write::GzEncoder, Compression, GzBuilder}; use futures::StreamExt; use std::collections::HashSet; @@ -336,7 +336,7 @@ async fn main() -> Result<()> { } #[derive(Parser)] -#[clap(name = "wbstore", version = crate_version!(), author = crate_authors!())] +#[clap(name = "wbstore", version, author)] struct Opts { /// Wayback Machine store directory #[clap(short, long, default_value = "wayback")] @@ -353,10 +353,8 @@ struct Opts { #[derive(Parser)] enum SubCommand { - #[clap(version = crate_version!(), author = crate_authors!())] Export(ExportQuery), /// Compute digest for all files in the store's data directory - #[clap(version = crate_version!(), author = crate_authors!())] ComputeDigests, ComputeDigestsRaw, Merge(MergeCommand), @@ -365,7 +363,6 @@ enum SubCommand { FixRedirects(FixCommand), GuessRedirects(FixCommand), /// Compute digest for the input from stdin - #[clap(version = crate_version!(), author = crate_authors!())] Digest, CheckValid(CheckValidCommand), ListValid(CheckValidCommand), diff --git a/src/bin/wbtweets.rs b/src/bin/wbtweets.rs index 0213caf..d2f8a60 100644 --- a/src/bin/wbtweets.rs +++ b/src/bin/wbtweets.rs @@ -1,5 +1,5 @@ use cancel_culture::{cli, twitter::store::wayback::TweetStore, wayback::Store}; -use clap::{crate_authors, crate_version, Parser}; +use clap::Parser; type Void = Result<(), Box>; @@ -19,7 +19,7 @@ async fn main() -> Void { } #[derive(Parser)] -#[clap(name = "wbtweets", version = crate_version!(), author = crate_authors!())] +#[clap(name = "wbtweets", version, author)] struct Opts { /// Wayback Machine store directory #[clap(short, long, default_value = "wayback")] diff --git a/src/bin/wbvalidate.rs b/src/bin/wbvalidate.rs index df84e57..49d00ce 100644 --- a/src/bin/wbvalidate.rs +++ b/src/bin/wbvalidate.rs @@ -2,7 +2,7 @@ use cancel_culture::{ cli, wayback::{cdx::Client, Store}, }; -use clap::{crate_authors, crate_version, Parser}; +use clap::Parser; use flate2::{Compression, GzBuilder}; use std::fs::File; use std::io::Write; @@ -72,7 +72,7 @@ async fn main() -> Void { } #[derive(Parser)] -#[clap(name = "wbvalidate", version = crate_version!(), author = crate_authors!())] +#[clap(name = "wbvalidate", version, author)] struct Opts { /// Wayback Machine store directory #[clap(short, long, default_value = "wayback")] diff --git a/src/wbm/tweet/db.rs b/src/wbm/tweet/db.rs index 4b60b2a..461f7e9 100644 --- a/src/wbm/tweet/db.rs +++ b/src/wbm/tweet/db.rs @@ -405,9 +405,7 @@ impl TweetStore { Ok(result) } - pub async fn for_each_interaction< - F: Fn((u64, u64, u64, String), (u64, u64, u64, String)) -> (), - >( + pub async fn for_each_interaction( &self, twitter_id: u64, f: F, @@ -534,7 +532,7 @@ impl TweetStore { } let screen_name = stmt - .query_row(params![SQLiteId(*id)], |row| Ok(row.get(0)?)) + .query_row(params![SQLiteId(*id)], |row| row.get(0)) .optional()?; result.insert(*id, screen_name); } diff --git a/src/wbm/tweet/mod.rs b/src/wbm/tweet/mod.rs index 32b3671..6f72881 100644 --- a/src/wbm/tweet/mod.rs +++ b/src/wbm/tweet/mod.rs @@ -65,9 +65,9 @@ pub async fn export_tweets(store: &ValidStore, tweet_store: &db::TweetStore) -> .try_for_each_concurrent(4, |(digest, path)| async move { if tweet_store.check_digest(&digest).await?.is_none() { let ts = tweet_store.clone(); - let act = tokio::spawn(async move { + let act = tokio::task::spawn_local(async move { if let Ok(Some((status_id, tweets))) = extract_tweets_from_path(path) { - ts.add_tweets(&digest, status_id, &tweets).await.unwrap() + ts.add_tweets(&digest, status_id, &tweets).await.unwrap(); } });