diff --git a/.circleci/config.yml b/.circleci/config.yml index 74b2ecb..90c92bf 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -12,9 +12,9 @@ jobs: keys: - backendsdk01-{{ checksum "Cargo.toml" }} - run: | #TODO: enable 'stable' and 'beta' once `allocator_api` becomes stable - rustup toolchain install nightly-2021-02-27 - rustup default nightly-2021-02-27 - rustup override set nightly-2021-02-27 + rustup toolchain install nightly-2022-03-20 + rustup default nightly-2022-03-20 + rustup override set nightly-2022-03-20 rustup component add rustfmt rustup component add clippy cargo fmt --all -- --check --color always diff --git a/Cargo.lock b/Cargo.lock index f4e64e1..84b9026 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -68,6 +68,15 @@ version = "1.4.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +[[package]] +name = "bytesize" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c58ec36aac5066d5ca17df51b3e70279f5670a72102f5752cb7e7c856adfc70" +dependencies = [ + "serde", +] + [[package]] name = "cargo_toml" version = "0.8.1" @@ -261,8 +270,18 @@ version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5f2c43f534ea4b0b049015d00269734195e6d3f0f6635cb692251aca6f9f8b3c" dependencies = [ - "darling_core", - "darling_macro", + "darling_core 0.12.4", + "darling_macro 0.12.4", +] + +[[package]] +name = "darling" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a01d95850c592940db9b8194bc39f4bc0e89dee5c4265e4b1807c34a9aba453c" +dependencies = [ + "darling_core 0.13.4", + "darling_macro 0.13.4", ] [[package]] @@ -279,13 +298,38 @@ dependencies = [ "syn", ] +[[package]] +name = "darling_core" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "859d65a907b6852c9361e3185c862aae7fafd2887876799fa55f5f99dc40d610" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim", + "syn", +] + [[package]] name = "darling_macro" version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "29b5acf0dea37a7f66f7b25d2c5e93fd46f8f6968b1a5d7a3e02e97768afc95a" dependencies = [ - "darling_core", + "darling_core 0.12.4", + "quote", + "syn", +] + +[[package]] +name = "darling_macro" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c972679f83bdf9c42bd905396b6c3588a843a17f0f16dfcfa3e2c5d57441835" +dependencies = [ + "darling_core 0.13.4", "quote", "syn", ] @@ -346,13 +390,14 @@ dependencies = [ [[package]] name = "fluence-app-service" -version = "0.10.2" +version = "0.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "01c66660de99826038c5ec4ad0f5dccf10b1c8a15924aeaa5315ab49d718bfc9" +checksum = "45d7990901492d79debb862d121442c935415f288e1d93234d1aede5a8a0a406" dependencies = [ "fluence-faas", "log", "maplit", + "marine-min-it-version", "serde", "serde_derive", "serde_json", @@ -362,11 +407,13 @@ dependencies = [ [[package]] name = "fluence-faas" -version = "0.9.3" +version = "0.16.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2abf1682505636b8c3436a2787df7bbae426d4f5277f5ae4ad193032b318b7f1" +checksum = "d382277889aa36f38cb861e40f91d19e9fe87325d3719a62a18e0d725e5064cc" dependencies = [ + "bytesize", "cmd_lib", + "it-json-serde", "itertools 0.9.0", "log", "marine-module-interface", @@ -378,6 +425,7 @@ dependencies = [ "serde", "serde_derive", "serde_json", + "serde_with", "thiserror", "toml", "wasmer-interface-types-fl", @@ -565,17 +613,41 @@ dependencies = [ ] [[package]] -name = "it-lilo" -version = "0.1.0" +name = "it-json-serde" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "99ccf40e1e08f6f47ffbafe3cfb2e3adb721ddde80b178240f038d07dc9652fb" +checksum = "d11e4c01d0c15e4126541261b2ab17375da37d19e5d19bcea549ba236e8b4a82" +dependencies = [ + "serde", + "serde_derive", + "serde_json", + "serde_with", + "thiserror", + "wasmer-interface-types-fl", +] + +[[package]] +name = "it-lilo" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a39dffcc610873b4c39b0fe04acac5ea77cf2eda9ed3d8a3b970b536d4e24c8" dependencies = [ "fluence-it-types", + "it-memory-traits", "log", "paste", "thiserror", ] +[[package]] +name = "it-memory-traits" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca1799ed89e51a192e80a14ab14589044de9e58f0be86087ae8699cbe59f5c40" +dependencies = [ + "thiserror", +] + [[package]] name = "it-to-bytes" version = "0.1.0" @@ -663,16 +735,16 @@ checksum = "3e2e65a1a2e43cfcb47a895c4c8b10d1f4a61097f9f254f183aee60cad9c651d" [[package]] name = "marine-build-rs-generator" -version = "0.4.1" +version = "0.5.0" dependencies = [ "marine-test-macro-impl", ] [[package]] name = "marine-it-generator" -version = "0.5.6" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "890b228b9151e9dff213501986f564445a2f9ca5a706088b5d900f5ecf67f7e7" +checksum = "0ebdfd1c29b954fc538e03ba9a7e95a5159175fafa41929587e7fc7bb950f02c" dependencies = [ "cargo_toml", "it-lilo", @@ -688,9 +760,9 @@ dependencies = [ [[package]] name = "marine-it-interfaces" -version = "0.4.1" +version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42e229143e72ba20e754de4766ff0d02e0cf176001f7471593f82b16c72dc26d" +checksum = "96669170af512d5e204ac3e7ce73691805120b95abfe9e7d247379128be5d9c7" dependencies = [ "multimap", "wasmer-interface-types-fl", @@ -698,9 +770,9 @@ dependencies = [ [[package]] name = "marine-it-parser" -version = "0.6.8" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edd97bd85072fc540763769be153a7c8ee83391e668b37ef96d6c48decec2cd5" +checksum = "07385efa5f6779143db076da84fcc786db6060815f828a050a83687d7c58e71f" dependencies = [ "anyhow", "itertools 0.10.1", @@ -750,6 +822,16 @@ dependencies = [ "syn", ] +[[package]] +name = "marine-min-it-version" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "890269754a531810b8c16cf00e6161e01c1183ef7ff4ff20117656316e9fdbd1" +dependencies = [ + "once_cell", + "semver 0.11.0", +] + [[package]] name = "marine-module-info-parser" version = "0.2.2" @@ -768,9 +850,9 @@ dependencies = [ [[package]] name = "marine-module-interface" -version = "0.1.6" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06bc36ef268bf7436916f1fa9b0c84104692a717ea5eef3c90b9f25c3407f6b7" +checksum = "0d8b91a2c8d7905bad5d8a787a5aaab8fe9ec9efabead2ed031259c385d0b787" dependencies = [ "anyhow", "itertools 0.10.1", @@ -781,7 +863,6 @@ dependencies = [ "thiserror", "walrus", "wasmer-interface-types-fl", - "wasmer-runtime-core-fl", ] [[package]] @@ -809,7 +890,7 @@ dependencies = [ [[package]] name = "marine-rs-sdk-test" -version = "0.4.1" +version = "0.5.0" dependencies = [ "fluence-app-service", "marine-build-rs-generator", @@ -822,17 +903,20 @@ dependencies = [ [[package]] name = "marine-runtime" -version = "0.7.2" +version = "0.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "983262d394c59d4321b141e303eb55015bc412f319d54bbad7f253e4583253b2" +checksum = "d30e6f7fc6921497e1b7aba3737972fdae856d5c6a3f50eb4781ec9b40ec41b4" dependencies = [ "anyhow", "boolinator", + "bytesize", "it-lilo", + "it-memory-traits", "log", "marine-it-generator", "marine-it-interfaces", "marine-it-parser", + "marine-min-it-version", "marine-module-info-parser", "marine-module-interface", "marine-utils", @@ -852,7 +936,7 @@ dependencies = [ [[package]] name = "marine-test-macro" -version = "0.4.1" +version = "0.5.0" dependencies = [ "marine-test-macro-impl", "proc-macro-error", @@ -863,9 +947,9 @@ dependencies = [ [[package]] name = "marine-test-macro-impl" -version = "0.4.1" +version = "0.5.0" dependencies = [ - "darling", + "darling 0.12.4", "fluence-app-service", "itertools 0.10.1", "marine-it-parser", @@ -890,9 +974,9 @@ dependencies = [ [[package]] name = "marine-utils" -version = "0.2.0" +version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8dc5838acba84ce4d802d672afd0814fae0ae7098021ae5b06d975e70d09f812" +checksum = "1cff7a23a7f3925a712c34dfb9cd87994012d7743f016fd1533e12ab5a8335ca" [[package]] name = "memchr" @@ -999,9 +1083,9 @@ dependencies = [ [[package]] name = "parity-wasm" -version = "0.41.0" +version = "0.42.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ddfc878dac00da22f8f61e7af3157988424567ab01d9920b962ef7dcbd7cd865" +checksum = "be5e13c266502aadf83426d87d81a0f5d1ef45b8027f5a471c360abfe4bfae92" [[package]] name = "parking_lot" @@ -1087,9 +1171,9 @@ dependencies = [ [[package]] name = "pwasm-utils" -version = "0.12.0" +version = "0.18.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4f7a12f176deee919f4ba55326ee17491c8b707d0987aed822682c821b660192" +checksum = "880b3384fb00b8f6ecccd5d358b93bd2201900ae3daad213791d1864f6441f5c" dependencies = [ "byteorder", "log", @@ -1156,6 +1240,12 @@ dependencies = [ "semver 0.9.0", ] +[[package]] +name = "rustversion" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f2cc38e8fa666e2de3c4aba7edeb5ffc5246c1c2ed0e3d17e560aeeba736b23f" + [[package]] name = "ryu" version = "1.0.5" @@ -1209,9 +1299,9 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.118" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06c64263859d87aa2eb554587e2d23183398d617427327cf2b3d0ed8c69e4800" +checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789" dependencies = [ "serde_derive", ] @@ -1237,9 +1327,9 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.118" +version = "1.0.136" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c84d3526699cd55261af4b941e4e725444df67aa4f9e6a3564f18030d12672df" +checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9" dependencies = [ "proc-macro2", "quote", @@ -1257,6 +1347,29 @@ dependencies = [ "serde", ] +[[package]] +name = "serde_with" +version = "1.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "946fa04a8ac43ff78a1f4b811990afb9ddbdf5890b46d6dda0ba1998230138b7" +dependencies = [ + "rustversion", + "serde", + "serde_with_macros", +] + +[[package]] +name = "serde_with_macros" +version = "1.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e182d6ec6f05393cc0e5ed1bf81ad6db3a8feedf8ee515ecdd369809bcce8082" +dependencies = [ + "darling 0.13.4", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "smallvec" version = "1.6.1" @@ -1532,12 +1645,13 @@ dependencies = [ [[package]] name = "wasmer-interface-types-fl" -version = "0.20.2" +version = "0.23.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14ba3b5a07989987994b96bf5cc7ac2947005f9ff6123d71b7064232f07d28fa" +checksum = "1246e98bc1798552556d4ded306c37cbf73b3ffb52183d2605c0129f58fcc98a" dependencies = [ "fluence-it-types", "it-lilo", + "it-memory-traits", "it-to-bytes", "itertools 0.10.1", "log", diff --git a/Cargo.toml b/Cargo.toml index c334075..e21dc62 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "marine-rs-sdk-test" -version = "0.4.1" # remember to update html_root_url +version = "0.5.0" # remember to update html_root_url description = "Backend SDK that allows testing modules for the Marine runtime" documentation = "https://docs.rs/marine-rs-sdk-test" repository = "https://github.com/fluencelabs/marine-rs-sdk-test" @@ -21,9 +21,9 @@ doctest = false trybuild = "1.0" [dependencies] -marine-test-macro = { path = "crates/marine-test-macro", version = "=0.4.1" } -marine-build-rs-generator = { path = "crates/marine-build-rs-generator", version = "=0.4.1" } -fluence-app-service = { version = "0.10.2", features = ["raw-module-api"] } +marine-test-macro = { path = "crates/marine-test-macro", version = "=0.5.0" } +marine-build-rs-generator = { path = "crates/marine-build-rs-generator", version = "=0.5.0" } +fluence-app-service = { version = "0.17.0", features = ["raw-module-api"] } serde = { version = "1.0.118", features = ["derive"] } serde_json = "1.0.64" diff --git a/crates/marine-build-rs-generator/Cargo.toml b/crates/marine-build-rs-generator/Cargo.toml index 009a64d..676bc76 100644 --- a/crates/marine-build-rs-generator/Cargo.toml +++ b/crates/marine-build-rs-generator/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "marine-build-rs-generator" -version = "0.4.1" # remember to update html_root_url +version = "0.5.0" # remember to update html_root_url edition = "2018" description = "Tools for generating marine_test_env in build scripts" documentation = "https://docs.rs/marine-build-rs-generator" @@ -17,5 +17,5 @@ all-features = true doctest = false [dependencies] -marine-test-macro-impl = { path = "../marine-test-macro-impl", version = "=0.4.1" } +marine-test-macro-impl = { path = "../marine-test-macro-impl", version = "=0.5.0" } diff --git a/crates/marine-build-rs-generator/src/lib.rs b/crates/marine-build-rs-generator/src/lib.rs index 05e8836..bc50aaa 100644 --- a/crates/marine-build-rs-generator/src/lib.rs +++ b/crates/marine-build-rs-generator/src/lib.rs @@ -14,7 +14,7 @@ * limitations under the License. */ -#![doc(html_root_url = "https://docs.rs/marine-build-rs-generator/0.4.1")] +#![doc(html_root_url = "https://docs.rs/marine-build-rs-generator/0.5.0")] #![deny( dead_code, nonstandard_style, diff --git a/crates/marine-test-macro-impl/Cargo.toml b/crates/marine-test-macro-impl/Cargo.toml index b2a9883..0222c2c 100644 --- a/crates/marine-test-macro-impl/Cargo.toml +++ b/crates/marine-test-macro-impl/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "marine-test-macro-impl" -version = "0.4.1" # remember to update html_root_url +version = "0.5.0" # remember to update html_root_url edition = "2018" description = "Implementation of the `#[marine_test]` macro" documentation = "https://docs.rs/fluence/marine-test-macro-impl" @@ -14,8 +14,8 @@ license = "Apache-2.0" all-features = true [dependencies] -fluence-app-service = { version = "0.10.2", features = ["raw-module-api"] } -marine-it-parser = "0.6.5" +fluence-app-service = { version = "0.17.0", features = ["raw-module-api"] } +marine-it-parser = "0.9.0" itertools = "0.10.1" darling = "0.12.2" quote = "1.0.9" diff --git a/crates/marine-test-macro/Cargo.toml b/crates/marine-test-macro/Cargo.toml index dd8d65d..e6d77ab 100644 --- a/crates/marine-test-macro/Cargo.toml +++ b/crates/marine-test-macro/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "marine-test-macro" -version = "0.4.1" # remember to update html_root_url +version = "0.5.0" # remember to update html_root_url edition = "2018" description = "Definition of the `#[marine_test]` macro" documentation = "https://docs.rs/fluence/marine-test-macro" @@ -18,7 +18,7 @@ proc-macro = true doctest = false [dependencies] -marine-test-macro-impl = { path = "../marine-test-macro-impl", version = "=0.4.1" } +marine-test-macro-impl = { path = "../marine-test-macro-impl", version = "=0.5.0" } quote = "1.0.9" proc-macro2 = "1.0.24" diff --git a/crates/marine-test-macro/src/lib.rs b/crates/marine-test-macro/src/lib.rs index 72696a1..cef8310 100644 --- a/crates/marine-test-macro/src/lib.rs +++ b/crates/marine-test-macro/src/lib.rs @@ -14,7 +14,7 @@ * limitations under the License. */ -#![doc(html_root_url = "https://docs.rs/marine-test-macro/0.4.1")] +#![doc(html_root_url = "https://docs.rs/marine-test-macro/0.5.0")] #![deny( dead_code, nonstandard_style, diff --git a/src/lib.rs b/src/lib.rs index 5964faa..4a5a0ad 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -14,7 +14,7 @@ * limitations under the License. */ -#![doc(html_root_url = "https://docs.rs/marine-rs-sdk-test/0.4.1")] +#![doc(html_root_url = "https://docs.rs/marine-rs-sdk-test/0.5.0")] #![deny( dead_code, nonstandard_style,