Skip to content

Commit cb93b1c

Browse files
author
Salvador Santoluctio
committed
added --latest flag to install-deps
1 parent 2b123e0 commit cb93b1c

File tree

2 files changed

+25
-5
lines changed

2 files changed

+25
-5
lines changed

labview_fpga_hdl_tools/__main__.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -124,12 +124,17 @@ def launch_vivado_cmd(ctx, test):
124124
is_flag=True,
125125
help="Include pre-release versions when resolving 'latest' tag",
126126
)
127+
@click.option(
128+
"--latest",
129+
is_flag=True,
130+
help="Ignore versions in dependencies.toml and use latest version for all dependencies",
131+
)
127132
@click.pass_context
128-
def install_deps_cmd(ctx, delete_allowed, pre_release):
133+
def install_deps_cmd(ctx, delete_allowed, pre_release, latest):
129134
"""Install GitHub dependencies from dependencies.toml."""
130135
try:
131136
result = install_dependencies.install_dependencies(
132-
delete_allowed=delete_allowed, allow_prerelease=pre_release
137+
delete_allowed=delete_allowed, allow_prerelease=pre_release, use_latest=latest
133138
)
134139
return result
135140
except Exception as e:

labview_fpga_hdl_tools/install_dependencies.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)