diff options
author | Matt Haggard <haggardii@gmail.com> | 2019-02-08 01:39:58 -0700 |
---|---|---|
committer | Miran <narimiran@disroot.org> | 2019-02-08 09:39:58 +0100 |
commit | fd62d24c4c141a368b1eb1ca5a862a3f989110e8 (patch) | |
tree | 2c1fce3ec7e790a29edf6a55d1e7404546eab2c8 /tools/finish.nim | |
parent | 6b88ce3384c453fa3e872e059f5d9c73f247f42b (diff) | |
download | Nim-fd62d24c4c141a368b1eb1ca5a862a3f989110e8.tar.gz |
Add non-interactive installer flag (-y) to finish.nim (#10603) [backport]
Diffstat (limited to 'tools/finish.nim')
-rw-r--r-- | tools/finish.nim | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/tools/finish.nim b/tools/finish.nim index 4f2c72595..815b99a12 100644 --- a/tools/finish.nim +++ b/tools/finish.nim @@ -8,6 +8,9 @@ const mingw = "mingw$1-6.3.0.7z" % arch url = r"https://nim-lang.org/download/" & mingw +var + interactive = true + type DownloadResult = enum Failure, @@ -38,19 +41,28 @@ proc downloadMingw(): DownloadResult = if cmd.len > 0: if execShellCmd(cmd) != 0: echo "download failed! ", cmd - openDefaultBrowser(url) - result = Manual + if interactive: + openDefaultBrowser(url) + result = Manual + else: + result = Failure else: if unzip(): result = Success else: - openDefaultBrowser(url) - result = Manual + if interactive: + openDefaultBrowser(url) + result = Manual + else: + result = Failure when defined(windows): import registry proc askBool(m: string): bool = stdout.write m + if not interactive: + stdout.writeLine "y (non-interactive mode)" + return true while true: try: let answer = stdin.readLine().normalize @@ -67,6 +79,9 @@ when defined(windows): proc askNumber(m: string; a, b: int): int = stdout.write m stdout.write " [" & $a & ".." & $b & "] " + if not interactive: + stdout.writeLine $a & " (non-interactive mode)" + return a while true: let answer = stdin.readLine() try: @@ -291,4 +306,6 @@ when isMainModule: when defined(testdownload): discard downloadMingw() else: + if "-y" in commandLineParams(): + interactive = false main() |