#
46ee3d3e |
|
13-Jul-2017 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Allow an indication of side-products of theory builds Basically, write something like foo: *theorynameScript.sml to indicate that foo will be built when the theory theoryname is built. As part of the process, provide much better testing of the parallel execution of multiple target rules and completely change the way these are handled. In particular, the dependency graph that Holmake maintains now does not have multiple targets for a single node, but instead makes sure that when a command is executed for a single target, all nodes that would execute the same command are considered to be running at the same time, and get the same success/failure status when the command finishes. Needs documentation, but is progress with Github issue #429
|
#
160ddbbb |
|
18-Jun-2017 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Fix early-termination of multi-command blocks when doing relocbuild
|
#
7485218f |
|
18-Apr-2017 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Make multibuild Holmake pass on reloc environment variable
|
#
a870a911 |
|
23-Jan-2017 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Rebuild .uo and .ui files without forcing unnecessary extra work This is by analogy with what has already been attempted for heaps, and is progress with github issue #105. Also fix a bug with the heap handling if the heap was in a directory with script-files (not the case with the heaps in HOL/src): the dependency graph built for the directory spotted that there was a dependency from the heap to the script files, and even though the heap's time-stamp was set appropriately, the existence of the link in the graph meant that the rest of the graph got executed. The fix for this (in both the case of the heap and the .uo/.ui file) is for execution of graph nodes to check at the time the node is made ready to execute if the target really does need to be redone (by examining time-stamps). Then, the rebuild can be skipped even though the initial analysis thought it was going to have to happen. Future work: - For the moment, both build and Holmake rely on having a particular environment variable set to enable this option. I will augment and/or replace this with command-line options. (The buildheap program needs to retain this use of the environment variable though because neither Holmake nor build control how that program is called; instead this program is called by the user via Holmakefiles.) - Build needs to take an option to clean a HOL installation of its heaps and ui/uo files. I don't know how to automatically identify the heaps, but could just purge those that are identified as such in Holmakefiles.
|
#
e4875d88 |
|
01-Aug-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Allow users to specify time-limit on command-line Thus, Holmake -t10 will kill any sub-process (e.g., a script file running) that doesn't do anything (= produce any output) for 10 seconds.
|
#
e7851fd6 |
|
01-Aug-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Allow monitors to kill over-stalled processes API allows for it, but no way to set a non-NONE value so far.
|
#
6436b454 |
|
05-Jun-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Handle opentheory tgts when building in parallel
|
#
0239b348 |
|
10-May-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Move monitoring code out of multibuild This separates fancy, possibly ANSI-based, monitoring output from the logic of running builds over dependency graphs.
|
#
2b840be8 |
|
10-May-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Refactor a little in multibuild's monitoring code
|
#
ec7cbcee |
|
09-May-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Clear multibuild output to end-of-line (prettier)
|
#
5151cb04 |
|
09-May-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Copy script output in multibuild when just 1 job running When multiple scripts are going at once, the whirling single character is all that can fit, but when there is just one job, we now see the last line of its output as it runs.
|
#
2da500d0 |
|
09-May-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Make Holmake output lose ANSI-guff when not to tty Thanks to Rob Arthan for implementation of function that detects if an output stream is a tty.
|
#
186637a4 |
|
28-Apr-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Emit CHEAT when non-qof tactic fails; get nice colours By having the tactic cheat, and the non-qof handling of prove both emit the string "CHEAT" as part of their behaviour, Holmake's multibuild can give you a CHEATED verdict on scripts that do either. Strictly, speaking the tag attached to non-qof failure is not cheat, but I don't think that's really important here.
|
#
c5352420 |
|
27-Apr-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Make multibuild spot "CHEAT" msgs from thy build Then it can print a green CHEAT verdict for the theory as a whole (contrasting with OK). Should also look into detection of failed proofs that get accepted in absence of --qof flag.
|
#
83c42881 |
|
26-Apr-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Make building thys print without "Theory" suffix This will let more of the real name fit into the little 16-char wide column used when up to four things are going at once. Logic that detected this situation needed changing in face of 1a3b26f (it's now much simpler).
|
#
1a3b26fa |
|
26-Apr-2016 |
Anthony Fox <anthony.fox@cl.cam.ac.uk> |
Simplify the output of multi-build. For example: `xTheory.sig xTheory.sml` is now `xTheory` and `x.ext1 x.ext2` is now `x.{ext1,ext2}`.
|
#
29539b8b |
|
21-Apr-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Stop tagging stderr output specially in log files
|
#
20eb6cc0 |
|
21-Apr-2016 |
Michael Norrish <michael.norrish@nicta.com.au> |
Make parallel Holmake's output prettier When a process fails, a chunk of its output up to the failure point is output to the main screen. Also, a process that is killed because of a general desire to give up (a failure elsewhere and no -k option, say), now gets a red M-KILLED ("monitor killed") report.
|
#
2f1946f9 |
|
20-Apr-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Make Holmake output prettier (including colours)
|
#
1c326356 |
|
20-Apr-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Make multibuild output prettier
|
#
1b99daf6 |
|
20-Apr-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Finish implementing multibuild for Poly/ML Holmake It doesn't yet look as pretty as I'd like it, but the basic functionality is there. The default parallelisation is 4-way. If you want the old behaviour and look, call Holmake -j1
|
#
e3de36d7 |
|
20-Apr-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Make multibuild honour leading - character in cmds If you write -do something then it doesn't matter if this line fails.
|
#
18d1c2f7 |
|
20-Apr-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Enable multiplexed builds for Poly/ML Output is horrendous at the moment
|
#
14fbd86d |
|
19-Apr-2016 |
Michael Norrish <Michael.Norrish@nicta.com.au> |
Write some uncalled code to use multiplexing The code compiles but that's all
|