-
Notifications
You must be signed in to change notification settings - Fork 1
/
sudoku-solver.asd
66 lines (61 loc) · 2.61 KB
/
sudoku-solver.asd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
(in-package :cl)
(defpackage sudoku-solver-asd
(:use :cl :asdf)
(:export :doc-op))
(in-package :sudoku-solver-asd)
(defclass doc-op (asdf:operation) ())
(defmethod perform ((this doc-op) (system asdf:system))
(when (string= (slot-value system 'asdf::name) "sudoku-solver")
(let ((sys-path (make-pathname :defaults (slot-value system 'asdf::source-file)
:name nil :type nil)))
(asdf:load-system system)
(in-package :sudoku-solver.doc)
(funcall (intern "GENERATE-HTDOC" *package*) sys-path)
(in-package :sudoku-solver-asd))))
(defsystem sudoku-solver
:version "0.1"
:author "Oleg Sivokon <olegsivokon@gmail.com>"
:license "MIT"
:depends-on (:alexandria :split-sequence :iterate)
:components ((:module "src"
:serial t
:components
((:file "package")
(:file "solver" :depends-on ("package")))))
:description "A toy project for solving Sudoku 9x9 puzzles"
:long-description
#.(with-open-file
(stream (merge-pathnames
#p"README.org" (or *load-pathname* *compile-file-pathname*))
:if-does-not-exist nil :direction :input)
(when stream
(let ((seq (make-array (file-length stream)
:element-type 'character
:fill-pointer t)))
(setf (fill-pointer seq) (read-sequence seq stream)) seq)))
:in-order-to ((test-op (load-op :sudoku-solver-test))
(sudoku-solver-asd:doc-op (load-op :sudoku-solver-doc)))
:perform (test-op :after (op c)
(funcall (intern (string '#:run!) :sudoku-solver.test)
:sudoku-solver.test)))
(defsystem :sudoku-solver-test
:author "Oleg Sivokon <olegsivokon@gmail.com>"
:description "Minimal test suite for testing sudoku-solver"
:license "MIT"
:depends-on (:sudoku-solver :fiveam)
:components ((:module "tests"
:serial t
:components
((:file "package")
(:file "suite" :depends-on ("package"))
(:file "test-solver" :depends-on ("suite"))))))
(defsystem :sudoku-solver-doc
:author "Oleg Sivokon <olegsivokon@gmail.com>"
:description "Documentation for sudoku-solver package"
:license "MIT"
:depends-on (:sudoku-solver :atdoc :cl-fad)
:components ((:module "doc"
:serial t
:components
((:file "package")
(:file "gendoc" :depends-on ("package"))))))