Skip to content
Merged
Changes from 1 commit
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
8fd0b84
Write (slightly-hardcoded) build info to metadata
HCastano Aug 3, 2022
92ad530
Add `channel-date` formatted rustc version to metadata
HCastano Aug 4, 2022
42e22c4
Remove `features` from `BuildInfo`
HCastano Aug 4, 2022
beac37e
Add `wasm-opt` version to metadata
HCastano Aug 8, 2022
f6c3fa2
Move `BuildInfo` construction to `build` closure
HCastano Aug 8, 2022
ad19ec9
Add `build_info` field to tests
HCastano Aug 8, 2022
a12564c
Improve conversion between `BuildInfo` and `serde_json::Map`
HCastano Aug 10, 2022
b7a3d18
Merge branch 'master' into hc-add-build-info
HCastano Aug 18, 2022
6a2a1b3
Add `version` getter to `WasmOptHandler`
HCastano Aug 18, 2022
8d5f92d
Move code which indicates current toolchain to `utils`
HCastano Aug 18, 2022
5a2ad6a
Handle case where `cargo-contract` version can't be parsed
HCastano Aug 18, 2022
415ec3d
Merge branch 'master' into hc-add-build-info
HCastano Aug 29, 2022
7ec78dd
Use a stable `rustc` version
HCastano Aug 29, 2022
5c65ff9
Merge branch 'master' into hc-add-build-info
HCastano Sep 29, 2022
46ea782
Add `keep_debug_symbols` to metadata
HCastano Sep 29, 2022
276a7a4
Add `CHANGELOG` entry
HCastano Sep 29, 2022
8a6630c
Merge branch 'master' into hc-add-build-info
HCastano Oct 19, 2022
83aed6d
Remove `version` from `WasmOptSettings`
HCastano Oct 19, 2022
bae9094
Add target triple to `build_info`
HCastano Oct 19, 2022
00e8213
Move `CARGO_PKG_VERSION` into a const
HCastano Oct 19, 2022
a75b726
Appease Clippy
HCastano Oct 19, 2022
6eea64c
Rename field to more accurate `rust_toolchain`
HCastano Oct 20, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Improve conversion between BuildInfo and serde_json::Map
  • Loading branch information
HCastano committed Aug 10, 2022
commit a12564c4a756e75475c0618cfc56b20a672afad9
30 changes: 10 additions & 20 deletions src/cmd/metadata.rs
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,15 @@ pub struct BuildInfo {
pub wasm_opt_settings: WasmOptSettings,
}

impl TryFrom<BuildInfo> for serde_json::Map<String, serde_json::Value> {
type Error = serde_json::Error;

fn try_from(build_info: BuildInfo) -> Result<Self, Self::Error> {
let tmp = serde_json::to_string(&build_info)?;
serde_json::from_str(&tmp)
}
}

/// Settings used when optimizing the Wasm binary using Binaryen's `wasm-opt`.
#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)]
pub struct WasmOptSettings {
Expand Down Expand Up @@ -227,31 +236,12 @@ fn extended_metadata(
let wasm = fs::read(final_contract_wasm)?;
let hash = blake2_hash(wasm.as_slice());

// TODO: lol
let mut build_info_map = serde_json::Map::new();
build_info_map.insert(
"rustc_version".to_string(),
serde_json::to_value(build_info.rustc_version)?,
);
build_info_map.insert(
"cargo_contract_version".to_string(),
serde_json::to_value(build_info.cargo_contract_version)?,
);
build_info_map.insert(
"build_mode".to_string(),
serde_json::to_value(build_info.build_mode)?,
);
build_info_map.insert(
"wasm_opt_settings".to_string(),
serde_json::to_value(build_info.wasm_opt_settings)?,
);

Source::new(
Some(SourceWasm::new(wasm)),
hash,
lang,
compiler,
Some(build_info_map),
Some(build_info.try_into()?),
)
};

Expand Down