mirror of
https://github.com/nim-lang/Nim.git
synced 2025-12-28 17:04:41 +00:00
56 lines
1.5 KiB
Nim
Executable File
56 lines
1.5 KiB
Nim
Executable File
import os
|
|
# TODO: Rename this module to ``utils``
|
|
type
|
|
TStatusEnum* = enum
|
|
sUnknown = -1, sBuildFailure, sBuildInProgress, sBuildSuccess,
|
|
sTestFailure, sTestInProgress, sTestSuccess, # ORDER MATTERS!
|
|
sDocGenFailure, sDocGenInProgress, sDocGenSuccess,
|
|
sCSrcGenFailure, sCSrcGenInProgress, sCSrcGenSuccess
|
|
|
|
TStatus* = object
|
|
status*: TStatusEnum
|
|
desc*: string
|
|
hash*: string
|
|
|
|
proc initStatus*(): TStatus =
|
|
result.status = sUnknown
|
|
result.desc = ""
|
|
result.hash = ""
|
|
|
|
proc isInProgress*(status: TStatusEnum): bool =
|
|
return status in {sBuildInProgress, sTestInProgress, sDocGenInProgress,
|
|
sCSrcGenInProgress}
|
|
|
|
proc `$`*(status: TStatusEnum): string =
|
|
case status
|
|
of sBuildFailure:
|
|
return "build failure"
|
|
of sBuildInProgress:
|
|
return "build in progress"
|
|
of sBuildSuccess:
|
|
return "build finished"
|
|
of sTestFailure:
|
|
return "testing failure"
|
|
of sTestInProgress:
|
|
return "testing in progress"
|
|
of sTestSuccess:
|
|
return "testing finished"
|
|
of sDocGenFailure:
|
|
return "documentation generation failed"
|
|
of sDocGenInProgress:
|
|
return "generating documentation"
|
|
of sDocGenSuccess:
|
|
return "documentation generation succeeded"
|
|
of sCSrcGenFailure:
|
|
return "csource generation failed"
|
|
of sCSrcGenInProgress:
|
|
return "csource generation in progress"
|
|
of sCSrcGenSuccess:
|
|
return "csource generation succeeded"
|
|
of sUnknown:
|
|
return "unknown"
|
|
|
|
proc makeCommitPath*(platform, hash: string): string =
|
|
return platform / "nimrod_" & hash.copy(0, 11) # 11 Chars.
|
|
|