@@ -3,9 +3,8 @@ use std::{
33 path:: PathBuf ,
44} ;
55
6- use anyhow:: { anyhow , bail, Context as _, Error , Result } ;
6+ use anyhow:: { bail, Context as _, Error , Result } ;
77use clap:: Args ;
8- use std:: borrow:: Cow ;
98use std:: str:: FromStr ;
109use wac_graph:: { CompositionGraph , EncodeOptions , NodeId , PackageId } ;
1110use wac_types:: { Package , SubtypeChecker } ;
@@ -30,24 +29,24 @@ impl FromStr for PackageRef {
3029 type Err = Error ;
3130
3231 fn from_str ( s : & str ) -> Result < Self , Self :: Err > {
33- if cfg ! ( not( feature = "registry" ) ) {
34- return Ok ( Self :: LocalPath ( PathBuf :: from ( s) ) ) ;
35- }
36-
3732 #[ cfg( feature = "registry" ) ]
38- if let Ok ( package_name) = PackageName :: new ( s) {
33+ return if let Ok ( package_name) = PackageName :: new ( s) {
3934 // only `namespace:package-name` without file extensions is valid
4035 Ok ( Self :: RegistryPackage ( package_name) )
4136 } else {
4237 Ok ( Self :: LocalPath ( PathBuf :: from ( s) ) )
43- }
38+ } ;
39+
40+ #[ cfg( not( feature = "registry" ) ) ]
41+ Ok ( Self :: LocalPath ( PathBuf :: from ( s) ) )
4442 }
4543}
4644
4745impl std:: fmt:: Display for PackageRef {
4846 fn fmt ( & self , f : & mut std:: fmt:: Formatter < ' _ > ) -> std:: fmt:: Result {
4947 match self {
5048 Self :: LocalPath ( path) => write ! ( f, "{}" , path. display( ) ) ,
49+ #[ cfg( feature = "registry" ) ]
5150 Self :: RegistryPackage ( name) => write ! ( f, "{}" , name) ,
5251 }
5352 }
@@ -98,16 +97,18 @@ impl PlugCommand {
9897 client
9998 . as_ref ( )
10099 . ok_or_else ( || {
101- anyhow ! ( "Warg registry is not configured. Package `{name}` was not found." )
100+ anyhow:: anyhow!(
101+ "Warg registry is not configured. Package `{name}` was not found."
102+ )
102103 } ) ?
103104 . download ( name, & semver:: VersionReq :: STAR )
104105 . await ?
105- . ok_or_else ( || anyhow ! ( "package `{name}` was not found" ) ) ?
106+ . ok_or_else ( || anyhow:: anyhow !( "package `{name}` was not found" ) ) ?
106107 . path
107108 }
108109 PackageRef :: LocalPath ( path) => path. clone ( ) ,
109110 } ;
110- let socket = std:: fs:: read ( & socket_path) . with_context ( || {
111+ let socket = std:: fs:: read ( socket_path) . with_context ( || {
111112 format ! (
112113 "failed to read socket component `{socket}`" ,
113114 socket = self . socket
@@ -122,7 +123,8 @@ impl PlugCommand {
122123 let mut plugs_by_name = std:: collections:: HashMap :: < _ , Vec < _ > > :: new ( ) ;
123124 for plug in self . plugs . iter ( ) {
124125 let name = match plug {
125- PackageRef :: RegistryPackage ( name) => Cow :: Borrowed ( name. as_ref ( ) ) ,
126+ #[ cfg( feature = "registry" ) ]
127+ PackageRef :: RegistryPackage ( name) => std:: borrow:: Cow :: Borrowed ( name. as_ref ( ) ) ,
126128 PackageRef :: LocalPath ( path) => path
127129 . file_stem ( )
128130 . map ( |fs| fs. to_string_lossy ( ) )
@@ -137,14 +139,15 @@ impl PlugCommand {
137139 for ( name, plug_refs) in plugs_by_name {
138140 for ( i, plug_ref) in plug_refs. iter ( ) . enumerate ( ) {
139141 let ( mut name, path) = match plug_ref {
142+ #[ cfg( feature = "registry" ) ]
140143 PackageRef :: RegistryPackage ( name) => (
141144 name. as_ref ( ) . to_string ( ) ,
142145 client
143146 . as_ref ( )
144- . ok_or_else ( || anyhow ! ( "Warg registry is not configured. Package `{name}` was not found." ) ) ?
147+ . ok_or_else ( || anyhow:: anyhow !( "Warg registry is not configured. Package `{name}` was not found." ) ) ?
145148 . download ( name, & semver:: VersionReq :: STAR )
146149 . await ?
147- . ok_or_else ( || anyhow ! ( "package `{name}` was not found" ) ) ?
150+ . ok_or_else ( || anyhow:: anyhow !( "package `{name}` was not found" ) ) ?
148151 . path ,
149152 ) ,
150153 PackageRef :: LocalPath ( path) => ( format ! ( "plug:{name}" ) , path. clone ( ) ) ,
0 commit comments