Coverage report: /home/ellis/comp/core/app/skel/comp/container.lisp
Kind | Covered | All | % |
expression | 0 | 66 | 0.0 |
branch | 0 | 0 | nil |
Key
Not instrumented
Conditionalized out
Executed
Not executed
Both branches taken
One branch taken
Neither branch taken
1
;;; container.lisp --- Containerfile Components
3
;; Containerfile skel components.
7
;; By convention we consider any file with base-name 'Containerfile'
8
;; (case-sensitive) to be an OCI Containerfile. Extension is used as the name
9
;; of the containerfile, or if absent defaults to the directory name.
12
(in-package :skel/comp/container)
14
(defclass sk-containerfile (sk-component containerfile)
17
(defmethod print-object ((object sk-containerfile) stream)
18
(print-unreadable-object (object stream :type t)
19
(format stream "~A" (file-namestring (path object)))))
21
(defmethod sk-convert ((self containerfile))
22
(let ((self (change-class self 'sk-containerfile)))
26
(defmethod sk-load-component ((kind (eql :containerfile))
28
&optional (path (project-root)))
29
(declare (ignore kind))
30
(sk-convert (deserialize
31
(make-pathname :name *default-containerfile* :type (namestring name)
32
:directory (namestring path))
35
(defmethod sk-write-file ((self sk-containerfile) &key path)
36
(serde self (pathname (or path (path self)))))
38
(defmethod sk-read-file ((self sk-containerfile) path)
39
(sk-load-component :containerfile path))
41
(defmethod sk-build ((self sk-containerfile) &key with-client no-cache tag)
43
(null (apply 'pod::run-podman (flatten (concatenate 'list
46
,@(when no-cache (list "--no-cache")))
47
(when tag (list "-t" tag ))))))
50
(with-libpod-client (c)
51
(libpod-request-json c "containers/json")
52
(nyi! "need to implement containerfile libpod request method")))
54
(t (with-libpod-client (c with-client)