raco setup: make --check-pkg-deps require dependency declarations

By default, `raco setup` skips checking dependencies when a package
declares no dependencies. Make `--check-pkg-deps` check in that
case, too.
This commit is contained in:
Matthew Flatt 2014-07-07 09:41:19 +01:00
parent 6922ba8c23
commit 5c5bc86915
3 changed files with 12 additions and 7 deletions

View File

@ -180,13 +180,16 @@ flags:
package-level dependency declarations, whether modules are declared
by multiple packages, and whether package version dependencies are
satisfied. Dependency checking uses compiled bytecode, associated
@filepath{.dep} files, and the documentation index. Dependency
checking is disabled by default if any collection is specified for
@exec{raco setup}.}
@filepath{.dep} files, and the documentation index. Unless
@DFlag{check-pkg-deps} is specified, dependency checking is disabled
if any collection is specified for @exec{raco setup}, and missing
dependencies are not treated as an error for a package that has no
dependency declarations.}
@item{@DFlag{check-pkg-deps} --- checks package dependencies (unless
explicitly disabled) even when specific collections are provided to
@exec{raco setup}. Currently, dependency checking related to
@exec{raco setup}, and even for packages that have no
dependency declarations. Currently, dependency checking related to
documentation cross-referencing is constrained to documents among
specified collections.}

View File

@ -29,7 +29,8 @@
coll-modes
setup-printf setup-fprintf
check-unused? fix? verbose?
all-pkgs-lazily?)
all-pkgs-lazily?
must-declare-deps?)
;; Tables
(define missing (make-hash))
(define skip-pkgs (make-hash))
@ -128,7 +129,7 @@
(and i (i 'version (lambda () #f)))))))
(define vers (cdr deps+build-deps+vers))
(define deps+build-deps (car deps+build-deps+vers))
(unless deps+build-deps
(unless (or deps+build-deps must-declare-deps?)
(hash-set! skip-pkgs pkg #t)
(setup-printf #f "package declares no dependencies: ~s" pkg))
(define deps+vers (if deps+build-deps

View File

@ -1805,7 +1805,8 @@
(check-unused-dependencies)
(fix-dependencies)
(verbose)
(not no-specific-collections?))
(not no-specific-collections?)
(always-check-dependencies))
(set! exit-code 1)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;