From 01c645e8c4e302552e0dfb065099d9f5d5807ce3 Mon Sep 17 00:00:00 2001 From: Maria Kuklina <101095419+kmd-fl@users.noreply.github.com> Date: Mon, 24 Apr 2023 11:20:55 +0200 Subject: [PATCH] feat: add aqua-ipfs-distro crate (#72) * add aqua-ipfs-distro crate --- .gitignore | 1 + service/Cargo.lock | 32 ++++++++++++++++++++++++++++++++ service/Cargo.toml | 1 + service/build.sh | 3 +++ service/distro/Cargo.toml | 15 +++++++++++++++ service/distro/build.rs | 3 +++ service/distro/src/lib.rs | 16 ++++++++++++++++ 7 files changed, 71 insertions(+) create mode 100644 service/distro/Cargo.toml create mode 100644 service/distro/build.rs create mode 100644 service/distro/src/lib.rs diff --git a/.gitignore b/.gitignore index ab755df..de46f09 100644 --- a/.gitignore +++ b/.gitignore @@ -20,3 +20,4 @@ builtin-package/*.wasm .bic_cache aqua-ipfs.tar.gz +**/ipfs-service/* diff --git a/service/Cargo.lock b/service/Cargo.lock index dfc8015..b9d60dd 100644 --- a/service/Cargo.lock +++ b/service/Cargo.lock @@ -17,6 +17,14 @@ version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" +[[package]] +name = "aqua-ipfs-distro" +version = "0.5.10" +dependencies = [ + "built", + "maplit", +] + [[package]] name = "arrayref" version = "0.3.6" @@ -83,6 +91,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" +[[package]] +name = "built" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5b9c056b9ed43aee5e064b683aa1ec783e19c6acec7559e3ae931b7490472fbe" +dependencies = [ + "cargo-lock", +] + [[package]] name = "bumpalo" version = "3.12.0" @@ -104,6 +121,18 @@ dependencies = [ "serde", ] +[[package]] +name = "cargo-lock" +version = "8.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "031718ddb8f78aa5def78a09e90defe30151d1f6c672f937af4dd916429ed996" +dependencies = [ + "semver 1.0.16", + "serde", + "toml", + "url", +] + [[package]] name = "cc" version = "1.0.78" @@ -1508,6 +1537,9 @@ name = "semver" version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" +dependencies = [ + "serde", +] [[package]] name = "semver-parser" diff --git a/service/Cargo.toml b/service/Cargo.toml index 0024d58..e4137f3 100644 --- a/service/Cargo.toml +++ b/service/Cargo.toml @@ -2,4 +2,5 @@ members = [ "effector", "pure", + "distro", ] diff --git a/service/build.sh b/service/build.sh index 06f0537..19fc3ea 100755 --- a/service/build.sh +++ b/service/build.sh @@ -17,3 +17,6 @@ rm -f artifacts/*.wasm cp target/wasm32-wasi/release/ipfs_effector.wasm artifacts/ cp target/wasm32-wasi/release/ipfs_pure.wasm artifacts/ marine aqua artifacts/ipfs_pure.wasm -s Ipfs -i aqua-ipfs >../aqua/ipfs.aqua + +mkdir -p distro/ipfs-service +cp -v artifacts/ipfs_effector.wasm artifacts/ipfs_pure.wasm Config.toml distro/ipfs-service diff --git a/service/distro/Cargo.toml b/service/distro/Cargo.toml new file mode 100644 index 0000000..e142f5b --- /dev/null +++ b/service/distro/Cargo.toml @@ -0,0 +1,15 @@ +[package] +name = "aqua-ipfs-distro" +version = "0.5.10" # It should same as aqua-ipfs facade I guess +description = "distribution of aqua ipfs service" +edition = "2021" +build = "build.rs" +include = [ "/src", "/ipfs-service", "build.rs", "Cargo.toml" ] + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +maplit = "1.0.2" + +[build-dependencies] +built = "0.5.2" diff --git a/service/distro/build.rs b/service/distro/build.rs new file mode 100644 index 0000000..4306bb7 --- /dev/null +++ b/service/distro/build.rs @@ -0,0 +1,3 @@ +fn main() { + built::write_built_file().expect("Failed to acquire build-time information") +} diff --git a/service/distro/src/lib.rs b/service/distro/src/lib.rs new file mode 100644 index 0000000..d9367e8 --- /dev/null +++ b/service/distro/src/lib.rs @@ -0,0 +1,16 @@ +pub const IPFS_EFFECTOR: &'static [u8] = include_bytes!("../ipfs-service/ipfs_effector.wasm"); +pub const IPFS_FACADE: &'static [u8] = include_bytes!("../ipfs-service/ipfs_pure.wasm"); +pub const CONFIG: &'static [u8] = include_bytes!("../ipfs-service/Config.toml"); + +pub mod build_info { + include!(concat!(env!("OUT_DIR"), "/built.rs")); +} + +pub use build_info::PKG_VERSION as VERSION; + +pub fn modules() -> std::collections::HashMap<&'static str, &'static [u8]> { + maplit::hashmap! { + "facade" => IPFS_FACADE, + "effector" => IPFS_EFFECTOR, + } +}