This is the overlord Reference Manual, version 51, generated automatically by Declt version 4.0 beta 2 "William Riker" on Fri Sep 15 06:13:08 2023 GMT+0.
overlord
overlord/all
overlord/types
overlord/message
overlord/global-state
overlord/util
overlord/specials
overlord/asdf
overlord/redo
overlord/target-protocol
overlord/stamp
overlord/target-table
overlord/build-env
overlord/kernel
overlord/db
overlord/cache
overlord/makespan
overlord/base
overlord/target
overlord/digest
overlord/freeze
overlord/oracle
overlord/project-system
overlord/overlord.asd
overlord/all/file-type.lisp
overlord/types/file-type.lisp
overlord/message/file-type.lisp
overlord/global-state/file-type.lisp
overlord/util/file-type.lisp
overlord/specials/file-type.lisp
overlord/asdf/file-type.lisp
overlord/redo/file-type.lisp
overlord/target-protocol/file-type.lisp
overlord/stamp/file-type.lisp
overlord/target-table/file-type.lisp
overlord/build-env/file-type.lisp
overlord/kernel/file-type.lisp
overlord/db/file-type.lisp
overlord/cache/file-type.lisp
overlord/makespan/file-type.lisp
overlord/base/file-type.lisp
overlord/target/file-type.lisp
overlord/digest/file-type.lisp
overlord/freeze/file-type.lisp
overlord/oracle/file-type.lisp
overlord/project-system/file-type.lisp
overlord/types
overlord/redo
overlord/project-system
overlord/base
overlord/freeze
overlord/cache
overlord/makespan
overlord/oracle
overlord/global-state
overlord/target-table
overlord-user
overlord/specials
overlord/target
overlord/build-env
overlord/asdf
overlord/digest
overlord/stamp
overlord/util
overlord/target-protocol
overlord/message
overlord/all
overlord/kernel
overlord/db
The main system appears first, followed by any subsystem dependency.
overlord
overlord/all
overlord/types
overlord/message
overlord/global-state
overlord/util
overlord/specials
overlord/asdf
overlord/redo
overlord/target-protocol
overlord/stamp
overlord/target-table
overlord/build-env
overlord/kernel
overlord/db
overlord/cache
overlord/makespan
overlord/base
overlord/target
overlord/digest
overlord/freeze
overlord/oracle
overlord/project-system
overlord
Experimental build system.
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
51
overlord/all
(system).
overlord/all
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
overlord/types
(system).
overlord/message
(system).
overlord/util
(system).
overlord/specials
(system).
overlord/redo
(system).
overlord/build-env
(system).
overlord/kernel
(system).
overlord/base
(system).
overlord/target
(system).
overlord/freeze
(system).
overlord/target-protocol
(system).
overlord/oracle
(system).
cmd
(system).
overlord/project-system
(system).
overlord/types
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
trivia
(system).
fset
(system).
overlord/message
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
overlord/global-state
(system).
overlord/types
(system).
cl-ppcre
(system).
overlord/global-state
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
serapeum
(system).
overlord/util
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
trivial-file-size
(system).
overlord/types
(system).
fset
(system).
babel
(system).
bit-smasher
(system).
local-time
(system).
overlord/specials
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
overlord/types
(system).
alexandria
(system).
serapeum
(system).
overlord/asdf
(system).
lparallel
(system).
overlord/asdf
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
named-readtables
(system).
overlord/types
(system).
overlord/redo
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
overlord/specials
(system).
overlord/target-protocol
(system).
overlord/target-table
(system).
overlord/build-env
(system).
overlord/kernel
(system).
lparallel
(system).
overlord/types
(system).
overlord/db
(system).
overlord/stamp
(system).
overlord/makespan
(system).
local-time
(system).
overlord/util
(system).
overlord/target-protocol
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
overlord/stamp
(system).
overlord/types
(system).
fset
(system).
overlord/stamp
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
local-time
(system).
overlord/types
(system).
overlord/util
(system).
fset
(system).
trivial-file-size
(system).
overlord/target-table
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
overlord/target-protocol
(system).
overlord/build-env
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
overlord/target-table
(system).
overlord/target-protocol
(system).
fset
(system).
bordeaux-threads
(system).
overlord/kernel
(system).
overlord/specials
(system).
overlord/message
(system).
overlord/db
(system).
lparallel
(system).
lparallel
(system).
lparallel
(system).
overlord/types
(system).
overlord/kernel
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
overlord/message
(system).
overlord/specials
(system).
lparallel
(system).
overlord/db
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
overlord/specials
(system).
overlord/types
(system).
overlord/message
(system).
overlord/global-state
(system).
overlord/cache
(system).
overlord/asdf
(system).
bordeaux-threads
(system).
trivial-file-size
(system).
fset
(system).
local-time
(system).
lparallel
(system).
exit-hooks
(system).
overlord/util
(system).
overlord/cache
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
overlord/types
(system).
overlord/specials
(system).
overlord/makespan
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
overlord/base
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
overlord/types
(system).
overlord/global-state
(system).
overlord/asdf
(system).
overlord/specials
(system).
overlord/util
(system).
overlord/target
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
local-time
(system).
overlord/redo
(system).
overlord/target-protocol
(system).
overlord/target-table
(system).
overlord/stamp
(system).
overlord/digest
(system).
overlord/global-state
(system).
overlord/types
(system).
overlord/specials
(system).
overlord/util
(system).
overlord/cache
(system).
overlord/asdf
(system).
overlord/base
(system).
overlord/message
(system).
cmd
(system).
overlord/db
(system).
overlord/freeze
(system).
overlord/oracle
(system).
overlord/kernel
(system).
named-readtables
(system).
fset
(system).
trivia
(system).
trivial-file-size
(system).
global-vars
(system).
cl-murmurhash
(system).
overlord/build-env
(system).
overlord/digest
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
sb-md5
(system).
overlord/util
(system).
overlord/freeze
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
overlord/redo
(system).
overlord/db
(system).
overlord/types
(system).
overlord/message
(system).
overlord/specials
(system).
overlord/kernel
(system).
overlord/oracle
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
trivia
(system).
overlord/target-protocol
(system).
named-readtables
(system).
overlord/util
(system).
overlord/redo
(system).
overlord/types
(system).
overlord/digest
(system).
overlord/asdf
(system).
cmd
(system).
fset
(system).
cl-strftime
(system).
local-time
(system).
cl-murmurhash
(system).
overlord/project-system
Paul M. Rodriguez <pmr@ruricolist.com>
MIT
alexandria
(system).
serapeum
(system).
overlord/types
(system).
overlord/target
(system).
quickproject
(system).
Files are sorted by type and then listed depth-first from the systems components trees.
overlord/overlord.asd
overlord/all/file-type.lisp
overlord/types/file-type.lisp
overlord/message/file-type.lisp
overlord/global-state/file-type.lisp
overlord/util/file-type.lisp
overlord/specials/file-type.lisp
overlord/asdf/file-type.lisp
overlord/redo/file-type.lisp
overlord/target-protocol/file-type.lisp
overlord/stamp/file-type.lisp
overlord/target-table/file-type.lisp
overlord/build-env/file-type.lisp
overlord/kernel/file-type.lisp
overlord/db/file-type.lisp
overlord/cache/file-type.lisp
overlord/makespan/file-type.lisp
overlord/base/file-type.lisp
overlord/target/file-type.lisp
overlord/digest/file-type.lisp
overlord/freeze/file-type.lisp
overlord/oracle/file-type.lisp
overlord/project-system/file-type.lisp
overlord/overlord.asd
overlord
(system).
overlord
.
overlord/all
.
overlord/types
.
overlord/message
.
overlord/global-state
.
overlord/util
.
overlord/specials
.
overlord/asdf
.
overlord/redo
.
overlord/target-protocol
.
overlord/stamp
.
overlord/target-table
.
overlord/build-env
.
overlord/kernel
.
overlord/db
.
overlord/cache
.
overlord/makespan
.
overlord/base
.
overlord/target
.
overlord/digest
.
overlord/freeze
.
overlord/oracle
.
overlord/project-system
.
overlord/types/file-type.lisp
overlord/types
(system).
case-mode
(type).
cerror*
(function).
check-list-of
(macro).
cl-symbol
(type).
compare
(method).
compare
(method).
compare
(method).
db-version
(type).
delay-symbol
(function).
delayed-symbol
(function).
delayed-symbol
(structure).
error*
(function).
force-symbol
(function).
hash-code
(type).
list-of
(type).
make-load-form
(method).
maybe-delay-symbol
(function).
overlord-condition
(condition).
overlord-error
(condition).
overlord-error-target
(generic reader).
overlord-warning
(condition).
package-designator
(type).
pathname-designator
(type).
plist
(type).
print-object
(method).
print-object
(method).
tame-pathname
(type).
temporary-file
(type).
universal-time
(type).
%constructor=
(method).
built-in-symbol?
(function).
check-list-of*
(function).
cl-symbol-p
(function).
constructor-values/generic
(method).
copy-delayed-symbol
(function).
delayed-symbol-error
(condition).
delayed-symbol-name-error
(condition).
delayed-symbol-package-error
(condition).
delayed-symbol-package-name
(reader).
delayed-symbol-symbol-name
(reader).
delayed-symbol=
(function).
list-without-nil
(type).
list-without-nil?
(function).
plist?
(function).
print-current-dir
(function).
read-only-struct-slot-names
(method).
temporary-file?
(function).
try-force-symbol
(function).
warn*
(function).
overlord/message/file-type.lisp
overlord/message
(system).
*message-stream*
(special variable).
message
(compiler macro).
message
(function).
extract-directives
(function).
guess-arg-count
(function).
sanity-check-message-args
(function).
overlord/global-state/file-type.lisp
overlord/global-state
(system).
define-global-state
(macro).
reset-global-state
(function).
*global-state*
(special variable).
*initial-pathname-defaults*
(special variable).
*initial-working-dir*
(special variable).
overlord/util/file-type.lisp
overlord/util
(system).
byte-array-to-hex-string
(function).
call/temp-file-pathname
(function).
call/temp-file-pathnames
(function).
coerce-case
(function).
copy-file-if-changed
(function).
dx-sxhash
(macro).
ensure-pathnamef
(macro).
eval*
(function).
file-mtime
(function).
lessf
(macro).
locate-dominating-file
(function).
propagate-side-effect
(macro).
quoted-symbol?
(function).
read-file-form
(function).
resolve-package
(function).
strip-directory
(function).
timestamp-diff
(function).
version-major-version
(function).
with-absolute-package-names
(macro).
withf
(macro).
write-file-if-changed
(function).
write-form-as-file
(function).
ensure-pathname*
(function).
existing-file-unchanged?
(function).
rename-by-copying
(function).
replace-file-atomically
(function).
overlord/specials/file-type.lisp
overlord/specials
(system).
*base*
(special variable).
*base-package*
(special variable).
*cli*
(special variable).
*db-version*
(special variable).
*force*
(special variable).
*jobs*
(special variable).
*suppress-phonies*
(special variable).
base-package
(function).
db-version
(function).
register-worker-special
(function).
register-worker-specials
(function).
unregister-worker-special
(function).
unregister-worker-specials
(function).
use-threads-p
(function).
(setf use-threads-p)
(function).
worker-specials
(function).
(setf worker-specials)
(function).
wrap-worker-specials
(function).
*use-threads*
(special variable).
*worker-specials*
(special variable).
overlord/asdf/file-type.lisp
overlord/asdf
(system).
asdf-system
(type).
asdf-system-base
(function).
asdf-system-loaded?
(function).
asdf-system-name
(function).
asdf-system-name-keyword
(function).
asdf-system-relative-pathname
(function).
asdf-system-version
(function).
asdf-system?
(function).
find-asdf-system
(function).
load-asdf-system
(function).
package-inferred-asdf-system?
(function).
package-name-asdf-system
(function).
primary-asdf-system-name
(function).
require-asdf-system
(function).
overlord/redo/file-type.lisp
overlord/redo
(system).
*parents*
(special variable).
building?
(function).
missing-script
(condition).
overlord-error-target
(reader method).
recursive-dependency
(condition).
redo
(function).
redo-all
(function).
redo-always
(function).
redo-ifchange
(function).
redo-ifchange-all
(function).
redo-ifcreate
(function).
redo-ifcreate-all
(function).
target-tree
(function).
non-existent-exists
(condition).
out-of-date?
(function).
pmap*
(function).
prereq-changed?
(function).
psome*
(function).
redo-ifchange-target
(function).
redo-target
(function).
resolve-build-script
(function).
target-build-script-target
(function).
target-error
(condition).
target-has-build-script?
(function).
target?
(function).
walk-targets
(function).
overlord/target-protocol/file-type.lisp
overlord/target-protocol
(system).
build-script-target
(generic function).
call-with-target-locked
(generic function).
call-with-targets-locked
(function).
clear-temp-prereqs
(generic function).
clear-temp-prereqsne
(generic function).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
delete-target
(generic function).
delete-targets
(function).
hash-target
(generic function).
impossible-prereq
(symbol macro).
impossible-prereq
(structure).
make-load-form
(method).
make-load-form
(method).
make-load-form
(method).
print-object
(method).
print-object
(method).
print-object
(method).
record-prereq
(generic function).
record-prereqne
(generic function).
resolve-target
(generic function).
root-target
(symbol macro).
root-target
(structure).
run-script
(generic function).
save-temp-prereqs
(generic function).
save-temp-prereqsne
(generic function).
saved-prereq-stamp
(generic function).
saved-prereq-target
(generic function).
target-build-script
(generic function).
target-build-time
(generic function).
(setf target-build-time)
(generic function).
target-exists?
(generic function).
target-in-db?
(generic function).
target-node-label
(generic function).
target-saved-prereqs
(generic function).
target-saved-prereqsne
(generic function).
target-stamp
(generic function).
target-static-prereqs
(generic function).
target-timestamp
(generic function).
(setf target-timestamp)
(generic function).
target=
(generic function).
trivial-prereq
(symbol macro).
trivial-prereq
(structure).
with-target-locked
(macro).
%constructor=
(method).
%constructor=
(method).
%constructor=
(method).
+storage-for-deflex-var-impossible-prereq+
(constant).
+storage-for-deflex-var-root-target+
(constant).
+storage-for-deflex-var-trivial-prereq+
(constant).
overlord/stamp/file-type.lisp
overlord/stamp
(system).
compare
(method).
compare
(method).
compare
(method).
far-future
(symbol macro).
far-future
(structure).
file-hash
(function).
file-hash
(structure).
file-meta
(function).
file-meta
(structure).
make-load-form
(method).
make-load-form
(method).
make-load-form
(method).
make-load-form
(method).
make-load-form
(method).
never
(symbol macro).
never
(structure).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
resolved-file
(function).
resolved-file
(structure).
round-down-to-nearest-second
(function).
stamp
(type).
stamp-satisfies-p
(function).
stamp=
(function).
target-timestamp
(type).
target-timestamp=
(function).
timestamp-newer?
(function).
%constructor=
(method).
%constructor=
(method).
%constructor=
(method).
%constructor=
(method).
%constructor=
(method).
+storage-for-deflex-var-far-future+
(constant).
+storage-for-deflex-var-never+
(constant).
constructor-values/generic
(method).
constructor-values/generic
(method).
constructor-values/generic
(method).
copy-file-hash
(function).
copy-file-meta
(function).
copy-resolved-file
(function).
file-hash-hash
(reader).
file-hash-size
(reader).
file-hash=
(function).
file-meta-size
(reader).
file-meta-timestamp
(reader).
file-meta=
(function).
read-only-struct-slot-names
(method).
read-only-struct-slot-names
(method).
read-only-struct-slot-names
(method).
resolved-file-meta
(reader).
resolved-file-path
(reader).
resolved-file=
(function).
overlord/target-table/file-type.lisp
overlord/target-table
(system).
clear-target-table
(function).
hash-friendly?
(generic function).
make-target-table
(function).
print-object
(method).
target-table
(structure).
target-table-keys
(function).
target-table-len
(function).
target-table-member
(function).
(setf target-table-member)
(function).
target-table-ref
(function).
(setf target-table-ref)
(function).
target-table-rem
(function).
with-target-table-locked
(macro).
%make-target-table
(function).
alist-to-target-table
(function).
copy-target-table
(function).
target-table-p
(function).
target-table-to-alist
(function).
target-table.hash-table
(reader).
target-table.lock
(reader).
target-table.map
(reader).
(setf target-table.map)
(writer).
target-table.synchronized
(reader).
overlord/build-env/file-type.lisp
overlord/build-env
(system).
*use-build-cache*
(special variable).
ask-for-token*
(function).
build-env-bound?
(function).
cached-stamp
(function).
(setf cached-stamp)
(function).
call-with-target-locked
(method).
claim-file*
(function).
claim-files*
(function).
initialize-instance
(method).
monitor
(reader method).
print-object
(method).
register-proc*
(function).
return-token*
(function).
target-exists?/cache
(function).
target-locked-p
(function).
target-stamp/cache
(function).
temp-prereqs
(function).
(setf temp-prereqs)
(function).
temp-prereqsne
(function).
(setf temp-prereqsne)
(function).
with-build-env
(macro).
*build-env*
(special variable).
*build-id*
(special variable).
ask-for-token
(function).
await-procs
(method).
build-env
(class).
build-env-procs
(reader method).
(setf build-env-procs)
(writer method).
build-env-tokens
(reader method).
build-env.file-owners
(reader method).
build-env.table
(reader method).
call-in-build-env
(generic function).
call-with-procs-tracked
(method).
call-with-target-meta-locked
(function).
call/build-env
(function).
claim-file
(method).
claim-files
(method).
copy-target-meta
(function).
kill-procs
(method).
make-build-env
(function).
make-env-kernel
(method).
make-target-meta
(function).
make-token-pool
(function).
next-build-id
(function).
register-proc
(method).
return-token
(function).
target-meta
(function).
target-meta
(structure).
target-meta-p
(function).
target-meta.lock
(reader).
(setf target-meta.lock)
(writer).
target-meta.lockedp
(reader).
(setf target-meta.lockedp)
(writer).
target-meta.stamp
(reader).
(setf target-meta.stamp)
(writer).
target-meta.target
(reader).
target-meta.temp-prereqs
(reader).
(setf target-meta.temp-prereqs)
(writer).
target-meta.temp-prereqsne
(reader).
(setf target-meta.temp-prereqsne)
(writer).
threaded-build-env
(class).
token
(type).
track-jobs-used
(method).
use-build-cache?
(function).
with-procs-tracked
(macro).
with-target-meta-locked
(macro).
overlord/kernel/file-type.lisp
overlord/kernel
(system).
end-meta-kernel
(function).
nproc
(symbol macro).
nproc
(function).
with-meta-kernel
(macro).
*meta-kernel*
(special variable).
+storage-for-deflex-var-thread-count-cap+
(constant).
call/meta-kernel
(function).
ensure-meta-kernel
(function).
meta-kernel-size
(symbol macro).
start-meta-kernel
(function).
thread-count-cap
(symbol macro).
overlord/db/file-type.lisp
overlord/db
(system).
db-loaded?
(function).
deactivate-db
(function).
delete-prop
(function).
delete-versioned-db
(function).
has-prop?
(function).
make-load-form
(method).
print-object
(method).
print-object
(method).
prop
(function).
(setf prop)
(function).
require-db
(function).
save-database
(function).
saving-database
(macro).
unload-db
(function).
%constructor=
(method).
*db*
(special variable).
*save-pending*
(special variable).
+storage-for-deflex-var-tombstone+
(constant).
append-to-log
(function).
call/saving-database
(function).
call/standard-io-syntax
(function).
check-version
(function).
copy-db
(function).
copy-dead-db
(function).
db
(function).
db
(structure).
db-alist
(function).
db-error
(compiler macro).
db-error
(function).
db-error
(condition).
db-key
(type).
db-p
(function).
db-protect
(generic function).
db-readtable
(symbol macro).
db-ref*
(function).
(setf db-ref*)
(function).
db-value
(type).
db-write
(function).
db.current-map
(reader).
(setf db.current-map)
(writer).
db.del
(generic function).
db.last-saved-map
(reader).
(setf db.last-saved-map)
(writer).
db.lock-file
(method).
db.log-file
(reader).
db.ref
(generic function).
(setf db.ref)
(generic function).
db.state
(reader).
db.sync
(generic function).
db.version
(reader).
dead-db
(structure).
dead-db-p
(function).
getpid
(function).
has-props?
(function).
in-worker?
(function).
load-log-data
(function).
lock-db
(generic function).
locked-db
(condition).
log-data
(structure).
log-data-p
(function).
log-data.map
(reader).
log-data.map-count
(reader).
log-file-path
(function).
log-file-size
(function).
log-record
(structure).
log-record-p
(function).
log-record.data
(reader).
log-record.timestamp
(reader).
make-db
(function).
make-dead-db
(function).
make-log-data
(function).
make-log-record
(function).
no-log-data
(symbol macro).
prop-1
(function).
(setf prop-1)
(function).
prop-key
(function).
read-only-struct-slot-names
(method).
read-only-struct-slot-names
(method).
release-database
(function).
reload-db
(function).
squash-data
(function).
strip-tombstones
(function).
tombstone
(symbol macro).
tombstone
(structure).
unlock-db
(generic function).
version-mismatch
(condition).
with-standard-io-syntax*
(macro).
overlord/cache/file-type.lisp
overlord/cache
(system).
current-cache-dir
(function).
make-shadow-tree
(function).
shadow-tree-translate
(function).
%make-shadow-tree
(function).
absolute-path-shadow-tree-suffix
(function).
read-only-struct-slot-names
(method).
shadow-tree
(structure).
shadow-tree-p
(function).
shadow-tree-prefix
(reader).
shadow-tree-root
(function).
overlord/makespan/file-type.lisp
overlord/makespan
(system).
make-load-form
(method).
minimize-makespan
(function).
optimal-machine-count
(function).
print-object
(method).
%constructor=
(method).
constructor-values/generic
(method).
copy-machine
(function).
copy-task
(function).
lpt-schedule
(function).
machine
(structure).
machine-add-task
(function).
machine-p
(function).
machine-task-queue
(reader).
(setf machine-task-queue)
(writer).
machine-tasks
(function).
machine-total-time
(reader).
(setf machine-total-time)
(writer).
make-machine
(function).
read-only-struct-slot-names
(method).
task
(function).
task
(structure).
task-task
(reader).
task-time
(reader).
overlord/base/file-type.lisp
overlord/base
(system).
base
(function).
current-dir!
(function).
(setf current-dir!)
(function).
current-system
(function).
ensure-absolute
(function).
package-base
(function).
package-system
(function).
resolve-file
(function).
set-package-base
(macro).
set-package-system
(macro).
with-current-dir
(macro).
*package-bases*
(special variable).
absolute-directory-pathname?
(function).
call/current-dir
(function).
current-lisp-file
(function).
ensure-absolute-directory-pathname
(function).
guess-system-from-package-name
(function).
infer-system
(function).
infer-system-from-package
(function).
infer-system-from-package-affix
(function).
infer-system-from-package-names
(function).
look-for-asd
(function).
nearest-asdf-file
(function).
package-base-spec
(function).
(setf package-base-spec)
(function).
package-base-spec
(type).
read-system-by-name
(function).
saved-package-base
(function).
saved-package-system
(function).
set-package-base*
(function).
set-package-base-1
(function).
set-package-system*
(function).
set-package-system-1
(function).
overlord/target/file-type.lisp
overlord/target
(system).
build
(function).
build-package
(function).
build-script-target
(method).
call-with-target-locked
(method).
call-with-target-locked
(method).
call-with-target-locked
(method).
call-with-target-locked
(method).
call-with-target-locked
(method).
call-with-target-locked
(method).
call-with-target-locked
(method).
call-with-target-locked
(method).
canonicalize-pathname-for-readability
(function).
change-pathname-type
(function).
clear-package-prereqs
(function).
clear-temp-prereqs
(method).
clear-temp-prereqsne
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
compare
(method).
defconfig
(macro).
define-script
(macro).
define-target-config
(macro).
define-target-task
(macro).
define-target-var
(macro).
define-var-once
(macro).
defpattern
(macro).
deftask
(macro).
delete-target
(method).
delete-target
(method).
delete-target
(method).
delete-target
(method).
delete-target
(method).
delete-target
(method).
depends-not
(function).
depends-not-all
(function).
depends-on
(function).
depends-on*
(function).
depends-on-all
(function).
depends-on-all*
(function).
directory-exists
(function).
directory-exists
(class).
ensure-file-target-pathname
(function).
ensure-target-recorded
(function).
extension
(function).
file
(compiler macro).
file
(function).
file-target
(macro).
find-pattern
(function).
hash-friendly?
(method).
hash-friendly?
(method).
hash-friendly?
(method).
hash-target
(method).
hash-target
(method).
hash-target
(method).
hash-target
(method).
hash-target
(method).
hash-target
(method).
hash-target
(method).
hash-target
(method).
initialize-instance
(method).
initialize-instance
(method).
initialize-instance
(method).
list-package-prereqs
(function).
make-load-form
(method).
make-load-form
(method).
make-pattern
(function).
merge-input-defaults
(generic function).
merge-output-defaults
(generic function).
path
(macro).
pattern
(function).
pattern
(class).
pattern-build
(generic function).
pattern-from
(function).
pattern-into
(function).
pattern-name
(generic function).
pattern-ref
(function).
pattern-ref
(class).
pattern-ref-outputs
(reader method).
pattern-ref-static-inputs
(reader method).
pattern.input-defaults
(reader method).
pattern.output-defaults
(reader method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
print-object
(method).
record-prereq
(method).
record-prereq
(method).
record-prereq
(method).
record-prereq
(method).
record-prereqne
(method).
record-prereqne
(method).
record-prereqne
(method).
resolve-target
(method).
resolve-target
(method).
resolve-target
(method).
resolve-target
(method).
run
(function).
run-script
(method).
save-temp-prereqs
(method).
save-temp-prereqsne
(method).
saved-prereq-stamp
(method).
saved-prereq-target
(method).
stamp
(symbol macro).
target-build-script
(method).
target-build-script
(method).
target-build-script
(method).
target-build-script
(method).
target-build-script
(method).
target-build-script
(method).
target-build-script
(method).
target-build-script
(method).
target-build-script
(method).
target-build-script
(method).
target-build-script
(method).
target-build-script
(method).
target-build-time
(method).
target-build-time
(method).
target-build-time
(method).
target-build-time
(method).
target-build-time
(method).
target-build-time
(method).
target-build-time
(method).
target-build-time
(method).
target-build-time
(method).
(setf target-build-time)
(method).
(setf target-build-time)
(method).
(setf target-build-time)
(method).
(setf target-build-time)
(method).
(setf target-build-time)
(method).
target-exists?
(method).
target-exists?
(method).
target-exists?
(method).
target-exists?
(method).
target-exists?
(method).
target-exists?
(method).
target-exists?
(method).
target-exists?
(method).
target-exists?
(method).
target-exists?
(method).
target-in-db?
(method).
target-in-db?
(method).
target-in-db?
(method).
target-in-db?
(method).
target-in-db?
(method).
target-node-label
(method).
target-node-label
(method).
target-node-label
(method).
target-node-label
(method).
target-node-label
(method).
target-node-label
(method).
target-node-label
(method).
target-node-label
(method).
target-node-label
(method).
target-node-label
(method).
target-node-label
(method).
target-saved-prereqs
(method).
target-saved-prereqs
(method).
target-saved-prereqs
(method).
(setf target-saved-prereqs)
(function).
target-saved-prereqsne
(method).
(setf target-saved-prereqsne)
(function).
target-stamp
(method).
target-stamp
(method).
target-stamp
(method).
target-stamp
(method).
target-static-prereqs
(method).
target-static-prereqs
(reader method).
target-static-prereqs
(method).
target-timestamp
(method).
target-timestamp
(method).
target-timestamp
(method).
target-timestamp
(method).
target-timestamp
(method).
target-timestamp
(method).
target-timestamp
(method).
target-timestamp
(method).
target-timestamp
(method).
(setf target-timestamp)
(method).
(setf target-timestamp)
(method).
(setf target-timestamp)
(method).
(setf target-timestamp)
(method).
(setf target-timestamp)
(method).
(setf target-timestamp)
(method).
target=
(method).
target=
(method).
target=
(method).
target=
(method).
target=
(method).
target=
(method).
target=
(method).
target=
(method).
target=
(method).
target=
(method).
task
(function).
task
(structure).
use
(function).
use-all
(function).
var-target
(macro).
%constructor=
(method).
*prereq-packages*
(special variable).
*scripts*
(special variable).
*symbol-timestamps*
(special variable).
*tasks*
(special variable).
*top-level-targets*
(special variable).
+storage-for-deflex-var-build-time+
(constant).
+storage-for-deflex-var-nonexist+
(constant).
+storage-for-deflex-var-prereqs+
(constant).
+storage-for-deflex-var-prereqsne+
(constant).
+storage-for-deflex-var-stamp+
(constant).
build-time
(symbol macro).
build-time-from-file
(function).
build-time-from-files
(function).
call-with-locked-target
(method).
check-generic-function
(function).
clear-scripts
(function).
cond
(macro).
config-stamp
(function).
constructor-values/generic
(method).
copy-task
(function).
current-parent
(function).
deduplicate-targets
(function).
defclass
(macro).
define-script-for
(macro).
define-target-config/aux
(macro).
defmethod
(macro).
delete-file-or-directory
(function).
directory-exists.path
(reader method).
externalizable
(class).
file-digest-ref
(function).
file-digest-ref
(class).
file-digest-ref.file
(reader method).
file-stamp
(function).
file-stamp/hash
(function).
file-target-name-file-name
(function).
file-task
(function).
hard-freeze-targets
(function).
has-earmuffs?
(function).
if
(macro).
if-let
(macro).
impossible-task
(function).
load-form-slot-names
(generic function).
multiple-file-stamp
(function).
nonexist
(symbol macro).
not-a-target
(condition).
package-prereqs-table
(function).
pathname
(type).
pathname-exists?
(function).
pattern-ref-base
(reader method).
pattern-ref-pattern
(reader method).
pattern.script
(reader method).
phony-task-target
(macro).
prereqs
(symbol macro).
prereqsne
(symbol macro).
print-target-being-built
(generic function).
read-only-struct-slot-names
(method).
rebuild-file
(function).
rebuild-symbol
(function).
record-package-prereq
(function).
record-package-prereq*
(function).
record-parent-prereq
(generic function).
record-parent-prereqne
(function).
ref
(class).
ref.name
(reader method).
register-script
(function).
relative-file-target
(class).
relative-file-truename
(generic function).
save-file-task
(function).
save-task
(function).
saved-prereq
(function).
script-for
(function).
system-resource
(function).
system-resource
(class).
system-resource.system
(reader method).
target
(type).
target-package
(function).
(setf target-package)
(function).
task-base
(reader).
task-script
(reader).
task-target
(reader).
task-thunk
(reader).
top-level-target-lock
(symbol macro).
touch-target
(function).
trivial-task
(function).
unglobify
(function).
unloaded-pattern
(class).
update-config-stamp
(function).
use*
(function).
use-all*
(function).
wrap-rebuild-symbol
(function).
wrap-save-base
(function).
overlord/digest/file-type.lisp
overlord/digest
(system).
digest-file
(function).
digest-string
(function).
file-digest-string
(function).
string-digest-string
(function).
overlord/freeze/file-type.lisp
overlord/freeze
(system).
*before-hard-freeze-hook*
(special variable).
check-not-frozen
(function).
freeze
(function).
freeze-policy
(function).
(setf freeze-policy)
(function).
freeze-policy
(type).
frozen?
(function).
unfreeze
(function).
*freeze-fmakunbound-hit-list*
(special variable).
*freeze-policy*
(special variable).
*frozen*
(special variable).
overlord/oracle/file-type.lisp
overlord/oracle
(system).
--version
(function).
compare
(method).
daily-oracle
(function).
dist-version-oracle
(function).
dist-version-oracle
(class).
env-oracle
(function).
env-oracle
(class).
feature-oracle
(function).
feature-oracle
(class).
function-oracle
(function).
function-oracle
(class).
glob-target
(function).
hash-target
(method).
initialize-instance
(method).
initialize-instance
(method).
make-load-form
(method).
oracle
(class).
oracle-answer
(generic function).
oracle-answer
(type).
oracle-question
(reader method).
print-object
(method).
print-object
(method).
slot-unbound
(method).
system-version-oracle
(function).
system-version-oracle
(class).
target-exists?
(method).
target-exists?
(method).
target-exists?
(method).
target-exists?
(method).
target-exists?
(method).
target-exists?
(method).
target-exists?
(method).
target-exists?
(method).
target-node-label
(method).
target-node-label
(method).
target-stamp
(method).
target-stamp
(method).
target=
(method).
target=
(method).
target=
(method).
target=
(method).
target=
(method).
target=
(method).
target=
(method).
target=
(method).
target=
(method).
target=
(method).
var-oracle
(function).
var-oracle
(class).
+storage-for-deflex-var-quicklisp+
(constant).
cl-sym?
(function).
cl-var-oracle
(class).
dist-exists?
(function).
dist-version-oracle.name
(reader method).
env-oracle.name
(reader method).
feature-oracle.feature
(reader method).
fixed-question-oracle
(class).
fixed-question-oracle.name
(reader method).
function-oracle.args
(reader method).
function-oracle.delayed-symbol
(reader method).
get-version
(function).
package-oracle
(class).
package-oracle.name
(reader method).
ql-dist-version
(function).
quicklisp
(symbol macro).
readtable-oracle
(class).
system-version-oracle.system-name
(reader method).
todays-date-string
(function).
var-oracle.var
(reader method).
wildcard-hash
(function).
overlord/project-system/file-type.lisp
overlord/project-system
(system).
operate
(method).
overlord-project-system
(class).
start-project
(function).
build-default-system-target
(function).
project-system-target-name
(reader method).
template-directory
(symbol macro).
Packages are listed by definition order.
overlord/types
overlord/redo
overlord/project-system
overlord/base
overlord/freeze
overlord/cache
overlord/makespan
overlord/oracle
overlord/global-state
overlord/target-table
overlord-user
overlord/specials
overlord/target
overlord/build-env
overlord/asdf
overlord/digest
overlord/stamp
overlord/util
overlord/target-protocol
overlord/message
overlord/all
overlord/kernel
overlord/db
overlord/types
alexandria
.
common-lisp
.
serapeum
.
uiop/pathname
.
case-mode
(type).
cerror*
(function).
check-list-of
(macro).
cl-symbol
(type).
db-version
(function).
db-version
(type).
delay-symbol
(function).
delayed-symbol
(function).
delayed-symbol
(structure).
error*
(function).
force-symbol
(function).
hash-code
(type).
list-of
(type).
maybe-delay-symbol
(function).
overlord-condition
(condition).
overlord-error
(condition).
overlord-error-target
(generic reader).
overlord-warning
(condition).
package-designator
(type).
pathname-designator
(type).
plist
(type).
tame-pathname
(type).
temporary-file
(type).
universal-time
(type).
built-in-symbol?
(function).
check-list-of*
(function).
cl-symbol-p
(function).
copy-delayed-symbol
(function).
delayed-symbol-error
(condition).
delayed-symbol-name-error
(condition).
delayed-symbol-package-error
(condition).
delayed-symbol-package-name
(reader).
delayed-symbol-symbol-name
(reader).
delayed-symbol=
(function).
list-without-nil
(type).
list-without-nil?
(function).
plist?
(function).
print-current-dir
(function).
temporary-file?
(function).
try-force-symbol
(function).
warn*
(function).
overlord/redo
redo
alexandria
.
common-lisp
.
overlord/build-env
.
overlord/specials
.
overlord/target-protocol
.
overlord/target-table
.
serapeum
.
*parents*
(special variable).
building?
(function).
missing-script
(condition).
recursive-dependency
(condition).
redo
(function).
redo-all
(function).
redo-always
(function).
redo-ifchange
(function).
redo-ifchange-all
(function).
redo-ifcreate
(function).
redo-ifcreate-all
(function).
target-tree
(function).
non-existent-exists
(condition).
out-of-date?
(function).
pmap*
(function).
prereq-changed?
(function).
psome*
(function).
redo-ifchange-target
(function).
redo-target
(function).
resolve-build-script
(function).
target-build-script-target
(function).
target-error
(condition).
target-has-build-script?
(function).
target?
(function).
walk-targets
(function).
overlord/project-system
Very basic, experimental ASDF extension. Looks for
a package with the same name as the system and a symbol named ‘all’ in
that package, and builds that.
Use ‘asdf:make’ to get the desired behavior.
alexandria
.
common-lisp
.
serapeum
.
overlord-project-system
(class).
start-project
(function).
build-default-system-target
(function).
project-system-target-name
(generic reader).
template-directory
(symbol macro).
overlord/base
alexandria
.
common-lisp
.
overlord/asdf
.
overlord/global-state
.
overlord/types
.
serapeum
.
base
(function).
base
(slot).
base
(slot).
current-dir!
(function).
(setf current-dir!)
(function).
current-system
(function).
ensure-absolute
(function).
package-base
(function).
package-system
(function).
resolve-file
(function).
set-package-base
(macro).
set-package-system
(macro).
with-current-dir
(macro).
*package-bases*
(special variable).
absolute-directory-pathname?
(function).
call/current-dir
(function).
current-lisp-file
(function).
ensure-absolute-directory-pathname
(function).
guess-system-from-package-name
(function).
infer-system
(function).
infer-system-from-package
(function).
infer-system-from-package-affix
(function).
infer-system-from-package-names
(function).
look-for-asd
(function).
nearest-asdf-file
(function).
package-base-spec
(function).
(setf package-base-spec)
(function).
package-base-spec
(type).
read-system-by-name
(function).
saved-package-base
(function).
saved-package-system
(function).
set-package-base*
(function).
set-package-base-1
(function).
set-package-system*
(function).
set-package-system-1
(function).
overlord/freeze
alexandria
.
common-lisp
.
overlord/db
.
overlord/message
.
overlord/redo
.
overlord/types
.
serapeum
.
*before-hard-freeze-hook*
(special variable).
check-not-frozen
(function).
freeze
(function).
freeze-policy
(function).
(setf freeze-policy)
(function).
freeze-policy
(type).
frozen?
(function).
unfreeze
(function).
*freeze-fmakunbound-hit-list*
(special variable).
*freeze-policy*
(special variable).
*frozen*
(special variable).
overlord/cache
alexandria
.
common-lisp
.
overlord/types
.
serapeum
.
current-cache-dir
(function).
make-shadow-tree
(function).
shadow-tree-translate
(function).
%make-shadow-tree
(function).
absolute-path-shadow-tree-suffix
(function).
shadow-tree
(structure).
shadow-tree-p
(function).
shadow-tree-prefix
(reader).
shadow-tree-root
(function).
overlord/makespan
alexandria
.
common-lisp
.
serapeum
.
minimize-makespan
(function).
optimal-machine-count
(function).
copy-machine
(function).
copy-task
(function).
lpt-schedule
(function).
machine
(structure).
machine-add-task
(function).
machine-p
(function).
machine-task-queue
(reader).
(setf machine-task-queue)
(writer).
machine-tasks
(function).
machine-total-time
(reader).
(setf machine-total-time)
(writer).
make-machine
(function).
task
(function).
task
(structure).
task-task
(reader).
task-time
(reader).
overlord/oracle
alexandria
.
common-lisp
.
overlord/target-protocol
.
serapeum
.
trivia.level2
.
--version
(function).
daily-oracle
(function).
dist-version-oracle
(function).
dist-version-oracle
(class).
env-oracle
(function).
env-oracle
(class).
feature-oracle
(function).
feature-oracle
(class).
function-oracle
(function).
function-oracle
(class).
glob-target
(function).
oracle
(class).
oracle-answer
(generic function).
oracle-answer
(type).
oracle-question
(generic reader).
system-version-oracle
(function).
system-version-oracle
(class).
var-oracle
(function).
var-oracle
(class).
+storage-for-deflex-var-quicklisp+
(constant).
cl-sym?
(function).
cl-var-oracle
(class).
dist-exists?
(function).
dist-version-oracle.name
(generic reader).
env-oracle.name
(generic reader).
feature-oracle.feature
(generic reader).
fixed-question-oracle
(class).
fixed-question-oracle.name
(generic reader).
function-oracle.args
(generic reader).
function-oracle.delayed-symbol
(generic reader).
get-version
(function).
package-oracle
(class).
package-oracle.name
(generic reader).
ql-dist-version
(function).
quicklisp
(symbol macro).
readtable-oracle
(class).
system-version-oracle.system-name
(generic reader).
todays-date-string
(function).
var-oracle.var
(generic reader).
wildcard-hash
(function).
overlord/global-state
common-lisp
.
serapeum
.
define-global-state
(macro).
reset-global-state
(function).
*global-state*
(special variable).
*initial-pathname-defaults*
(special variable).
*initial-working-dir*
(special variable).
overlord/target-table
alexandria
.
common-lisp
.
serapeum
.
clear-target-table
(function).
hash-friendly?
(generic function).
make-target-table
(function).
target-table
(structure).
target-table-keys
(function).
target-table-len
(function).
target-table-member
(function).
(setf target-table-member)
(function).
target-table-ref
(function).
(setf target-table-ref)
(function).
target-table-rem
(function).
with-target-table-locked
(macro).
%make-target-table
(function).
alist-to-target-table
(function).
copy-target-table
(function).
target-table-p
(function).
target-table-to-alist
(function).
target-table.hash-table
(reader).
target-table.lock
(reader).
target-table.map
(reader).
(setf target-table.map)
(writer).
target-table.synchronized
(reader).
overlord/specials
alexandria
.
common-lisp
.
overlord/types
.
serapeum
.
*base*
(special variable).
*base-package*
(special variable).
*cli*
(special variable).
*db-version*
(special variable).
*force*
(special variable).
*jobs*
(special variable).
*suppress-phonies*
(special variable).
base-package
(function).
register-worker-special
(function).
register-worker-specials
(function).
unregister-worker-special
(function).
unregister-worker-specials
(function).
use-threads-p
(function).
(setf use-threads-p)
(function).
worker-specials
(function).
(setf worker-specials)
(function).
wrap-worker-specials
(function).
*use-threads*
(special variable).
*worker-specials*
(special variable).
overlord/target
alexandria
.
cmd/cmd
.
common-lisp
.
local-time
.
overlord/asdf
.
overlord/base
.
overlord/cache
.
overlord/db
.
overlord/digest
.
overlord/freeze
.
overlord/global-state
.
overlord/message
.
overlord/oracle
.
overlord/redo
.
overlord/specials
.
overlord/stamp
.
overlord/target-protocol
.
overlord/target-table
.
overlord/types
.
overlord/util
.
serapeum
.
uiop/filesystem
.
uiop/pathname
.
build
(function).
build-package
(function).
canonicalize-pathname-for-readability
(function).
change-pathname-type
(function).
clear-package-prereqs
(function).
defconfig
(macro).
define-script
(macro).
define-target-config
(macro).
define-target-task
(macro).
define-target-var
(macro).
define-var-once
(macro).
defpattern
(macro).
deftask
(macro).
depends-not
(function).
depends-not-all
(function).
depends-on
(function).
depends-on*
(function).
depends-on-all
(function).
depends-on-all*
(function).
directory-exists
(function).
directory-exists
(class).
ensure-file-target-pathname
(function).
ensure-target-recorded
(function).
extension
(function).
file
(compiler macro).
file
(function).
file-target
(macro).
find-pattern
(function).
list-package-prereqs
(function).
make-pattern
(function).
merge-input-defaults
(generic function).
merge-output-defaults
(generic function).
path
(macro).
pattern
(function).
pattern
(class).
pattern-build
(generic function).
pattern-from
(function).
pattern-into
(function).
pattern-name
(generic function).
pattern-ref
(function).
pattern-ref
(class).
pattern-ref-outputs
(generic reader).
pattern-ref-static-inputs
(generic reader).
pattern.input-defaults
(generic reader).
pattern.output-defaults
(generic reader).
run
(function).
task
(function).
task
(structure).
use
(function).
use-all
(function).
var-target
(macro).
*prereq-packages*
(special variable).
*scripts*
(special variable).
*symbol-timestamps*
(special variable).
*tasks*
(special variable).
*top-level-targets*
(special variable).
+storage-for-deflex-var-build-time+
(constant).
+storage-for-deflex-var-nonexist+
(constant).
+storage-for-deflex-var-prereqs+
(constant).
+storage-for-deflex-var-prereqsne+
(constant).
+storage-for-deflex-var-stamp+
(constant).
build-time
(symbol macro).
build-time-from-file
(function).
build-time-from-files
(function).
call-with-locked-target
(generic function).
check-generic-function
(function).
clear-scripts
(function).
cond
(macro).
config-stamp
(function).
copy-task
(function).
current-parent
(function).
deduplicate-targets
(function).
defclass
(macro).
define-script-for
(macro).
define-target-config/aux
(macro).
defmethod
(macro).
delete-file-or-directory
(function).
directory-exists.path
(generic reader).
externalizable
(class).
file-digest-ref
(function).
file-digest-ref
(class).
file-digest-ref.file
(generic reader).
file-stamp
(function).
file-stamp/hash
(function).
file-target-name-file-name
(function).
file-task
(function).
hard-freeze-targets
(function).
has-earmuffs?
(function).
if
(macro).
if-let
(macro).
impossible-task
(function).
load-form-slot-names
(generic function).
multiple-file-stamp
(function).
nonexist
(symbol macro).
not-a-target
(condition).
package-prereqs-table
(function).
pathname
(type).
pathname-exists?
(function).
pattern-ref-base
(generic reader).
pattern-ref-pattern
(generic reader).
pattern.script
(generic reader).
phony-task-target
(macro).
prereqs
(symbol macro).
prereqsne
(symbol macro).
print-target-being-built
(generic function).
rebuild-file
(function).
rebuild-symbol
(function).
record-package-prereq
(function).
record-package-prereq*
(function).
record-parent-prereq
(generic function).
record-parent-prereqne
(function).
ref
(class).
ref.name
(generic reader).
register-script
(function).
relative-file-target
(class).
relative-file-truename
(generic function).
save-file-task
(function).
save-task
(function).
saved-prereq
(function).
script-for
(function).
system-resource
(function).
system-resource
(class).
system-resource.system
(generic reader).
target
(type).
target-package
(function).
(setf target-package)
(function).
task-base
(reader).
task-script
(reader).
task-target
(reader).
task-thunk
(reader).
top-level-target-lock
(symbol macro).
touch-target
(function).
trivial-task
(function).
unglobify
(function).
unloaded-pattern
(class).
update-config-stamp
(function).
use*
(function).
use-all*
(function).
wrap-rebuild-symbol
(function).
wrap-save-base
(function).
overlord/build-env
Environment for builds, including (but not limited to) caching already built targets.
alexandria
.
common-lisp
.
overlord/target-protocol
.
overlord/target-table
.
serapeum
.
*use-build-cache*
(special variable).
ask-for-token*
(function).
build-env-bound?
(function).
cached-stamp
(function).
(setf cached-stamp)
(function).
claim-file*
(function).
claim-files*
(function).
register-proc*
(function).
return-token*
(function).
target-exists?/cache
(function).
target-locked-p
(function).
target-stamp/cache
(function).
temp-prereqs
(function).
(setf temp-prereqs)
(function).
temp-prereqsne
(function).
(setf temp-prereqsne)
(function).
with-build-env
(macro).
*build-env*
(special variable).
*build-id*
(special variable).
ask-for-token
(function).
await-procs
(generic function).
build-env
(class).
build-env-procs
(generic reader).
(setf build-env-procs)
(generic writer).
build-env-tokens
(generic reader).
build-env.file-owners
(generic reader).
build-env.table
(generic reader).
call-in-build-env
(generic function).
call-with-procs-tracked
(generic function).
call-with-target-meta-locked
(function).
call/build-env
(function).
claim-file
(generic function).
claim-files
(generic function).
copy-target-meta
(function).
kill-procs
(generic function).
make-build-env
(function).
make-env-kernel
(generic function).
make-target-meta
(function).
make-token-pool
(function).
next-build-id
(function).
register-proc
(generic function).
return-token
(function).
target-meta
(function).
target-meta
(structure).
target-meta-p
(function).
target-meta.lock
(reader).
(setf target-meta.lock)
(writer).
target-meta.lockedp
(reader).
(setf target-meta.lockedp)
(writer).
target-meta.stamp
(reader).
(setf target-meta.stamp)
(writer).
target-meta.target
(reader).
target-meta.temp-prereqs
(reader).
(setf target-meta.temp-prereqs)
(writer).
target-meta.temp-prereqsne
(reader).
(setf target-meta.temp-prereqsne)
(writer).
threaded-build-env
(class).
token
(type).
track-jobs-used
(generic function).
use-build-cache?
(function).
with-procs-tracked
(macro).
with-target-meta-locked
(macro).
overlord/asdf
This package contains wrappers for ASDF functions.
The idea is to be able to trivially audit exactly how Overlord uses ASDF.
If you want to call an ASDF function in another package, don’t! Add a wrapper for it here and import that.
alexandria
.
common-lisp
.
serapeum
.
asdf-system
(type).
asdf-system-base
(function).
asdf-system-loaded?
(function).
asdf-system-name
(function).
asdf-system-name-keyword
(function).
asdf-system-relative-pathname
(function).
asdf-system-version
(function).
asdf-system?
(function).
find-asdf-system
(function).
load-asdf-system
(function).
package-inferred-asdf-system?
(function).
package-name-asdf-system
(function).
primary-asdf-system-name
(function).
require-asdf-system
(function).
overlord/digest
alexandria
.
common-lisp
.
serapeum
.
digest-file
(function).
digest-string
(function).
file-digest-string
(function).
string-digest-string
(function).
overlord/stamp
alexandria
.
common-lisp
.
local-time
.
serapeum
.
far-future
(symbol macro).
far-future
(structure).
file-hash
(function).
file-hash
(structure).
file-meta
(function).
file-meta
(structure).
never
(symbol macro).
never
(structure).
resolved-file
(function).
resolved-file
(structure).
round-down-to-nearest-second
(function).
stamp
(symbol macro).
stamp
(type).
stamp-satisfies-p
(function).
stamp=
(function).
target-timestamp
(generic function).
(setf target-timestamp)
(generic function).
target-timestamp
(type).
target-timestamp=
(function).
timestamp-newer?
(function).
+storage-for-deflex-var-far-future+
(constant).
+storage-for-deflex-var-never+
(constant).
copy-file-hash
(function).
copy-file-meta
(function).
copy-resolved-file
(function).
file-hash-hash
(reader).
file-hash-size
(reader).
file-hash=
(function).
file-meta-size
(reader).
file-meta-timestamp
(reader).
file-meta=
(function).
resolved-file-meta
(reader).
resolved-file-path
(reader).
resolved-file=
(function).
overlord/util
alexandria
.
common-lisp
.
serapeum
.
trivial-file-size
.
byte-array-to-hex-string
(function).
call/temp-file-pathname
(function).
call/temp-file-pathnames
(function).
coerce-case
(function).
copy-file-if-changed
(function).
dx-sxhash
(macro).
ensure-pathnamef
(macro).
eval*
(function).
file-mtime
(function).
lessf
(macro).
locate-dominating-file
(function).
propagate-side-effect
(macro).
quoted-symbol?
(function).
read-file-form
(function).
resolve-package
(function).
strip-directory
(function).
timestamp-diff
(function).
version-major-version
(function).
with-absolute-package-names
(macro).
withf
(macro).
write-file-if-changed
(function).
write-form-as-file
(function).
ensure-pathname*
(function).
existing-file-unchanged?
(function).
rename-by-copying
(function).
replace-file-atomically
(function).
overlord/target-protocol
alexandria
.
common-lisp
.
serapeum
.
build-script-target
(generic function).
call-with-target-locked
(generic function).
call-with-targets-locked
(function).
clear-temp-prereqs
(generic function).
clear-temp-prereqsne
(generic function).
delete-target
(generic function).
delete-targets
(function).
hash-target
(generic function).
impossible-prereq
(symbol macro).
impossible-prereq
(structure).
record-prereq
(generic function).
record-prereqne
(generic function).
resolve-target
(generic function).
root-target
(symbol macro).
root-target
(structure).
run-script
(generic function).
save-temp-prereqs
(generic function).
save-temp-prereqsne
(generic function).
saved-prereq-stamp
(generic function).
saved-prereq-target
(generic function).
target-build-script
(generic function).
target-build-time
(generic function).
(setf target-build-time)
(generic function).
target-exists?
(generic function).
target-in-db?
(generic function).
target-node-label
(generic function).
target-saved-prereqs
(generic function).
(setf target-saved-prereqs)
(function).
target-saved-prereqsne
(generic function).
(setf target-saved-prereqsne)
(function).
target-stamp
(generic function).
target-static-prereqs
(generic function).
target=
(generic function).
trivial-prereq
(symbol macro).
trivial-prereq
(structure).
with-target-locked
(macro).
+storage-for-deflex-var-impossible-prereq+
(constant).
+storage-for-deflex-var-root-target+
(constant).
+storage-for-deflex-var-trivial-prereq+
(constant).
overlord/message
alexandria
.
common-lisp
.
overlord/global-state
.
serapeum
.
*message-stream*
(special variable).
message
(compiler macro).
message
(function).
extract-directives
(function).
guess-arg-count
(function).
sanity-check-message-args
(function).
overlord/kernel
alexandria
.
common-lisp
.
serapeum
.
end-meta-kernel
(function).
nproc
(symbol macro).
nproc
(function).
with-meta-kernel
(macro).
*meta-kernel*
(special variable).
+storage-for-deflex-var-thread-count-cap+
(constant).
call/meta-kernel
(function).
ensure-meta-kernel
(function).
meta-kernel-size
(symbol macro).
start-meta-kernel
(function).
thread-count-cap
(symbol macro).
overlord/db
alexandria
.
common-lisp
.
overlord/asdf
.
overlord/cache
.
overlord/global-state
.
overlord/message
.
overlord/specials
.
overlord/types
.
serapeum
.
db-loaded?
(function).
deactivate-db
(function).
delete-prop
(function).
delete-versioned-db
(function).
has-prop?
(function).
prop
(function).
(setf prop)
(function).
require-db
(function).
save-database
(function).
saving-database
(macro).
unload-db
(function).
*db*
(special variable).
*save-pending*
(special variable).
+storage-for-deflex-var-tombstone+
(constant).
append-to-log
(function).
call/saving-database
(function).
call/standard-io-syntax
(function).
check-version
(function).
copy-db
(function).
copy-dead-db
(function).
db
(function).
db
(structure).
db-alist
(function).
db-error
(compiler macro).
db-error
(function).
db-error
(condition).
db-key
(type).
db-p
(function).
db-protect
(generic function).
db-readtable
(symbol macro).
db-ref*
(function).
(setf db-ref*)
(function).
db-value
(type).
db-write
(function).
db.current-map
(reader).
(setf db.current-map)
(writer).
db.del
(generic function).
db.last-saved-map
(reader).
(setf db.last-saved-map)
(writer).
db.lock-file
(generic function).
db.log-file
(reader).
db.ref
(generic function).
(setf db.ref)
(generic function).
db.state
(reader).
db.sync
(generic function).
db.version
(reader).
dead-db
(structure).
dead-db-p
(function).
getpid
(function).
has-props?
(function).
in-worker?
(function).
load-log-data
(function).
lock-db
(generic function).
locked-db
(condition).
log-data
(structure).
log-data-p
(function).
log-data.map
(reader).
log-data.map-count
(reader).
log-file-path
(function).
log-file-size
(function).
log-record
(structure).
log-record-p
(function).
log-record.data
(reader).
log-record.timestamp
(reader).
make-db
(function).
make-dead-db
(function).
make-log-data
(function).
make-log-record
(function).
no-log-data
(symbol macro).
prop-1
(function).
(setf prop-1)
(function).
prop-key
(function).
release-database
(function).
reload-db
(function).
squash-data
(function).
strip-tombstones
(function).
tombstone
(symbol macro).
tombstone
(structure).
unlock-db
(generic function).
version-mismatch
(condition).
with-standard-io-syntax*
(macro).
Definitions are sorted by export status, category, package, and then by lexicographic order.
The current base.
The package relative to which (if bound) the base should be computed.
Are we running on a CLI?
Versioning for fasls.
Incrementing this should be sufficient to invalidate old fasls.
Whether to force rebuilding.
The stream printed to by the default message handler.
The chain of parents being built.
Should we cache which targets are already built?
Note that this can safely be rebound around part of a build when non-caching behavior is desired.
Define a conf with dependencies.
A dependency can be a file or another variable.
If any of those files or variables change, then the variable is rebuilt.
Lower-level version of ‘deftask’.
Unlike tasks defined using ‘deftask’, tasks defined using ‘define-target-task’ are built before freezing.
Define a variable with dependencies.
A dependency can be a file or another variable.
If any of those files or variables change, then the variable is rebuilt.
Like ‘defvar’, but also re-evaluate if EXPR changes.
Define a file pattern named NAME.
Some build systems let you define file patterns based on extensions or
regular expressions. That won’t work for Overlord, because there is no
special namespace for targets, so such a rule would apply everywhere.
It has to have a name.
The behavior of ‘defpattern’ changes based on the bindings you
request. IN is bound to the name of the input file or files.
For the meaning of OUT and DEST, compare the documentation for ‘file-target’.
Define a task – a target that only has dependencies.
This is essentially a convenience to let you use script syntax to specify the dependencies you want to build.
Like SXHASH, but try to stack-allocate EXPR.
Define PATHNAME as a target.
If supplied, PATHNAME may be a literal pathname or a string (in which
case it is parsed with ‘uiop:parse-unix-namestring’). Using a string
is preferred for programs that care about portability. If not
supplied, PATHNAME defaults to NAME, as a string, with its case
inverted, and any earmuffs removed.
NAME is not a target; it is a binding that serves as a convenient
handle for the name of the target. (It is also necessary to be able to
recognize that the file is out of date when BODY changes.) The binding
is a lexical binding, unless NAME has earmuffs (‘*NAME*’) in which
case it is bound as a special variable.
The behavior of ‘file-target’ depends on which, if any, bindings are
requested. If DEST is supplied, then it is simply bound to PATHNAME,
after it has been resolved. If only DEST is supplied, or if no
bindings are requested, then you must write directly to the
destination file.
If a binding for OUT is supplied, however, the behavior of
‘file-target’ changes: OUT is bound to a temporary file, and after
BODY has finished the destination file is atomically overwritten
with OUT.
You should generally prefer OUT to DEST. DEST is most useful when you are using an external program that lets you specify the input file but not the output file (a bad design, but unfortunately a common one).
There are legitimate cases where you might want to use both OUT and DEST: for example, while writing to OUT, you might still need to know the name of the destination file in order to derive the names of input files to depend on dynamically.
Modify macro for removing from an Fset map or set.
At compile time, parse STRING using ‘uiop:parse-unix-namestring’.
The result is a relative pathname object.
This is an alternative to literal pathname syntax for greater portability.
Force BODY to be evaluated both at compile time AND load time (but
not run time).
Note that BODY should be idempotent, as it may be evaluated more than once.
Macro wrapper for ‘call/saving-database’.
Set the base and/or system, for the current package, at compile time as well as load time.
Like ‘define-target-var’, but does not actually evaluate anything.
Modify macro for augmenting an Fset map or set.
An oracle that monitors the version of COMMAND (by calling it with an argument of ‘–version’.
Get a token from the current build environment.
Return the current base, which is either the current value of ‘*base*’ (if that is bound) or the base of the current package.
Build TARGET/S, a single target or a list of targets.
Return T if anything is being built.
Lock every target in TARGETS, then call FN.
Before locking, targets are ordered according to the global order established by ‘fset:compare’, to avoid deadlocks.
Like ‘call/temp-file-pathnames‘, but for a single file.
Create a set of temp files, call FN on them, and then copy the temp files into DESTS.
Return a copy of PATHNAME with the version and type set in ways that will be readable for this LISP.
Clear the current prerequisites of PACKAGE. Return PACKAGE.
The current Overlord cache directory.
The path includes the Overlord major version, as well as the Lisp
implementation and version, so if Overlord is updated, or the Lisp
implementation is upgraded, the old cache is automatically
invalidated.
Return the current directory.
If ‘*default-pathname-defaults*’ is an absolute directory pathname, return that.
Otherwise, resolve ‘*default-pathname-defaults*’ to an absolute directory, set ‘*default-pathname-defaults*’ to the new value, and return the new value.
Retrieve or infer the system the current package comes from.
Depend on today’s date.
This is for targets that should be no more than one a day.
Clear the DB out of memory in such a way that it will not be reloaded on demand.
Delete a property from OBJ.
Delete all targets in TARGETS, in no particular order. Lists of targets in TARGETS are flattened.
Delete a specific version of the database. The database is always implicitly versioned.
Depend on the targets in TARGETS not existing. Descends into lists.
Depend on each target in TARGETS, in no particular order. Descends into lists.
Like ‘depends-on’, but in order.
Wrap NAME as a directory reference.
Terminate the Overlord kernel.
Ensure that TARGET is recorded as a prerequisite.
If there is no current parent, make TARGET a prerequisite of the
current package.
Evaluate EXPR by compiling it to a thunk, then calling that thunk.
Parse PATH as a Unix namestring and resolve it. If PATH is wild, expand it.
As ‘file-write-date’, but check if the file exists first.
This is provided in case we ever want to offer more precise timestamps
on Lisp/OS/filesystem combinations that support it, and for
implementations which signal an error rather than returning nil when
PATHNAME does not exist.
Get or set the current freeze policy.
The freeze policy determines what Overlord does when saving an image.
A freeze policy of ‘t’ (the default) disables module loading, but can
be reversed with ‘overlord:unfreeze’.
A freeze policy of ‘nil‘ does nothing. This should only be used for
local development.
A freeze policy of ‘:hard’ does the same thing as ‘t’, but cannot be reversed. This should be used when the image is intended to be distributed.
Test if an object has a property in the database.
List the current prerequisites of PACKAGE.
Make a shadow tree with prefix PREFIX. PREFIX may be a string or a list of strings.
Given MACHINE-COUNT, a sequence of TARGETS, and a sequence of BUILD-TIMES for each target, distribute TARGETS into batches, at most one batch per machine (but possibly less), in such a way as to minimize their makespan – the time until the last machine is done with the last task.
Retrieve or infer the base of PACKAGE.
Retrieve or infer the system PACKAGE comes from.
Make a pattern reference.
Look up a property for an object in the database.
Set an object’s property in the database.
Unconditionally build each target in TARGETS.
Unconditionally build each target in TARGETS.
Depend on an impossible prerequisite.
This ensures that the script for the current target is always run, no
matter what.
Rebuild each target in TARGETS if it is out of date.
Rebuild each target in TARGETS if it is out of date.
Depend on the non-existence of each target in TARGETS.
Depend on the non-existence of each target in TARGETS.
Register VAR as a variable that should be propagated into worker threads.
Register each var in VARS, as with ‘register-worker-special’.
Load the DB.
Restore Overlord’s global state to its value when first loaded.
This is intended to be the practical equivalent of quitting Lisp and
reloading: it completely resets Overlord’s internal state.
Note that this does not reset *just* Overlord’s state. It also resets a number of Lisp global variables to their default values.
Like ‘find-package’, but make sure the package is resolved in absolute terms even if the Lisp implementation supports local package nicknames.
Return TOKEN to the current build environment.
Entry point for scripts.
Save the current database.
Return a path equivalent to PATH in shadow tree TREE. PATH must be an absolute path.
Is stamp NEW practically equivalent to (but not necessarily the same as) OLD?
Initialize a new Overlord project.
If DIRECTORY is relative, it is created as a subdirectory of
Return PATHNAME without its directory (or device).
Skip hitting the filesystem to check if a target exists if we already built it.
Skip hitting the filesystem to check a target’s stamp if we already built it.
Is TS1 greater than TS2?
Return a list of (target . deps), where each dep is also a target
tree.
As a second value, return the non-existent prereqs.
Return the difference between END and START, two timestamps, in nanoseconds.
Is TS1 greater than TS2?
Clear the DB out of memory in such a way that it can still be reloaded on demand.
Stop VAR from being propagated into worker threads.
Unregister each var in VARS as with ‘unregister-worker-special’.
Like ‘use-all’, but variadic.
Like ‘use-all*’, but targets are shuffled.
Return a function suitable for passing to a worker that, that
lexically closes over the current dynamic value of every special that has been registered for propagation to worker threads.
Write DATA into FILE only if FILE would change.
DATA may be a string or a byte vector.
Return T if the file was written to, NIL otherwise.
Call FN with TARGET locked.
pathname
) fn) ¶delayed-symbol
) fn) ¶pattern-ref
) fn) ¶file-digest-ref
) fn) ¶directory-exists
) fn) ¶Lock the directory (file), not target.
impossible-prereq
) fn) ¶trivial-prereq
) fn) ¶root-target
) fn) ¶Make call-with-target-meta-locked the default for call-with-target-locked.
Delete TARGET, if it can be deleted.
delayed-symbol
)) ¶symbol
)) ¶package
)) ¶directory-exists
)) ¶pathname
)) ¶pattern-ref
)) ¶Can TARGET be used as a key in a EQUAL hash table?
impossible-prereq
)) ¶trivial-prereq
)) ¶root-target
)) ¶package
)) ¶symbol
)) ¶pathname
)) ¶Hash TARGET.
Two targets that are equal under ‘target=’ should always have the same hash (though the reverse is not necessarily true).
system-resource
)) ¶pattern-ref
)) ¶file-digest-ref
)) ¶directory-exists
)) ¶impossible-prereq
)) ¶trivial-prereq
)) ¶root-target
)) ¶unloaded-pattern
) inputs) ¶unloaded-pattern
) outputs) ¶function-oracle
)) ¶feature-oracle
)) ¶dist-version-oracle
)) ¶system-version-oracle
)) ¶env-oracle
)) ¶fixed-question-oracle
)) ¶cl-var-oracle
)) ¶var-oracle
)) ¶target-error
)) ¶Build OUTPUTS from INPUTS according to PATTERN.
unloaded-pattern
) input output) ¶unloaded-pattern
)) ¶automatically generated reader method
name
.
symbol
)) ¶delayed-symbol
)) ¶pattern-ref
)) ¶automatically generated reader method
pattern-ref
)) ¶automatically generated reader method
name
.
Record TARGET as a prerequisite of the current parent.
trivial-prereq
)) ¶symbol
)) ¶null
)) ¶impossible-prereq
)) ¶symbol
)) ¶Resolve any relative pathnames in TARGET.
TARGET may be returned unchanged if there are no pathnames to resolve, but it must not be mutated. If there are pathnames to resolve, TARGET should be copied.
pathname
) &optional base) ¶pattern-ref
) &optional base) ¶file-digest-ref
) &optional base) ¶directory-exists
) &optional base) ¶package
)) ¶symbol
)) ¶pathname
)) ¶relative-file-target
)) ¶pattern-ref
)) ¶file-digest-ref
)) ¶directory-exists
)) ¶impossible-prereq
)) ¶trivial-prereq
)) ¶root-target
)) ¶How long (in internal time units) a target took to build.
pathname
)) ¶delayed-symbol
)) ¶relative-file-target
)) ¶pattern-ref
)) ¶file-digest-ref
)) ¶directory-exists
)) ¶impossible-prereq
)) ¶trivial-prereq
)) ¶delayed-symbol
)) ¶directory-exists
)) ¶impossible-prereq
)) ¶trivial-prereq
)) ¶Does TARGET exists?
pathname
)) ¶delayed-symbol
)) ¶symbol
)) ¶package
)) ¶relative-file-target
)) ¶file-digest-ref
)) ¶directory-exists
)) ¶impossible-prereq
)) ¶trivial-prereq
)) ¶root-target
)) ¶function-oracle
)) ¶feature-oracle
)) ¶dist-version-oracle
)) ¶system-version-oracle
)) ¶env-oracle
)) ¶fixed-question-oracle
)) ¶cl-var-oracle
)) ¶var-oracle
)) ¶Has TARGET been built before?
impossible-prereq
)) ¶trivial-prereq
)) ¶root-target
)) ¶package
)) ¶Return a string suitable for logging (for humans) what target is being built.
package
)) ¶delayed-symbol
)) ¶symbol
)) ¶pathname
)) ¶system-resource
)) ¶pattern-ref
)) ¶file-digest-ref
)) ¶directory-exists
)) ¶impossible-prereq
)) ¶trivial-prereq
)) ¶root-target
)) ¶system-version-oracle
)) ¶package
)) ¶root-target
)) ¶Return the stamp of TARGET.
pathname
)) ¶relative-file-target
)) ¶pattern-ref
)) ¶file-digest-ref
)) ¶env-oracle
)) ¶package
)) ¶pattern-ref
)) ¶automatically generated reader method
name
.
root-target
)) ¶Return the timestamp of TARGET.
pathname
)) ¶delayed-symbol
)) ¶symbol
)) ¶package
)) ¶file-digest-ref
)) ¶directory-exists
)) ¶impossible-prereq
)) ¶trivial-prereq
)) ¶root-target
)) ¶Set the timestamp of TARGET.
Not every target type supports this.
pathname
)) ¶symbol
)) ¶delayed-symbol
)) ¶file-digest-ref
)) ¶directory-exists
)) ¶Are TARGET1 and TARGET2 the same?
pathname
) (y pathname
)) ¶delayed-symbol
) (y delayed-symbol
)) ¶symbol
) (y delayed-symbol
)) ¶delayed-symbol
) (y symbol
)) ¶delayed-symbol
)) ¶delayed-symbol
) y) ¶relative-file-target
) (other relative-file-target
)) ¶pattern-ref
) (other pattern-ref
)) ¶file-digest-ref
) (other file-digest-ref
)) ¶directory-exists
) (y directory-exists
)) ¶feature-oracle
) (other feature-oracle
)) ¶dist-version-oracle
) (other dist-version-oracle
)) ¶system-version-oracle
) (other system-version-oracle
)) ¶env-oracle
) (other env-oracle
)) ¶readtable-oracle
) (other readtable-oracle
)) ¶package-oracle
) (other package-oracle
)) ¶fixed-question-oracle
) (other fixed-question-oracle
)) ¶cl-var-oracle
) (other cl-var-oracle
)) ¶var-oracle
) (other var-oracle
)) ¶symbol
) (d delayed-symbol
)) ¶fset
.
delayed-symbol
) (s symbol
)) ¶fset
.
delayed-symbol
) (ds2 delayed-symbol
)) ¶fset
.
pattern-ref
) (other pattern-ref
)) ¶fset
.
ref
) (b root-target
)) ¶fset
.
root-target
) (b ref
)) ¶fset
.
ref
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b ref
)) ¶fset
.
ref
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b ref
)) ¶fset
.
resolved-file
) (y resolved-file
)) ¶fset
.
trivial-prereq
) (b root-target
)) ¶fset
.
root-target
) (b trivial-prereq
)) ¶fset
.
impossible-prereq
) (b root-target
)) ¶fset
.
root-target
) (b impossible-prereq
)) ¶fset
.
root-target
) (b null
)) ¶fset
.
null
) (b root-target
)) ¶fset
.
root-target
) (b real
)) ¶fset
.
real
) (b root-target
)) ¶fset
.
root-target
) (b complex
)) ¶fset
.
complex
) (b root-target
)) ¶fset
.
root-target
) (b character
)) ¶fset
.
character
) (b root-target
)) ¶fset
.
root-target
) (b symbol
)) ¶fset
.
symbol
) (b root-target
)) ¶fset
.
root-target
) (b string
)) ¶fset
.
string
) (b root-target
)) ¶fset
.
root-target
) (b vector
)) ¶fset
.
vector
) (b root-target
)) ¶fset
.
root-target
) (b list
)) ¶fset
.
list
) (b root-target
)) ¶fset
.
root-target
) (b package
)) ¶fset
.
package
) (b root-target
)) ¶fset
.
root-target
) (b pathname
)) ¶fset
.
pathname
) (b root-target
)) ¶fset
.
root-target
) (b set
)) ¶fset
.
set
) (b root-target
)) ¶fset
.
root-target
) (b bag
)) ¶fset
.
bag
) (b root-target
)) ¶fset
.
root-target
) (b map
)) ¶fset
.
map
) (b root-target
)) ¶fset
.
root-target
) (b seq
)) ¶fset
.
seq
) (b root-target
)) ¶fset
.
root-target
) (b tuple
)) ¶fset
.
tuple
) (b root-target
)) ¶fset
.
root-target
) (b identity-ordering-mixin
)) ¶fset
.
identity-ordering-mixin
) (b root-target
)) ¶fset
.
root-target
) (b relation
)) ¶fset
.
relation
) (b root-target
)) ¶fset
.
root-target
) (y root-target
)) ¶fset
.
trivial-prereq
) (b null
)) ¶fset
.
null
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b real
)) ¶fset
.
real
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b complex
)) ¶fset
.
complex
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b character
)) ¶fset
.
character
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b symbol
)) ¶fset
.
symbol
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b string
)) ¶fset
.
string
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b vector
)) ¶fset
.
vector
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b list
)) ¶fset
.
list
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b package
)) ¶fset
.
package
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b pathname
)) ¶fset
.
pathname
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b set
)) ¶fset
.
set
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b bag
)) ¶fset
.
bag
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b map
)) ¶fset
.
map
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b seq
)) ¶fset
.
seq
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b tuple
)) ¶fset
.
tuple
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b identity-ordering-mixin
)) ¶fset
.
identity-ordering-mixin
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b relation
)) ¶fset
.
relation
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b trivial-prereq
)) ¶fset
.
trivial-prereq
) (y trivial-prereq
)) ¶fset
.
impossible-prereq
) (b null
)) ¶fset
.
null
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b real
)) ¶fset
.
real
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b complex
)) ¶fset
.
complex
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b character
)) ¶fset
.
character
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b symbol
)) ¶fset
.
symbol
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b string
)) ¶fset
.
string
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b vector
)) ¶fset
.
vector
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b list
)) ¶fset
.
list
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b package
)) ¶fset
.
package
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b pathname
)) ¶fset
.
pathname
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b set
)) ¶fset
.
set
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b bag
)) ¶fset
.
bag
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b map
)) ¶fset
.
map
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b seq
)) ¶fset
.
seq
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b tuple
)) ¶fset
.
tuple
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b identity-ordering-mixin
)) ¶fset
.
identity-ordering-mixin
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (b relation
)) ¶fset
.
relation
) (b impossible-prereq
)) ¶fset
.
impossible-prereq
) (y impossible-prereq
)) ¶fset
.
var-oracle
) &key var) ¶cl-var-oracle
) &key) ¶pattern-ref
) &key merge) ¶threaded-build-env
) &key) ¶delayed-symbol
) &optional env) ¶externalizable
) &optional env) ¶resolved-file
) &optional env) ¶far-future
) &optional env) ¶root-target
) &optional env) ¶trivial-prereq
) &optional env) ¶impossible-prereq
) &optional env) ¶build-env
)) ¶automatically generated reader method
serapeum
.
lock
.
build-op
) (system overlord-project-system
) &key) ¶asdf/operate
.
overlord-condition
) stream) ¶delayed-symbol
) stream) ¶function-oracle
) stream) ¶target-table
) stream) ¶directory-exists
) stream) ¶pattern-ref
) stream) ¶file-digest-ref
) stream) ¶system-resource
) stream) ¶unloaded-pattern
) stream) ¶resolved-file
) stream) ¶far-future
) stream) ¶root-target
) stream) ¶trivial-prereq
) stream) ¶impossible-prereq
) stream) ¶var-oracle
) (slot-name (eql overlord/oracle::sym)
)) ¶condition
.
overlord-condition
.
simple-error
.
overlord-condition
.
simple-warning
.
%read-only-struct
.
%constructor=
.
call-with-target-locked
.
compare
.
compare
.
compare
.
constructor-values/generic
.
delete-target
.
make-load-form
.
pattern-name
.
print-object
.
read-only-struct-slot-names
.
(setf target-build-time)
.
target-build-time
.
target-exists?
.
target-node-label
.
(setf target-timestamp)
.
target-timestamp
.
target=
.
target=
.
target=
.
target=
.
target=
.
common-lisp
.
string
(alexandria:required-argument (quote package-name))
This slot is read-only.
common-lisp
.
string
(alexandria:required-argument (quote symbol-name))
This slot is read-only.
%unit
.
The hash of a file.
We store both the size and the hash of the file to further reduce the
already negligible possibility of a collision.
%read-only-struct
.
(integer 0 *)
(alexandria:required-argument (quote overlord/stamp::size))
This slot is read-only.
string
(alexandria:required-argument (quote overlord/stamp::hash))
This slot is read-only.
Metadata to track whether a file has changed.
%read-only-struct
.
(integer 0 *)
(alexandria:required-argument (quote overlord/stamp::size))
This slot is read-only.
local-time
.
overlord/stamp:target-timestamp
(alexandria:required-argument (quote local-time:timestamp))
This slot is read-only.
The target that is always out of date.
%unit
.
%constructor=
.
call-with-target-locked
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
hash-friendly?
.
hash-target
.
make-load-form
.
print-object
.
print-target-being-built
.
record-prereqne
.
target-build-script
.
(setf target-build-time)
.
target-build-time
.
target-exists?
.
target-in-db?
.
target-node-label
.
target-timestamp
.
%unit
.
A resolved file.
This enables a relative file as a target to register as changed if the
file it resolves to changes.
This is intended for cases (like the ‘system-resource’ target class) where ‘redo-ifcreate’ isn’t enough to detect when a resource has been shadowed.
%read-only-struct
.
serapeum:file-pathname
(alexandria:required-argument (quote overlord/stamp::path))
This slot is read-only.
(or overlord/stamp:file-meta overlord/stamp:file-hash)
(alexandria:required-argument (quote overlord/stamp::meta))
This slot is read-only.
The root target.
Building this builds all targets defined in this session (not all targets in the database).
%unit
.
%constructor=
.
call-with-target-locked
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
hash-friendly?
.
hash-target
.
make-load-form
.
print-object
.
record-parent-prereq
.
target-build-script
.
target-exists?
.
target-in-db?
.
target-node-label
.
target-saved-prereqs
.
target-static-prereqs
.
target-timestamp
.
A table for storing targets.
This wraps an Fset map (for custom target types) and a hash table (for built-in types) and keeps them in sync.
structure-object
.
common-lisp
.
fset:map
(fset:empty-map)
common-lisp
.
hash-table
(make-hash-table :test (quote equal) :size 1024)
This slot is read-only.
(bordeaux-threads:make-recursive-lock)
This slot is read-only.
serapeum
.
boolean
This slot is read-only.
A task.
%read-only-struct
.
overlord/target::target
(alexandria:required-argument (quote overlord/target::target))
This slot is read-only.
function
(alexandria:required-argument (quote overlord/target::thunk))
This slot is read-only.
overlord/target::target
(alexandria:required-argument (quote overlord/target::script))
This slot is read-only.
(or null serapeum:directory-pathname)
(alexandria:required-argument (quote overlord/base:base))
This slot is read-only.
The target that is never out of date.
%unit
.
%constructor=
.
call-with-target-locked
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
compare
.
hash-friendly?
.
hash-target
.
make-load-form
.
print-object
.
print-target-being-built
.
record-prereq
.
target-build-script
.
(setf target-build-time)
.
target-build-time
.
target-exists?
.
target-in-db?
.
target-node-label
.
target-timestamp
.
A reference to a directory.
An oracle that reports the current version of a
Quicklisp dist.
By default this is the Quicklisp dist itself.
Initarg | Value |
---|---|
:name | quicklisp |
string
:name
This slot is read-only.
Oracle that wraps an environment variable.
Initarg | Value |
---|---|
:name | (required-argument name) |
string
:name
This slot is read-only.
An oracle that wraps whether a particular keyword is present in ‘*features*’.
keyword
:feature
This slot is read-only.
An oracle for a user-supplied function.
The function must be supplied as a symbol.
Oracles let you depend on aspects of the Lisp or OS
environment.
When you depend on an oracle, Overlord remembers the answer the oracle gave at the time of the dependency (or the lack of an answer, if the oracle was unbound). If that answer changes, then any targets that depend on the oracle are considered out of date.
:question
This slot is read-only.
system
.
(string (quote overlord/project-system::all))
:target-name
This slot is read-only.
A file-to-file build pattern.
Initarg | Value |
---|---|
:input-defaults | nil |
:output-defaults | nil |
:script | trivial-prereq |
(overlord/types:list-of overlord/target::pathname)
:input-defaults
This slot is read-only.
(overlord/types:list-of overlord/target::pathname)
:output-defaults
This slot is read-only.
overlord/target::target
:script
This slot is read-only.
ref
.
call-with-target-locked
.
compare
.
delete-target
.
hash-target
.
initialize-instance
.
load-form-slot-names
.
pattern-ref-base
.
pattern-ref-outputs
.
pattern-ref-pattern
.
pattern-ref-static-inputs
.
print-object
.
resolve-target
.
target-build-script
.
target-build-time
.
target-node-label
.
target-stamp
.
target-static-prereqs
.
target=
.
Initarg | Value |
---|---|
:inputs | (quote nil) |
:outputs | (quote nil) |
(or symbol standard-object overlord/types:delayed-symbol)
:pattern
This slot is read-only.
(overlord/types:list-of overlord/target::pathname)
:inputs
This slot is read-only.
(overlord/types:list-of overlord/target::pathname)
:outputs
This slot is read-only.
overlord/target::pathname
(overlord/base:base)
This slot is read-only.
Using a system version oracle, you can depend on
the major version of an ASDF system.
Note that if the system is not known to ASDF, then the version recorded is simply nil.
string
:name
This slot is read-only.
Oracle that wraps a special variable.
Oracles for Lisp variables are intended to allow a target to record the fact that it depends on some aspect of the compile time or read time environment (e.g. ‘*read-base*’) and should be considered out of date if that changes.
Possible values for a readtable’s case mode.
Possible formats for the timestamp of a target.
Environment for the current build.
The database.
Is the build system frozen?
Lparallel kernel for fetching target metadata.
Is there a save pending?
Set of registered scripts.
Whether to allow parallelism.
List of special variables that should be propagated into worker threads.
Like ‘cl:cond’, but require a default clause.
Like ‘cl:defclass’, but try to force slot types to be checked. Works for SBCL, at least.
Like ‘cl:defmethod’, but raise an error is NAME is not already bound as a generic function.
Like ‘cl:if’, but require two branches.
Like ‘alexandria:if-let’, but require two branches.
Like ‘var-target’, but does not actually declare a variable.
Macro wrapper for ‘call/standard-io-syntax’.
Is X an absolute directory pathname?
Turn PATH, an absolute pathname, into a relative pathname whose
directory components are the same as the directory components of
PATH.
On Windows the suffix includes the device as a directory component.
Compute the difference between CURRENT-MAP and LAST-SAVED-MAP and
write it into LOG.
If there is no difference, write nothing.
Return T if something was written, nil otherwise.
Get the build time for TARGET from the database, but if there is no
recorded build time, fall back to using the size of FILE.
This heuristic ensures that, in the absence of other information, larger files will be built before smaller files.
Like ‘build-time-from-file’, but the size is a sum over FILES.
Call THUNK, saving the database afterwards, unless a save is already pending.
Like ‘with-standard-io-syntax’, but if there is an error, unwind the stack so the error itself can be printed.
Check that NAME is bound to a generic function.
Check that the database version matches the Overlord system version.
Nix all symbols registered as scripts.
Compute a stamp for a config.
If VALUE is simple enough to hash, return a hash.
Otherwise nil.
Copy an instance of DELAYED-SYMBOL, optionally overriding some or all of its slots.
Copy an instance of FILE-HASH, optionally overriding some or all of its slots.
Copy an instance of FILE-META, optionally overriding some or all of its slots.
Copy an instance of RESOLVED-FILE, optionally overriding some or all of its slots.
Copy an instance of TASK, optionally overriding some or all of its slots.
Copy an instance of TASK, optionally overriding some or all of its slots.
The current parent. If we are building, it is the target being built; otherwise it is the current package.
Get the current database, loading it if necessary.
Return the database’s data as an alist. For debugging.
Access KEY in the current database.
Access KEY in the current database.
Write OBJ to STREAM using the database syntax.
Resolve X as an absolute directory pathname.