fix #13412 nim now recompiles for stdin input; SuccessX now configurable; can show whether it recompiled (#13506)

* fix #13412 nim now recompiles for stdin input; SuccessX now indicates whether it recompiled
This commit is contained in:
Timothee Cour
2020-03-19 02:39:18 -07:00
committed by GitHub
parent a17e87b516
commit 1f2042411a
2 changed files with 11 additions and 1 deletions

View File

@@ -1064,6 +1064,9 @@ proc writeJsonBuildInstructions*(conf: ConfigRef) =
lit ",\L\"extraCmds\": "
lit $(%* conf.extraCmds)
lit ",\L\"stdinInput\": "
lit $(%* conf.projectIsStdin)
if optRun in conf.globalOptions or isDefined(conf, "nimBetterRun"):
lit ",\L\"cmdline\": "
str conf.commandLine
@@ -1090,6 +1093,13 @@ proc changeDetectedViaJsonBuildInstructions*(conf: ConfigRef; projectfile: Absol
return true
if hashNimExe() != data["nimexe"].getStr:
return true
if not data.hasKey("stdinInput"): return true
let stdinInput = data["stdinInput"].getBool
if conf.projectIsStdin or stdinInput:
# could optimize by returning false if stdin input was the same,
# but I'm not sure how to get full stding input
return true
let depfilesPairs = data["depfiles"]
doAssert depfilesPairs.kind == JArray
for p in depfilesPairs:

View File

@@ -101,7 +101,7 @@ const
warnCycleCreated: "$1",
warnUser: "$1",
hintSuccess: "operation successful: $#",
# keep in sync with `pegSuccess` see testament.nim
# keep in sync with `testament.isSuccess`
hintSuccessX: "$loc LOC; $sec sec; $mem; $build build; proj: $project; out: $output",
hintCC: "CC: $1",
hintLineTooLong: "line too long",