@@ -132,21 +132,23 @@ def generate_index_ts(versions: List[str], default_version: str) -> None:
132132 )
133133 logger .error (err_msg )
134134 raise AttributeError (err_msg )
135- if default_version not in versions :
135+ if default_version and default_version not in versions :
136136 err_msg = f"Version { versions } must contain default version { default_version } ."
137137 logger .error (err_msg )
138138 raise AttributeError (err_msg )
139139
140140 # To make sure the output is always deterministic.
141141 versions = sorted (versions )
142142
143- # compose default version's index.ts file path
144- versioned_index_ts_path = Path ("src" ) / default_version / "index.ts"
145- clients = extract_clients (versioned_index_ts_path )
146- if not clients :
147- err_msg = f"No client is exported in the default version's({ default_version } ) index.ts ."
148- logger .error (err_msg )
149- raise AttributeError (err_msg )
143+ # compose default version's index.ts file
144+ clients = []
145+ if default_version :
146+ versioned_index_ts_path = Path ("src" ) / default_version / "index.ts"
147+ clients = extract_clients (versioned_index_ts_path )
148+ if not clients :
149+ err_msg = f"No client is exported in the default version's({ default_version } ) index.ts ."
150+ logger .error (err_msg )
151+ raise AttributeError (err_msg )
150152
151153 # compose template directory
152154 template_path = (
@@ -297,14 +299,14 @@ def owlbot_main(
297299 )
298300 staging = Path ("owl-bot-staging" )
299301 s_copy = transforms .move
300- if default_version is None :
301- logger .info ("No default version found in .repo-metadata.json. Ok." )
302- elif staging .is_dir ():
302+ versions = []
303+ if staging .is_dir ():
303304 logger .info (f"Copying files from staging directory ${ staging } ." )
304305 # Collect the subdirectories of the staging directory.
305306 versions = [v .name for v in staging .iterdir () if v .is_dir ()]
306307 # Reorder the versions so the default version always comes last.
307- versions = [v for v in versions if v != default_version ] + [default_version ]
308+ if default_version :
309+ versions = [v for v in versions if v != default_version ] + [default_version ]
308310 logger .info (f"Collected versions ${ versions } from ${ staging } " )
309311
310312 # Copy each version directory into the root.
@@ -320,12 +322,13 @@ def owlbot_main(
320322 src = Path ("src" )
321323 versions = [v .name for v in src .iterdir () if v .is_dir ()]
322324 # Reorder the versions so the default version always comes last.
323- versions = [v for v in versions if v != default_version ] + [default_version ]
325+ if default_version :
326+ versions = [v for v in versions if v != default_version ] + [default_version ]
324327 logger .info (f"Collected versions ${ versions } from ${ src } " )
325328
326329 common_templates = gcp .CommonTemplates (template_path )
327330 common_templates .excludes .extend (templates_excludes )
328- if default_version :
331+ if len ( versions ) > 0 :
329332 templates = common_templates .node_library (
330333 source_location = "build/src" ,
331334 versions = versions ,
0 commit comments