Skip to content

Commit 304c5cb

Browse files
committed
Initial commit with repo boilerplate
0 parents  commit 304c5cb

File tree

8 files changed

+129
-0
lines changed

8 files changed

+129
-0
lines changed

.travis.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
services:
2+
- docker
3+
4+
script: make ci-check

Makefile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
LISP_FLAGS = --noinform --disable-debugger --load
2+
LISP := sbcl $(LISP_FLAGS)
3+
IMAGE = commonlispbr/emacs:sbcl
4+
5+
check:
6+
@$(LISP) run-tests.lisp
7+
8+
ci-check:
9+
@docker run -t --entrypoint=/usr/bin/sbcl \
10+
-v $(shell pwd):/workspace \
11+
--security-opt seccomp=unconfined \
12+
$(IMAGE) \
13+
$(LISP_FLAGS) \
14+
run-tests.lisp
15+
@docker run --entrypoint=/bin/rm -t \
16+
-v $(shell pwd):/workspace \
17+
$(IMAGE) \
18+
-rf system-index.txt
19+
20+
.PHONY: check

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# ql-meta
2+
### _Manoel Vilela_
3+
4+
This is a project to do ... something.
5+
6+
## License
7+
8+
Specify license here
9+

ql-meta.asd

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
;;;; ql-meta.asd
2+
3+
(asdf:defsystem #:ql-meta
4+
:description "QL-META tracks multiple Quicklisp distributions"
5+
:author "Manoel Vilela & Lucas Vieira"
6+
:license "MIT"
7+
:version "0.1.0"
8+
:serial t
9+
:pathname "src"
10+
:depends-on (:quicklisp)
11+
:components ((:file "package")
12+
(:file "ql-meta")))
13+
14+
(asdf:defsystem #:ql-meta/test
15+
:description "QL-META test suit"
16+
:author "Manoel Vilela & Lucas Vieira"
17+
:license "MIT"
18+
:version "0.1.0"
19+
:serial t
20+
:pathname "t"
21+
:depends-on (:ql-meta :prove)
22+
:components ((:file "test"))
23+
:perform (asdf:test-op :after (op c)
24+
(funcall (intern #.(string :run) :prove) c)))

run-tests.lisp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
(ql:quickload '(:prove) :silent t)
2+
(eval-when (:load-toplevel :execute)
3+
(pushnew (truename (sb-unix:posix-getcwd/))
4+
ql:*local-project-directories*)
5+
(ql:register-local-projects)
6+
(ql:quickload :ql-meta/test)
7+
(setf prove:*enable-colors* t)
8+
(if (prove:run "t/test.lisp")
9+
(sb-ext:exit :code 0)
10+
(sb-ext:exit :code 1)))

src/package.lisp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
;;;; package.lisp
2+
3+
(defpackage #:ql-meta
4+
(:use #:cl #:quicklisp-client)
5+
(:export :*dists*
6+
:get-dists-names
7+
:get-dists-urls))

src/ql-meta.lisp

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
#|
2+
3+
Manoel Vilela & Lucas Vieira © 2019 MIT
4+
5+
Main usage should be defined as:
6+
7+
(ql:dist-apropos search-str)
8+
(ql:subscribe dist-name)
9+
(ql:unsubscribe dist-name)
10+
(ql:purge dist-name)
11+
12+
|#
13+
14+
(in-package #:ql-meta)
15+
16+
17+
(defparameter *dists*
18+
'((cl-bodge (:url "http://bodge.borodust.org/dist/org.borodust.bodge.txt"
19+
:replace t))
20+
(cl21 (:url "http://dists.cl21.org/cl21.txt")))
21+
"*DISTS* it's PLIST of distributions available in QL-META")
22+
23+
24+
(defun get-dists-urls (&optional (dists *dists*))
25+
"GET-DISTS-URLS return the urls defined in *DISTS*"
26+
(loop for (key plist) in dists
27+
collect (getf plist :url)))
28+
29+
30+
(defun get-dists-names (&optional (dists *dists*))
31+
"GET-DISTS-NAMES return the urls defined in *DISTS*"
32+
(loop for (key plist) in dists
33+
collect key))

t/test.lisp

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
(defpackage #:ql-meta/test
2+
(:use #:cl
3+
#:ql-meta
4+
#:prove))
5+
6+
7+
(in-package :ql-meta/test)
8+
9+
10+
(defparameter *dists-mock*
11+
'((test1 (:url "http://test1.com"))
12+
(test2 (:url "http://test2.com"))))
13+
14+
(plan nil)
15+
16+
(diag "== Sanity checks!")
17+
18+
(is (get-dists-names *dists-mock*) '(test1 test2))
19+
(is (get-dists-urls *dists-mock*) '("http://test1.com"
20+
"http://test2.com"))
21+
22+
(finalize)

0 commit comments

Comments
 (0)