forgot to add this file
This commit is contained in:
parent
89dc7afd02
commit
5384fef66e
39
collects/rico/all-tools.ss
Normal file
39
collects/rico/all-tools.ss
Normal file
|
@ -0,0 +1,39 @@
|
|||
#lang scheme/base
|
||||
|
||||
(require setup/getinfo)
|
||||
(provide all-tools)
|
||||
|
||||
(define (all-tools)
|
||||
(let* ([dirs (find-relevant-directories '(rico))]
|
||||
[tools (make-hash)])
|
||||
(for ([i (in-list (map get-info/full dirs))]
|
||||
[d (in-list dirs)])
|
||||
(let ([entries (let ([l (i 'rico (lambda () null))])
|
||||
(if (list? l)
|
||||
l
|
||||
(list l)))])
|
||||
(for ([entry (in-list entries)])
|
||||
(cond
|
||||
[(and (list? entry)
|
||||
(= (length entry) 4)
|
||||
(string? (car entry))
|
||||
(module-path? (cadr entry))
|
||||
(string? (caddr entry))
|
||||
(or (not (list-ref entry 3))
|
||||
(real? (list-ref entry 3))))
|
||||
(let ([p (hash-ref tools (car entry) #f)])
|
||||
(when p
|
||||
(fprintf
|
||||
(current-error-port)
|
||||
"warning: tool ~s registered twice: ~e and ~e"
|
||||
(car entry)
|
||||
(car p)
|
||||
d)))
|
||||
(hash-set! tools (car entry) entry)]
|
||||
[else
|
||||
(fprintf
|
||||
(current-error-port)
|
||||
"warning: ~s provided bad `rico' spec: ~e"
|
||||
d
|
||||
entry)]))))
|
||||
tools))
|
Loading…
Reference in New Issue
Block a user