-
Notifications
You must be signed in to change notification settings - Fork 22
/
software-evolution-library.asd
118 lines (107 loc) · 5.15 KB
/
software-evolution-library.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
(defsystem "software-evolution-library"
:author "Eric Schulte and GrammaTech"
:licence "GPL V3"
:description "programmatic modification and evaluation of extant software"
:long-description "A common interface abstracts over multiple
types of software objects including abstract syntax trees parsed from
source code, LLVM IR, compiled assembler, and linked ELF binaries.
Mutation and evaluation methods are implemented on top of this
interface supporting Search Based Software Engineering (SBSE)
techniques."
:version "0.0.0"
:depends-on (software-evolution-library/software-evolution-library)
:class :package-inferred-system
:defsystem-depends-on (:asdf-package-system)
:in-order-to ((test-op (load-op "software-evolution-library/test")))
:perform
(test-op (o c) (symbol-call :software-evolution-library/test '#:run-batch)))
(register-system-packages
"software-evolution-library/software-evolution-library"
'(:software-evolution-library))
(register-system-packages "eclector" '(:eclector.parse-result
:eclector.readtable
:eclector.reader))
(register-system-packages "trivia" '(:trivia.fail))
;; This one needs a defsystem to ensure fare-quasiquote-extras is loaded.
(defsystem "software-evolution-library/utility/fare-qq"
:author "Eric Schulte and GrammaTech"
:licence "GPL V3"
:description "Workaround to load fare-quasiquote-extras."
:version "0.0.0"
;; This is the reason for this whole defsystem.
:depends-on ("fare-quasiquote-extras")
;; NB For this to work, the system name must be the same as the
;; package name, but the file name must be different. This way, when
;; the package-inferred-system search fails to match a file named
;; utility/fare-qq.lisp, ASDF falls back to the explicit
;; utility/fare-qq defsystem, which loads utility/qq.lisp, but the
;; package-inferred system still finds the utility/fare-qq package
;; it expects.
:components ((:file "utility/qq")))
(defsystem "software-evolution-library/terminal"
:author "Eric Schulte and GrammaTech"
:licence "GPL V3"
:description "Primitives for inspecting and working with a terminal."
:depends-on (:gt :cffi :cl-interpol)
:defsystem-depends-on (:cffi-grovel)
:serial t
:components ((:file "terminal-package")
(:cffi-grovel-file "terminal-grovel")
(:file "terminal-impl")))
;;;; Tests and binaries.
(defsystem "software-evolution-library/run-tree-sitter-interface"
:author "Eric Schulte and GrammaTech"
:licence "GPL V3"
:description "Command-line interface to SEL's tree-sitter ASTs."
:version "0.0.0"
:depends-on (software-evolution-library/python/lisp/tree-sitter-interface)
:build-operation "asdf:program-op"
:build-pathname "bin/tree-sitter-interface"
:entry-point "software-evolution-library/python/lisp/tree-sitter-interface:run-tree-sitter-interface")
(defsystem "software-evolution-library/run-tree-sitter-py-generator"
:author "Eric Schulte and GrammaTech"
:licence "GPL V3"
:description "Command-line interface to generate python classes from SEL's tree-sitter types."
:version "0.0.0"
:depends-on (software-evolution-library/python/lisp/tree-sitter-py-generator)
:build-operation "asdf:program-op"
:build-pathname "bin/tree-sitter-py-generator"
:entry-point "software-evolution-library/python/lisp/tree-sitter-py-generator:run-tree-sitter-py-generator")
(defsystem "software-evolution-library/deploy-tree-sitter-interface"
:author "Eric Schulte and GrammaTech"
:licence "GPL V3"
:description "Command-line interface to SEL's tree-sitter ASTs.
Deployed as a stand-alone bundle with all libraries required by the
executable including the including all tree-sitter libraries."
:version "0.0.0"
:defsystem-depends-on (:deploy)
:depends-on (software-evolution-library/python/lisp/tree-sitter-interface)
:build-operation "deploy-op"
:build-pathname "../python/asts/tree-sitter-interface"
:entry-point "software-evolution-library/python/lisp/tree-sitter-interface:run-tree-sitter-interface")
(defsystem "software-evolution-library/run-test-parse"
:author "Eric Schulte and GrammaTech"
:license "GPL V3"
:description "Test CLI for use with creduce"
:depends-on (software-evolution-library/components/test-parse)
:build-operation "asdf:program-op"
:build-pathname "bin/test-parse"
:entry-point "software-evolution-library/components/test-parse:run-test-parse")
(defsystem "software-evolution-library/run-rest-server"
:author "Eric Schulte and GrammaTech"
:licence "GPL V3"
:description "Run a REST server exposing SEL APIs."
:version "0.0.0"
:depends-on (software-evolution-library/rest)
:build-operation "asdf:program-op"
:build-pathname "bin/rest-server"
:entry-point "software-evolution-library/rest::run-rest-server")
(defsystem "software-evolution-library/run-dump-store"
:author "Eric Schulte and GrammaTech"
:licence "GPL V3"
:description "Dump store file for a program"
:version "0.0.0"
:depends-on (software-evolution-library/components/dump-store)
:build-operation "asdf:program-op"
:build-pathname "bin/dump-store"
:entry-point "software-evolution-library/components/dump-store::run-dump-store")