@@ -198,12 +198,13 @@ def _clone_repo_at_tag(repo, tag, base_dir, delete_allowed=False, allow_prerelea
198198 return False
199199
200200
201- def install_dependencies (delete_allowed = False , allow_prerelease = False ):
201+ def install_dependencies (delete_allowed = False , allow_prerelease = False , use_latest = False ):
202202 """Install dependencies from a TOML file.
203203
204204 Args:
205205 delete_allowed: If True, automatically delete existing repos without prompting
206206 allow_prerelease: If True, include pre-release versions when resolving "latest"
207+ use_latest: If True, ignore versions in dependencies.toml and use latest for all
207208
208209 Returns:
209210 0 if successful, 1 if errors occurred
@@ -251,9 +252,9 @@ def install_dependencies(delete_allowed=False, allow_prerelease=False):
251252 print ("No dependencies found in TOML file" )
252253 return 1
253254
254- # Check if any dependencies use "latest" and warn user
255+ # Check if any dependencies use "latest" and warn user (skip warning if --latest flag is used)
255256 has_latest = any ("latest" in dep .lower () for dep in dependencies )
256- if has_latest :
257+ if has_latest and not use_latest :
257258 print ()
258259 print ("=" * 80 )
259260 print ("WARNING - This project is depending on 'latest' versions." )
@@ -265,6 +266,15 @@ def install_dependencies(delete_allowed=False, allow_prerelease=False):
265266 input ("Press Enter to continue..." )
266267 print ()
267268
269+ # If --latest flag is used, inform the user
270+ if use_latest :
271+ version_type = "pre-release" if allow_prerelease else "release"
272+ print ("=" * 80 )
273+ print (f"Using --latest flag: Installing latest { version_type } versions" )
274+ print ("Versions in dependencies.toml will be ignored." )
275+ print ("=" * 80 )
276+ print ()
277+
268278 # Parse and clone each dependency
269279 # Format: "owner/repo:tag" or "owner\repo:tag"
270280 success_count = 0
@@ -277,6 +287,11 @@ def install_dependencies(delete_allowed=False, allow_prerelease=False):
277287 continue
278288
279289 repo , tag = dep_string .rsplit (":" , 1 )
290+
291+ # Override tag with "latest" if --latest flag is used
292+ if use_latest :
293+ tag = "latest"
294+
280295 total_count += 1
281296
282297 if _clone_repo_at_tag (repo , tag , deps_dir , delete_allowed , allow_prerelease ):
0 commit comments