1- use crate :: common:: parse_wit;
1+ use crate :: common:: { make_path_absolute , parse_wit} ;
22use anyhow:: { Context , Result , anyhow} ;
33use std:: { path:: PathBuf , process:: Command } ;
44
@@ -91,26 +91,14 @@ pub fn build_wasm_core_module(
9191 go_path : Option < PathBuf > ,
9292) -> Result < PathBuf > {
9393 let go = match & go_path {
94- Some ( p) => {
95- if p. is_relative ( ) {
96- std:: env:: current_dir ( ) ?. join ( p)
97- } else {
98- p. to_path_buf ( )
99- }
100- }
94+ Some ( p) => make_path_absolute ( p) ?,
10195 None => PathBuf :: from ( "go" ) ,
10296 } ;
10397
10498 check_go_version ( & go) ?;
10599
106100 let out_path_buf = match & out {
107- Some ( p) => {
108- if p. is_relative ( ) {
109- std:: env:: current_dir ( ) ?. join ( p)
110- } else {
111- p. to_path_buf ( )
112- }
113- }
101+ Some ( p) => make_path_absolute ( p) ?,
114102 None => std:: env:: current_dir ( ) ?. join ( "main.wasm" ) ,
115103 } ;
116104
@@ -121,9 +109,8 @@ pub fn build_wasm_core_module(
121109 }
122110
123111 let out_path = out_path_buf
124- . into_os_string ( )
125- . into_string ( )
126- . map_err ( |_| anyhow ! ( "Output path is not valid unicode" ) ) ?;
112+ . to_str ( )
113+ . ok_or_else ( || anyhow ! ( "Output path is not valid unicode" ) ) ?;
127114
128115 let module_path = match & go_module {
129116 Some ( p) => {
@@ -144,7 +131,7 @@ pub fn build_wasm_core_module(
144131 "-buildmode=c-shared" ,
145132 "-ldflags=-checklinkname=0" ,
146133 "-o" ,
147- & out_path,
134+ out_path,
148135 ] )
149136 . env ( "GOOS" , "wasip1" )
150137 . env ( "GOARCH" , "wasm" )
0 commit comments