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:
parent
a17e87b516
commit
1f2042411a
2 changed files with 11 additions and 1 deletions
|
|
@ -1064,6 +1064,9 @@ proc writeJsonBuildInstructions*(conf: ConfigRef) =
|
||||||
lit ",\L\"extraCmds\": "
|
lit ",\L\"extraCmds\": "
|
||||||
lit $(%* conf.extraCmds)
|
lit $(%* conf.extraCmds)
|
||||||
|
|
||||||
|
lit ",\L\"stdinInput\": "
|
||||||
|
lit $(%* conf.projectIsStdin)
|
||||||
|
|
||||||
if optRun in conf.globalOptions or isDefined(conf, "nimBetterRun"):
|
if optRun in conf.globalOptions or isDefined(conf, "nimBetterRun"):
|
||||||
lit ",\L\"cmdline\": "
|
lit ",\L\"cmdline\": "
|
||||||
str conf.commandLine
|
str conf.commandLine
|
||||||
|
|
@ -1090,6 +1093,13 @@ proc changeDetectedViaJsonBuildInstructions*(conf: ConfigRef; projectfile: Absol
|
||||||
return true
|
return true
|
||||||
if hashNimExe() != data["nimexe"].getStr:
|
if hashNimExe() != data["nimexe"].getStr:
|
||||||
return true
|
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"]
|
let depfilesPairs = data["depfiles"]
|
||||||
doAssert depfilesPairs.kind == JArray
|
doAssert depfilesPairs.kind == JArray
|
||||||
for p in depfilesPairs:
|
for p in depfilesPairs:
|
||||||
|
|
|
||||||
|
|
@ -101,7 +101,7 @@ const
|
||||||
warnCycleCreated: "$1",
|
warnCycleCreated: "$1",
|
||||||
warnUser: "$1",
|
warnUser: "$1",
|
||||||
hintSuccess: "operation successful: $#",
|
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",
|
hintSuccessX: "$loc LOC; $sec sec; $mem; $build build; proj: $project; out: $output",
|
||||||
hintCC: "CC: $1",
|
hintCC: "CC: $1",
|
||||||
hintLineTooLong: "line too long",
|
hintLineTooLong: "line too long",
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue