summary refs log tree commit diff stats
path: root/lib/std/private/nimbleutils.nim
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std/private/nimbleutils.nim')
-rw-r--r--lib/std/private/nimbleutils.nim32
1 files changed, 0 insertions, 32 deletions
diff --git a/lib/std/private/nimbleutils.nim b/lib/std/private/nimbleutils.nim
deleted file mode 100644
index 297fb9695..000000000
--- a/lib/std/private/nimbleutils.nim
+++ /dev/null
@@ -1,32 +0,0 @@
-##[
-internal API for now, API subject to change
-]##
-
-import std/[os,osproc,sugar,strutils]
-
-proc actionRetry*(maxRetry: int, backoffDuration: float, action: proc(): bool): bool =
-  ## retry `action` up to `maxRetry` times with exponential backoff and initial
-  ## duraton of `backoffDuration` seconds
-  var t = backoffDuration
-  for i in 0..<maxRetry:
-    if action(): return true
-    if i == maxRetry - 1: break
-    sleep(int(t * 1000))
-    t = t * 2 # exponential backoff
-  return false
-
-proc nimbleInstall*(name: string, message: var string): bool =
-  let cmd = "nimble install -y " & name
-  let (outp, status) = execCmdEx(cmd)
-  if status != 0:
-    message = "'$1' failed:\n$2" % [cmd, outp]
-    result = false
-  else: result = true
-
-when isMainModule:
-  block:
-    var msg: string
-    let ok = actionRetry(maxRetry = 2, backoffDuration = 0.1):
-      (proc(): bool = nimbleInstall("nonexistant", msg))
-    doAssert "Package not found" in msg
-    doAssert not ok