@@ -21,17 +21,22 @@ let raise_rpc_error (e : Rpc_error.t) =
2121 User_error. raise
2222 [ Pp. paragraph " Server returned error: "
2323 ; Pp. paragraphf " %s (error kind: %s)" e.message (interpret_kind e.kind)
24+ (* CR-soon ElectreAAS: Should we be printing the payload? *)
2425 ]
2526;;
2627
27- let request_exn client request n =
28+ let request_exn client request arg =
2829 let open Fiber.O in
2930 let * decl =
3031 Client.Versioned. prepare_request client (Dune_rpc.Decl.Request. witness request)
3132 in
3233 match decl with
34+ | Ok decl ->
35+ Client. request client decl arg
36+ >> | (function
37+ | Ok response -> response
38+ | Error e -> raise_rpc_error e)
3339 | Error e -> raise (Dune_rpc.Version_error. E e)
34- | Ok decl -> Client. request client decl n
3540;;
3641
3742let client_term builder f =
@@ -111,15 +116,12 @@ let fire_request
111116 ~f: (fun client -> request_exn client request arg)
112117;;
113118
114- let wrap_build_outcome_exn ~print_on_success f args () =
115- let open Fiber.O in
116- let + response = f args in
117- match response with
118- | Error (error : Rpc_error.t ) -> raise_rpc_error error
119- | Ok Dune_rpc.Build_outcome_with_diagnostics. Success ->
119+ let wrap_build_outcome_exn ~print_on_success build_outcome =
120+ match build_outcome with
121+ | Dune_rpc.Build_outcome_with_diagnostics. Success ->
120122 if print_on_success
121123 then Console. print [ Pp. text " Success" |> Pp. tag User_message.Style. Success ]
122- | Ok ( Failure errors ) ->
124+ | Failure errors ->
123125 let error_msg =
124126 match List. length errors with
125127 | 0 ->
@@ -133,10 +135,3 @@ let wrap_build_outcome_exn ~print_on_success f args () =
133135 Console. print_user_message main);
134136 User_error. raise [ error_msg |> Pp. tag User_message.Style. Error ]
135137;;
136-
137- let run_via_rpc ~common ~config f args =
138- Scheduler. go_without_rpc_server
139- ~common
140- ~config
141- (wrap_build_outcome_exn ~print_on_success: true f args)
142- ;;
0 commit comments