Use sdk version from cargo manifest, instead of hardcoded value (#186)

This commit is contained in:
Valery Antopol 2022-08-03 18:26:45 +03:00 committed by GitHub
parent 17e8bf041e
commit 3449a34e35
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 190 additions and 104 deletions

174
Cargo.lock generated
View File

@ -18,7 +18,7 @@ version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b" checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
dependencies = [ dependencies = [
"gimli 0.26.1", "gimli 0.26.2",
] ]
[[package]] [[package]]
@ -184,9 +184,9 @@ checksum = "0e4cec68f03f32e44924783795810fa50a7035d8c8ebe78580ad7e6c703fba38"
[[package]] [[package]]
name = "bytes" name = "bytes"
version = "1.1.0" version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8" checksum = "f0b3de4a0c5e67e16066a0715723abd91edc2f9001d09c46e1dca929351e130e"
[[package]] [[package]]
name = "bytesize" name = "bytesize"
@ -216,6 +216,17 @@ dependencies = [
"toml", "toml",
] ]
[[package]]
name = "cargo_toml"
version = "0.11.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5809dd3e6444651fd1cdd3dbec71eca438c439a0fcc8081674a14da0afe50185"
dependencies = [
"serde",
"serde_derive",
"toml",
]
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.0.73" version = "1.0.73"
@ -392,9 +403,9 @@ dependencies = [
[[package]] [[package]]
name = "crossbeam-channel" name = "crossbeam-channel"
version = "0.5.5" version = "0.5.6"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4c02a4d71819009c192cf4872265391563fd6a84c81ff2c0f2a7026ca4c1d85c" checksum = "c2dd04ddaf88237dc3b8d8f9a3c1004b506b54b3313403944054d23c0870c521"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"crossbeam-utils", "crossbeam-utils",
@ -402,9 +413,9 @@ dependencies = [
[[package]] [[package]]
name = "crossbeam-deque" name = "crossbeam-deque"
version = "0.8.1" version = "0.8.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6455c0ca19f0d2fbf751b908d5c55c1f5cbc65e03c4225427254b46890bdde1e" checksum = "715e8152b692bba2d374b53d4875445368fdf21a94751410af607a5ac677d1fc"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"crossbeam-epoch", "crossbeam-epoch",
@ -413,9 +424,9 @@ dependencies = [
[[package]] [[package]]
name = "crossbeam-epoch" name = "crossbeam-epoch"
version = "0.9.9" version = "0.9.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "07db9d94cbd326813772c968ccd25999e5f8ae22f4f8d1b11effa37ef6ce281d" checksum = "045ebe27666471bb549370b4b0b3e51b07f56325befa4284db65fc89c02511b1"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"cfg-if 1.0.0", "cfg-if 1.0.0",
@ -427,9 +438,9 @@ dependencies = [
[[package]] [[package]]
name = "crossbeam-utils" name = "crossbeam-utils"
version = "0.8.10" version = "0.8.11"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d82ee10ce34d7bc12c2122495e7593a9c41347ecdd64185af4ecf72cb1a7f83" checksum = "51887d4adc7b564537b15adcfb307936f8075dfcd5f00dde9a9f1d29383682bc"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"once_cell", "once_cell",
@ -447,9 +458,9 @@ dependencies = [
[[package]] [[package]]
name = "ctor" name = "ctor"
version = "0.1.22" version = "0.1.23"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f877be4f7c9f246b183111634f75baa039715e3f46ce860677d3b19a69fb229c" checksum = "cdffe87e1d521a10f9696f833fe502293ea446d7f256c06128293a4119bdf4cb"
dependencies = [ dependencies = [
"quote", "quote",
"syn", "syn",
@ -769,9 +780,9 @@ dependencies = [
[[package]] [[package]]
name = "fastrand" name = "fastrand"
version = "1.7.0" version = "1.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3fcf0cee53519c866c09b5de1f6c56ff9d647101f81c1964fa632e148896cdf" checksum = "a7a407cfaa3385c4ae6b23e84623d48c2798d06e3e6a1878f7f59f17b3f86499"
dependencies = [ dependencies = [
"instant", "instant",
] ]
@ -999,9 +1010,9 @@ dependencies = [
[[package]] [[package]]
name = "gimli" name = "gimli"
version = "0.26.1" version = "0.26.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "78cc372d058dcf6d5ecd98510e7fbc9e5aec4d21de70f65fea8fecebcd881bd4" checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d"
[[package]] [[package]]
name = "h2" name = "h2"
@ -1029,7 +1040,7 @@ version = "0.3.13"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57" checksum = "37a82c6d637fc9515a4694bbf1cb2457b79d81ce52b3108bdeea58b07dd34a57"
dependencies = [ dependencies = [
"bytes 1.1.0", "bytes 1.2.0",
"fnv", "fnv",
"futures-core", "futures-core",
"futures-sink", "futures-sink",
@ -1037,16 +1048,16 @@ dependencies = [
"http", "http",
"indexmap", "indexmap",
"slab", "slab",
"tokio 1.20.0", "tokio 1.20.1",
"tokio-util 0.7.3", "tokio-util 0.7.3",
"tracing", "tracing",
] ]
[[package]] [[package]]
name = "hashbrown" name = "hashbrown"
version = "0.12.2" version = "0.12.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "607c8a29735385251a339424dd462993c0fed8fa09d378f259377df08c126022" checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888"
[[package]] [[package]]
name = "heck" name = "heck"
@ -1078,7 +1089,7 @@ version = "0.2.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399" checksum = "75f43d41e26995c17e71ee126451dd3941010b0514a81a9d11f3b341debc2399"
dependencies = [ dependencies = [
"bytes 1.1.0", "bytes 1.2.0",
"fnv", "fnv",
"itoa 1.0.2", "itoa 1.0.2",
] ]
@ -1099,7 +1110,7 @@ version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1" checksum = "d5f38f16d184e36f2408a55281cd658ecbd3ca05cce6d6510a176eca393e26d1"
dependencies = [ dependencies = [
"bytes 1.1.0", "bytes 1.2.0",
"http", "http",
"pin-project-lite 0.2.9", "pin-project-lite 0.2.9",
] ]
@ -1161,7 +1172,7 @@ version = "0.14.20"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac" checksum = "02c929dc5c39e335a03c405292728118860721b10190d98c2a0f0efd5baafbac"
dependencies = [ dependencies = [
"bytes 1.1.0", "bytes 1.2.0",
"futures-channel", "futures-channel",
"futures-core", "futures-core",
"futures-util", "futures-util",
@ -1173,7 +1184,7 @@ dependencies = [
"itoa 1.0.2", "itoa 1.0.2",
"pin-project-lite 0.2.9", "pin-project-lite 0.2.9",
"socket2 0.4.4", "socket2 0.4.4",
"tokio 1.20.0", "tokio 1.20.1",
"tower-service", "tower-service",
"tracing", "tracing",
"want", "want",
@ -1198,10 +1209,10 @@ version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905" checksum = "d6183ddfa99b85da61a140bea0efc93fdf56ceaa041b37d553518030827f9905"
dependencies = [ dependencies = [
"bytes 1.1.0", "bytes 1.2.0",
"hyper 0.14.20", "hyper 0.14.20",
"native-tls", "native-tls",
"tokio 1.20.0", "tokio 1.20.1",
"tokio-native-tls", "tokio-native-tls",
] ]
@ -1375,9 +1386,9 @@ checksum = "112c678d4050afce233f4f2852bb2eb519230b3cf12f33585275537d7e41578d"
[[package]] [[package]]
name = "js-sys" name = "js-sys"
version = "0.3.58" version = "0.3.59"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c3fac17f7123a73ca62df411b1bf727ccc805daa070338fda671c86dac1bdc27" checksum = "258451ab10b34f8af53416d1fdab72c22e805f0c92a1136d59470ec0b11138b2"
dependencies = [ dependencies = [
"wasm-bindgen", "wasm-bindgen",
] ]
@ -1466,15 +1477,16 @@ checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d"
[[package]] [[package]]
name = "marine" name = "marine"
version = "0.12.1" version = "0.12.2"
dependencies = [ dependencies = [
"Inflector", "Inflector",
"anyhow", "anyhow",
"atty", "atty",
"cargo_toml 0.11.5",
"check-latest", "check-latest",
"clap", "clap",
"exitfailure", "exitfailure",
"marine-it-generator 0.9.0", "marine-it-generator 0.9.1",
"marine-it-parser 0.9.1", "marine-it-parser 0.9.1",
"marine-module-info-parser 0.3.0", "marine-module-info-parser 0.3.0",
"semver 0.11.0", "semver 0.11.0",
@ -1482,6 +1494,7 @@ dependencies = [
"serde_json", "serde_json",
"termion", "termion",
"thiserror", "thiserror",
"toml",
"walrus", "walrus",
] ]
@ -1505,7 +1518,7 @@ dependencies = [
"it-lilo", "it-lilo",
"it-memory-traits", "it-memory-traits",
"log", "log",
"marine-it-generator 0.9.0", "marine-it-generator 0.9.1",
"marine-it-interfaces 0.7.1", "marine-it-interfaces 0.7.1",
"marine-it-parser 0.9.1", "marine-it-parser 0.9.1",
"marine-min-it-version 0.1.0", "marine-min-it-version 0.1.0",
@ -1540,7 +1553,7 @@ dependencies = [
"it-lilo", "it-lilo",
"it-memory-traits", "it-memory-traits",
"log", "log",
"marine-it-generator 0.9.0 (registry+https://github.com/rust-lang/crates.io-index)", "marine-it-generator 0.9.0",
"marine-it-interfaces 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)", "marine-it-interfaces 0.7.1 (registry+https://github.com/rust-lang/crates.io-index)",
"marine-it-parser 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "marine-it-parser 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"marine-min-it-version 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)", "marine-min-it-version 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
@ -1564,10 +1577,12 @@ dependencies = [
[[package]] [[package]]
name = "marine-it-generator" name = "marine-it-generator"
version = "0.9.0" version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "274f94a718f5e2f0a47b44de4dc2226f243374bdd5c16b3439bb538040269db8"
dependencies = [ dependencies = [
"cargo_toml", "cargo_toml 0.8.1",
"it-lilo", "it-lilo",
"marine-it-parser 0.9.1", "marine-it-parser 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)",
"marine-macro-impl", "marine-macro-impl",
"once_cell", "once_cell",
"serde", "serde",
@ -1579,13 +1594,10 @@ dependencies = [
[[package]] [[package]]
name = "marine-it-generator" name = "marine-it-generator"
version = "0.9.0" version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "274f94a718f5e2f0a47b44de4dc2226f243374bdd5c16b3439bb538040269db8"
dependencies = [ dependencies = [
"cargo_toml",
"it-lilo", "it-lilo",
"marine-it-parser 0.9.1 (registry+https://github.com/rust-lang/crates.io-index)", "marine-it-parser 0.9.1",
"marine-macro-impl", "marine-macro-impl",
"once_cell", "once_cell",
"serde", "serde",
@ -2318,10 +2330,11 @@ checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
[[package]] [[package]]
name = "pest" name = "pest"
version = "2.1.3" version = "2.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53" checksum = "823635055522a82e92ebd61dbe07ce53e180c8989cced4715eaec10baa1baeb7"
dependencies = [ dependencies = [
"thiserror",
"ucd-trie", "ucd-trie",
] ]
@ -2417,9 +2430,9 @@ dependencies = [
[[package]] [[package]]
name = "proc-macro2" name = "proc-macro2"
version = "1.0.40" version = "1.0.42"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd96a1e8ed2596c337f8eae5f24924ec83f5ad5ab21ea8e455d3566c69fbcaf7" checksum = "c278e965f1d8cf32d6e0e96de3d3e79712178ae67986d9cf9151f51e95aac89b"
dependencies = [ dependencies = [
"unicode-ident", "unicode-ident",
] ]
@ -2524,9 +2537,9 @@ checksum = "41cc0f7e4d5d4544e8861606a285bb08d3e70712ccc7d2b84d7c0ccfaf4b05ce"
[[package]] [[package]]
name = "redox_syscall" name = "redox_syscall"
version = "0.2.13" version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "62f25bc4c7e55e0b0b7a1d43fb893f4fa1361d0abe38b9ce4f323c2adfe6ef42" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a"
dependencies = [ dependencies = [
"bitflags", "bitflags",
] ]
@ -2537,7 +2550,7 @@ version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8440d8acb4fd3d277125b4bd01a6f38aee8d814b3b5fc09b3f2b825d37d3fe8f" checksum = "8440d8acb4fd3d277125b4bd01a6f38aee8d814b3b5fc09b3f2b825d37d3fe8f"
dependencies = [ dependencies = [
"redox_syscall 0.2.13", "redox_syscall 0.2.16",
] ]
[[package]] [[package]]
@ -2558,7 +2571,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b" checksum = "b033d837a7cf162d7993aded9304e30a83213c648b6e389db233191f891e5c2b"
dependencies = [ dependencies = [
"getrandom 0.2.7", "getrandom 0.2.7",
"redox_syscall 0.2.13", "redox_syscall 0.2.16",
"thiserror", "thiserror",
] ]
@ -2630,7 +2643,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b75aa69a3f06bbcc66ede33af2af253c6f7a86b1ca0033f60c580a27074fbf92" checksum = "b75aa69a3f06bbcc66ede33af2af253c6f7a86b1ca0033f60c580a27074fbf92"
dependencies = [ dependencies = [
"base64", "base64",
"bytes 1.1.0", "bytes 1.2.0",
"encoding_rs", "encoding_rs",
"futures-core", "futures-core",
"futures-util", "futures-util",
@ -2650,7 +2663,7 @@ dependencies = [
"serde", "serde",
"serde_json", "serde_json",
"serde_urlencoded", "serde_urlencoded",
"tokio 1.20.0", "tokio 1.20.1",
"tokio-native-tls", "tokio-native-tls",
"tower-service", "tower-service",
"url", "url",
@ -2818,9 +2831,9 @@ dependencies = [
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.139" version = "1.0.140"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0171ebb889e45aa68b44aee0859b3eede84c6f5f5c228e6f140c0b2a0a46cad6" checksum = "fc855a42c7967b7c369eb5860f7164ef1f6f81c20c7cc1141f2a604e18723b03"
dependencies = [ dependencies = [
"serde_derive", "serde_derive",
] ]
@ -2846,9 +2859,9 @@ dependencies = [
[[package]] [[package]]
name = "serde_derive" name = "serde_derive"
version = "1.0.139" version = "1.0.140"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc1d3230c1de7932af58ad8ffbe1d784bd55efd5a9d84ac24f69c72d83543dfb" checksum = "6f2122636b9fe3b81f1cb25099fcf2d3f542cdb1d45940d56c713158884a05da"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -2940,9 +2953,12 @@ dependencies = [
[[package]] [[package]]
name = "slab" name = "slab"
version = "0.4.6" version = "0.4.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb703cfe953bccee95685111adeedb76fabe4e97549a58d16f03ea7b9367bb32" checksum = "4614a76b2a8be0058caa9dbbaf66d988527d86d003c11a94fbd335d7661edcef"
dependencies = [
"autocfg",
]
[[package]] [[package]]
name = "smallvec" name = "smallvec"
@ -3039,7 +3055,7 @@ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"fastrand", "fastrand",
"libc", "libc",
"redox_syscall 0.2.13", "redox_syscall 0.2.16",
"remove_dir_all", "remove_dir_all",
"winapi 0.3.9", "winapi 0.3.9",
] ]
@ -3072,7 +3088,7 @@ checksum = "077185e2eac69c3f8379a4298e1e07cd36beb962290d4a51199acf0fdc10607e"
dependencies = [ dependencies = [
"libc", "libc",
"numtoa", "numtoa",
"redox_syscall 0.2.13", "redox_syscall 0.2.16",
"redox_termios", "redox_termios",
] ]
@ -3176,12 +3192,12 @@ dependencies = [
[[package]] [[package]]
name = "tokio" name = "tokio"
version = "1.20.0" version = "1.20.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57aec3cfa4c296db7255446efb4928a6be304b431a806216105542a67b6ca82e" checksum = "7a8325f63a7d4774dd041e363b2409ed1c5cbbd0f867795e661df066b2b0a581"
dependencies = [ dependencies = [
"autocfg", "autocfg",
"bytes 1.1.0", "bytes 1.2.0",
"libc", "libc",
"memchr", "memchr",
"mio 0.8.4", "mio 0.8.4",
@ -3210,7 +3226,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b" checksum = "f7d995660bd2b7f8c1568414c1126076c13fbb725c40112dc0120b78eb9b717b"
dependencies = [ dependencies = [
"native-tls", "native-tls",
"tokio 1.20.0", "tokio 1.20.1",
] ]
[[package]] [[package]]
@ -3243,11 +3259,11 @@ version = "0.7.3"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45" checksum = "cc463cd8deddc3770d20f9852143d50bf6094e640b485cb2e189a2099085ff45"
dependencies = [ dependencies = [
"bytes 1.1.0", "bytes 1.2.0",
"futures-core", "futures-core",
"futures-sink", "futures-sink",
"pin-project-lite 0.2.9", "pin-project-lite 0.2.9",
"tokio 1.20.0", "tokio 1.20.1",
"tracing", "tracing",
] ]
@ -3541,9 +3557,9 @@ dependencies = [
[[package]] [[package]]
name = "wasm-bindgen" name = "wasm-bindgen"
version = "0.2.81" version = "0.2.82"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7c53b543413a17a202f4be280a7e5c62a1c69345f5de525ee64f8cfdbc954994" checksum = "fc7652e3f6c4706c8d9cd54832c4a4ccb9b5336e2c3bd154d5cccfbf1c1f5f7d"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"serde", "serde",
@ -3553,13 +3569,13 @@ dependencies = [
[[package]] [[package]]
name = "wasm-bindgen-backend" name = "wasm-bindgen-backend"
version = "0.2.81" version = "0.2.82"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5491a68ab4500fa6b4d726bd67408630c3dbe9c4fe7bda16d5c82a1fd8c7340a" checksum = "662cd44805586bd52971b9586b1df85cdbbd9112e4ef4d8f41559c334dc6ac3f"
dependencies = [ dependencies = [
"bumpalo", "bumpalo",
"lazy_static",
"log", "log",
"once_cell",
"proc-macro2", "proc-macro2",
"quote", "quote",
"syn", "syn",
@ -3568,9 +3584,9 @@ dependencies = [
[[package]] [[package]]
name = "wasm-bindgen-futures" name = "wasm-bindgen-futures"
version = "0.4.31" version = "0.4.32"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "de9a9cec1733468a8c657e57fa2413d2ae2c0129b95e87c5b72b8ace4d13f31f" checksum = "fa76fb221a1f8acddf5b54ace85912606980ad661ac7a503b4570ffd3a624dad"
dependencies = [ dependencies = [
"cfg-if 1.0.0", "cfg-if 1.0.0",
"js-sys", "js-sys",
@ -3580,9 +3596,9 @@ dependencies = [
[[package]] [[package]]
name = "wasm-bindgen-macro" name = "wasm-bindgen-macro"
version = "0.2.81" version = "0.2.82"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c441e177922bc58f1e12c022624b6216378e5febc2f0533e41ba443d505b80aa" checksum = "b260f13d3012071dfb1512849c033b1925038373aea48ced3012c09df952c602"
dependencies = [ dependencies = [
"quote", "quote",
"wasm-bindgen-macro-support", "wasm-bindgen-macro-support",
@ -3590,9 +3606,9 @@ dependencies = [
[[package]] [[package]]
name = "wasm-bindgen-macro-support" name = "wasm-bindgen-macro-support"
version = "0.2.81" version = "0.2.82"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7d94ac45fcf608c1f45ef53e748d35660f168490c10b23704c7779ab8f5c3048" checksum = "5be8e654bdd9b79216c2929ab90721aa82faf65c48cdf08bdc4e7f51357b80da"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
@ -3603,9 +3619,9 @@ dependencies = [
[[package]] [[package]]
name = "wasm-bindgen-shared" name = "wasm-bindgen-shared"
version = "0.2.81" version = "0.2.82"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a89911bd99e5f3659ec4acf9c4d93b0a90fe4a2a11f15328472058edc5261be" checksum = "6598dd0bd3c7d51095ff6531a5b23e02acdc81804e30d8f07afb77b7215a140a"
[[package]] [[package]]
name = "wasm-build-rs" name = "wasm-build-rs"
@ -3849,9 +3865,9 @@ dependencies = [
[[package]] [[package]]
name = "web-sys" name = "web-sys"
version = "0.3.58" version = "0.3.59"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fed94beee57daf8dd7d51f2b15dc2bcde92d7a72304cdf662a4371008b71b90" checksum = "ed055ab27f941423197eb86b2035720b1a3ce40504df082cac2ecc6ed73335a1"
dependencies = [ dependencies = [
"js-sys", "js-sys",
"wasm-bindgen", "wasm-bindgen",

View File

@ -1,7 +1,7 @@
[package] [package]
name = "marine-it-generator" name = "marine-it-generator"
description = "Fluence Marine interface types generator" description = "Fluence Marine interface types generator"
version = "0.9.0" version = "0.9.1"
authors = ["Fluence Labs"] authors = ["Fluence Labs"]
license = "Apache-2.0" license = "Apache-2.0"
edition = "2018" edition = "2018"
@ -22,4 +22,3 @@ walrus = "0.18.0"
once_cell = "1.4.0" once_cell = "1.4.0"
serde = { version = "1.0.118", features = ["derive"] } serde = { version = "1.0.118", features = ["derive"] }
serde_json = "1.0.56" serde_json = "1.0.56"
cargo_toml = "0.8.1"

View File

@ -1,7 +1,7 @@
[package] [package]
name = "marine" name = "marine"
description = "Fluence Marine command line tool" description = "Fluence Marine command line tool"
version = "0.12.1" version = "0.12.2"
authors = ["Fluence Labs"] authors = ["Fluence Labs"]
repository = "https://github.com/fluencelabs/marine/tools/cli" repository = "https://github.com/fluencelabs/marine/tools/cli"
license = "Apache-2.0" license = "Apache-2.0"
@ -12,14 +12,15 @@ name = "marine"
path = "src/main.rs" path = "src/main.rs"
[dependencies] [dependencies]
marine-it-generator = { path = "../../crates/it-generator", version = "0.9.0" } marine-it-generator = { path = "../../crates/it-generator", version = "0.9.1" }
marine-it-parser = { path = "../../crates/it-parser", version = "0.9.1" } marine-it-parser = { path = "../../crates/it-parser", version = "0.9.1" }
marine-module-info-parser = { path = "../../crates/module-info-parser", version = "0.3.0" } marine-module-info-parser = { path = "../../crates/module-info-parser", version = "0.3.0" }
cargo_toml = "0.11.5"
semver = "0.11.0" semver = "0.11.0"
walrus = "0.18.0" walrus = "0.18.0"
Inflector = "0.11.4" Inflector = "0.11.4"
toml = "0.5.9"
atty = "0.2.14" atty = "0.2.14"
thiserror = "1.0.24" thiserror = "1.0.24"
anyhow = "1.0.31" anyhow = "1.0.31"

View File

@ -17,23 +17,24 @@
use crate::CLIResult; use crate::CLIResult;
use crate::errors::CLIError; use crate::errors::CLIError;
use std::process::Command; use semver::Version;
// TODO: use sdk version from cargo.toml use std::path::PathBuf;
const RUST_SDK_VERSION: &str = "0.7.0"; use std::process::Command;
#[derive(serde::Deserialize)] #[derive(serde::Deserialize)]
#[serde(tag = "reason", rename_all = "kebab-case")] #[serde(tag = "reason", rename_all = "kebab-case")]
enum DiagnosticMessage { enum DiagnosticMessage {
BuildScriptExecuted, BuildScriptExecuted,
BuildFinished, BuildFinished,
CompilerArtifact { filenames: Vec<String> }, CompilerArtifact {
filenames: Vec<String>,
manifest_path: PathBuf,
},
RunWithArgs, RunWithArgs,
} }
pub(crate) fn build(trailing_args: Vec<&str>) -> CLIResult<()> { pub(crate) fn build(trailing_args: Vec<&str>) -> CLIResult<()> {
use std::str::FromStr;
let mut cargo = Command::new("cargo"); let mut cargo = Command::new("cargo");
cargo.arg("build").arg("--target").arg("wasm32-wasi"); cargo.arg("build").arg("--target").arg("wasm32-wasi");
cargo.arg("--message-format").arg("json-render-diagnostics"); cargo.arg("--message-format").arg("json-render-diagnostics");
@ -44,15 +45,27 @@ pub(crate) fn build(trailing_args: Vec<&str>) -> CLIResult<()> {
// that DiagnosticMessage represents // that DiagnosticMessage represents
let output = crate::utils::run_command_piped(cargo) let output = crate::utils::run_command_piped(cargo)
.map_err(|e| CLIError::WasmCompilationError(e.to_string()))?; .map_err(|e| CLIError::WasmCompilationError(e.to_string()))?;
let mut wasms: Vec<String> = Vec::new(); let mut wasms: Vec<(String, Version)> = Vec::new();
for line in output.lines() { for line in output.lines() {
if let Ok(DiagnosticMessage::CompilerArtifact { filenames }) = serde_json::from_str(line) { if let Ok(DiagnosticMessage::CompilerArtifact {
wasms.extend( filenames,
filenames manifest_path,
.into_iter() }) = serde_json::from_str(line)
.filter(|name| name.ends_with(".wasm")) {
.collect::<Vec<_>>(), use crate::cargo_manifest::extract_sdk_version;
)
let new_wasms = filenames
.into_iter()
.filter(|name| name.ends_with(".wasm"))
.collect::<Vec<_>>();
if !new_wasms.is_empty() {
let sdk_version = extract_sdk_version(&manifest_path)?;
wasms.extend(
new_wasms
.into_iter()
.map(|name| (name, sdk_version.clone())),
)
}
} }
} }
@ -61,11 +74,14 @@ pub(crate) fn build(trailing_args: Vec<&str>) -> CLIResult<()> {
return Ok(()); return Ok(());
} }
let version = semver::Version::from_str(RUST_SDK_VERSION).unwrap(); for (wasm, sdk_version) in wasms {
for wasm in wasms {
let wasm_path = std::path::PathBuf::from(wasm); let wasm_path = std::path::PathBuf::from(wasm);
marine_it_generator::embed_it(&wasm_path)?; marine_it_generator::embed_it(&wasm_path)?;
marine_module_info_parser::sdk_version::embed_from_path(&wasm_path, &wasm_path, &version)?; marine_module_info_parser::sdk_version::embed_from_path(
&wasm_path,
&wasm_path,
&sdk_version,
)?;
} }
Ok(()) Ok(())

View File

@ -0,0 +1,48 @@
use cargo_toml::{Dependency, Error as CargoTomlError, Manifest};
use toml::de::Error as TomlError;
use semver::Version;
use thiserror::Error as ThisError;
use std::path::Path;
use std::str::FromStr;
const SKD_CRATE_NAME: &str = "marine-rs-sdk";
#[derive(Debug, ThisError)]
pub enum ManifestError {
#[error("Cannot load file: {0}")]
Io(#[from] std::io::Error),
#[error("Cannot parse file: {0}")]
ParseError(#[from] TomlError),
#[error("Cannot find marine-rs-sdk dependency")]
NoSdkDependencyError,
#[error("Cannot find version of marine-rs-sdk dependency")]
NoSdkVersionError,
#[error("Cannot parse marine-rs-sdk version: {0}")]
VersionParseError(#[from] semver::SemVerError),
}
pub(crate) fn extract_sdk_version(path: &Path) -> Result<Version, ManifestError> {
let path = Path::new(&path);
let manifest = Manifest::from_path(&path).map_err(|e| -> ManifestError {
match e {
CargoTomlError::Parse(e) => e.into(),
CargoTomlError::Io(e) => e.into(),
}
})?;
let dependency = manifest
.dependencies
.get(SKD_CRATE_NAME)
.ok_or(ManifestError::NoSdkDependencyError)?;
let version = match dependency {
Dependency::Simple(version) => version,
Dependency::Detailed(detail) => detail
.version
.as_ref()
.ok_or(ManifestError::NoSdkVersionError)?,
};
Version::from_str(&version).map_err(Into::into)
}

View File

@ -14,6 +14,8 @@
* limitations under the License. * limitations under the License.
*/ */
use crate::cargo_manifest::ManifestError;
use marine_module_info_parser::ModuleInfoError; use marine_module_info_parser::ModuleInfoError;
use marine_it_generator::ITGeneratorError; use marine_it_generator::ITGeneratorError;
use marine_it_parser::ITParserError; use marine_it_parser::ITParserError;
@ -27,15 +29,15 @@ pub enum CLIError {
NoSuchCommand(String), NoSuchCommand(String),
/// A error occurred while embedding rust sdk version. /// A error occurred while embedding rust sdk version.
#[error("{0}")] #[error(transparent)]
VersionEmbeddingError(#[from] ModuleInfoError), VersionEmbeddingError(#[from] ModuleInfoError),
/// An error occurred while generating interface types. /// An error occurred while generating interface types.
#[error("{0}")] #[error(transparent)]
ITGeneratorError(#[from] ITGeneratorError), ITGeneratorError(#[from] ITGeneratorError),
/// An error occurred while parsing interface types. /// An error occurred while parsing interface types.
#[error("{0}")] #[error(transparent)]
ITParserError(#[from] ITParserError), ITParserError(#[from] ITParserError),
/// An error occurred when no Wasm file was compiled. /// An error occurred when no Wasm file was compiled.
@ -45,4 +47,7 @@ pub enum CLIError {
/// Various errors related to I/O operations. /// Various errors related to I/O operations.
#[error("{0:?}")] #[error("{0:?}")]
IOError(#[from] std::io::Error), IOError(#[from] std::io::Error),
#[error(transparent)]
ManifestError(#[from] ManifestError),
} }

View File

@ -33,6 +33,7 @@ mod build;
mod errors; mod errors;
mod generate; mod generate;
mod utils; mod utils;
mod cargo_manifest;
pub(crate) type CLIResult<T> = std::result::Result<T, crate::errors::CLIError>; pub(crate) type CLIResult<T> = std::result::Result<T, crate::errors::CLIError>;