All Manuals > Delivery User Guide

12 Interface to the Delivery Process

12.1 Interface to the delivery process

For details of the functions delivery-value, deliver-keywords, delivery-shaker-cleanup and delivery-shaker-weak-pointer which allow you fine-grained control during the delivery process, if required, see 16 Delivery Reference Entries.

The function hcl:delivered-image-p is the predicate for whether the running image is a delivered image, that is an image saved by a call to deliver.

The action list "Delivery actions" is executed when the delivery process starts, before any system action. For example, if *my-hash-table* contains entries that are not required in the delivered application, then you may write:

(defun clear-my-hash-table()
  (maphash #'(lambda (x y) 
              (unless (required-in-the-application-p x y) 
                (remhash x *my-hash-table*)))
         *my-hash-table*))
 
(define-action "delivery actions" "Clear my hash table"
              'clear-my-hash-table)

Using the action list has two advantages (over the crude method of removing code by fmakunbound and so on):

  1. It does not have to be part of the deliver script, so it can be written near the code that uses *my-hash-table*. This makes it easier to maintain that code.
  2. It can access the user interface of the delivery process via the accessor delivery-value.

Delivery User Guide - 01 Dec 2021 19:35:06