Coverage report: /home/ellis/comp/core/app/skel/pkg.lisp

KindCoveredAll%
expression09 0.0
branch00nil
Key
Not instrumented
Conditionalized out
Executed
Not executed
 
Both branches taken
One branch taken
Neither branch taken
1
 ;;; skel/pkg.lisp --- Project Skeletons
2
 
3
 ;; Project composition library.
4
 
5
 ;;; Commentary:
6
 
7
 ;; The SKEL system consists of a core package SKEL/CORE, a required compiler
8
 ;; package SKEL/COMP, and some default but optional modules SKEL/DB and
9
 ;; SKEL/NET. 
10
 
11
 ;; The core contains all of the low-level bits and a CLOS API for interacting
12
 ;; with SKEL objects. 
13
 
14
 ;; The compiler package depends on the core and provides primitive compilers
15
 ;; for translating SKEL objects into foreign formats. For example, SK-RULE
16
 ;; objects may be translated into a corresponding GNU Make Rule. The compiler
17
 ;; packages implement the CLOS API defined in the core and may serve as a
18
 ;; useful guide for further extending the system yourself.
19
 
20
 ;; SKEL/DB provides a database interface for individual project caches as well
21
 ;; as global storage. SKEL/NET provides a wire protocol and client/server for
22
 ;; communication amongst any number of remote hosts.
23
 
24
 ;; Additionally there is a collection of default extensions which may be
25
 ;; toggled off via the SK-CONFIG FEATURES slot:
26
 
27
 ;; - VIEW provides an API for generating visualizations of SKEL objects
28
 
29
 ;; - PACKY enables package management and distribution.
30
 
31
 ;; - POD enables Podman API functionality.
32
 
33
 ;; - BOX enables QEMU/libvirt features.
34
 
35
 ;; - DEPLOY enables CI/Deploy features.
36
 
37
 ;;; Code:
38
 (pkg:defpkg :skel/core
39
   (:nicknames :sk-core)
40
   (:use :cl :std)
41
   (:import-from :ast :*keep-ast*)
42
   (:use-reexport :skel/core/proto :skel/core/int
43
    :skel/core/header :skel/core/obj :skel/core/util :skel/core/db :skel/core/log))
44
 
45
 (pkg:defpkg :skel/comp
46
   (:nicknames :sk-comp)
47
   (:use :cl :std)
48
   (:use-reexport :skel/comp/asd :skel/comp/cargo :skel/comp/makefile
49
    :skel/comp/container :skel/comp/dir-locals :skel/comp/org))
50
 
51
 (pkg:defpkg :skel/cli
52
   (:nicknames :sk-cli)
53
   (:use :cl :std :log :skel/core :sb-ext :cli/clap)
54
   (:export :*skel-cli* :sk-shell))
55
 
56
 (defpackage :skel/net/core
57
   (:nicknames :sk-net-core)
58
   (:use :cl :log :std 
59
    :net/core :net/proto/dns :net/codec/tlv :skel/core/proto 
60
    :skel/core/obj :net/udp :net/tcp :obj/id 
61
    :skel/core/db :net/srv/udp
62
    :skel/core/log
63
    :dat/proto :dat/sxp :dat/json)
64
   (:export
65
    #:*skel-client-port-range*
66
    #:*skel-port*
67
    #:*skel-service-port*
68
    #:*default-skel-service-port*))
69
 
70
 (defpackage :skel/net/client
71
   (:nicknames :sk-client)
72
   (:use :cl :std :net :skel/net/core)
73
   (:export))
74
 
75
 (defpackage :skel/net/server
76
   (:nicknames :sk-server)
77
   (:use :cl :std :net/srv/udp :net/srv/http :sk-net-core :log :skel/core/log :srv)
78
   (:export))
79
 
80
 (pkg:defpkg :skel/net
81
   (:nicknames :sk-net)
82
   (:use :cl :std)
83
   (:use-reexport :skel/net/client :skel/net/server))
84
 
85
 (defpackage :skel/srv
86
   (:use :cl :std :db 
87
    :store :build :config :skel/core/db 
88
    :skel/core :skel/core/log :skel/net :net/srv/udp :net/srv/http :srv)
89
   (:export #:sk-service))
90
 
91
 (defpackage :skel/infer
92
   (:use :cl :std :db :skel/core :skel/srv :dat :nlp :id :config :vc :srv)
93
   (:export
94
    #:sk-inference-engine
95
    #:sk-inference-service
96
    #:sk-inferred-project))
97