get-compile-directory-srcs returns list of sources to compile

This commit is contained in:
Kevin Tew 2010-06-24 13:57:06 -06:00
parent fe60da72c8
commit c320d63f01

View File

@ -144,7 +144,7 @@
(let ([zo (append-zo-suffix b)]) (let ([zo (append-zo-suffix b)])
(compile-to-zo f zo n prefix verbose? mod?))))) (compile-to-zo f zo n prefix verbose? mod?)))))
(define (compile-directory dir info (define (compile-directory-visitor dir info worker
#:verbose [verbose? #t] #:verbose [verbose? #t]
#:skip-path [orig-skip-path #f] #:skip-path [orig-skip-path #f]
#:skip-doc-sources? [skip-docs? #f]) #:skip-doc-sources? [skip-docs? #f])
@ -156,7 +156,7 @@
orig-skip-path) orig-skip-path)
#f)))) #f))))
(unless (eq? 'all omit-paths) (unless (eq? 'all omit-paths)
(parameterize ([current-directory dir] (let ([init (parameterize ([current-directory dir]
[current-load-relative-directory dir] [current-load-relative-directory dir]
;; Verbose compilation manager: ;; Verbose compilation manager:
[manager-trace-handler (if verbose? [manager-trace-handler (if verbose?
@ -180,18 +180,43 @@
null null
(map car (info* 'scribblings (lambda () null)))))] (map car (info* 'scribblings (lambda () null)))))]
[sses (remove* omit-paths sses)]) [sses (remove* omit-paths sses)])
(for-each (make-caching-managed-compile-zo) sses))) (worker null sses)))])
(when (compile-subcollections)
(when (info* 'compile-subcollections (lambda () #f)) (if (compile-subcollections)
(printf "Warning: ignoring `compile-subcollections' entry in info ~a\n" (begin
dir)) (when (info* 'compile-subcollections (lambda () #f))
(for ([p (directory-list dir)]) (printf "Warning: ignoring `compile-subcollections' entry in info ~a\n"
(let ([p* (build-path dir p)]) dir))
(when (and (directory-exists? p*) (not (member p omit-paths))) (for/fold ([init init]) ([p (directory-list dir)])
(compile-directory p* (c-get-info/full p*) (let ([p* (build-path dir p)])
#:verbose verbose? (worker
#:skip-path skip-path (if (and (directory-exists? p*) (not (member p omit-paths)))
#:skip-doc-sources? skip-docs?))))))) (compile-directory-visitor p* (c-get-info/full p*) worker
#:verbose verbose?
#:skip-path skip-path
#:skip-doc-sources? skip-docs?)
null)
init))))
init))))
(define (compile-directory dir info
#:verbose [verbose? #t]
#:skip-path [orig-skip-path #f]
#:skip-doc-sources? [skip-docs? #f])
(define (worker prev sses)
(for-each (make-caching-managed-compile-zo) sses))
(compile-directory-visitor dir info worker
#:verbose verbose?
#:skip-path orig-skip-path
#:skip-doc-sources? skip-docs?))
(define (get-compile-directory-srcs dir info
#:verbose [verbose? #t]
#:skip-path [orig-skip-path #f]
#:skip-doc-sources? [skip-docs? #f])
(compile-directory-visitor dir info append
#:verbose verbose?
#:skip-path orig-skip-path
#:skip-doc-sources? skip-docs?))
(define (compile-collection-zos collection (define (compile-collection-zos collection
#:skip-path [skip-path #f] #:skip-path [skip-path #f]