forked from hankhero/cl-json
-
Notifications
You must be signed in to change notification settings - Fork 5
/
cl-json.asd
53 lines (43 loc) · 2.25 KB
/
cl-json.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
;;; -*- Mode: LISP; Syntax: ANSI-COMMON-LISP; Base: 10 -*-
;;; Copyright (c) 2006-2012 Henrik Hjelte
;;; Copyright (c) 2008 Hans Hübner (code from the program YASON)
;;; All rights reserved.
;;; See the file LICENSE for terms of use and distribution.
(defpackage #:json-system
(:use :cl :asdf :uiop))
(in-package #:json-system)
(pushnew :cl-json *features*)
#-no-cl-json-clos ;; Does not work with SBCL 1.0.17, this is a way to turn it off
(progn
#+(or mcl openmcl cmu sbcl clisp ecl scl lispworks allegro abcl genera)
(pushnew :cl-json-clos *features*))
(defsystem :cl-json
:name "cl-json"
:description "JSON in Lisp. JSON (JavaScript Object Notation) is a lightweight data-interchange format."
:version "0.6.0"
:author "Henrik Hjelte <[email protected]>"
:maintainer "Robert P. Goldman <[email protected]>"
:licence "MIT"
:in-order-to ((test-op (test-op "cl-json/test")))
:components ((:module "src"
:components ((:file "package")
(:file "common" :depends-on ("package"))
#+cl-json-clos
(:file "objects" :depends-on ("package"))
(:file "camel-case" :depends-on ("package"))
(:file "decoder" :depends-on ("common" #+cl-json-clos "objects" "camel-case"))
(:file "encoder" :depends-on ("common" #+cl-json-clos "objects" "camel-case"))
(:file "utils" :depends-on ("decoder" "encoder"))
(:file "json-rpc" :depends-on ("package" "common" "utils" "encoder" "decoder"))))))
(defsystem :cl-json/test
:depends-on (:cl-json :fiveam )
:components ((:module :t
:components ((:file "package")
(:file "testmisc" :depends-on ("package" "testdecoder" "testencoder"))
(:file "testdecoder" :depends-on ("package"))
(:file "testencoder" :depends-on ("package"))))))
(defmethod perform ((op test-op) (c (eql (find-system :cl-json/test))))
(funcall (intern (symbol-name '#:run!) :it.bese.FiveAM)
(intern (symbol-name '#:json) :json-test)))
(defparameter *cl-json-directory*
(system-relative-pathname "cl-json" ""))