Fix collects for setup with single-collect package
Before this commit, raco would try to setup each subdirectory inside of a single collection package as separate collects.
This commit is contained in:
parent
a899083ff8
commit
03e0e4c43a
|
@ -1250,20 +1250,23 @@
|
|||
(define (get-setup-collects pkg-directories metadata-ns)
|
||||
(maybe-append
|
||||
(for/list ([pkg-dir (in-list pkg-directories)])
|
||||
(get-metadata metadata-ns pkg-dir
|
||||
'setup-collects (lambda () (package-collections
|
||||
pkg-dir
|
||||
metadata-ns))
|
||||
#:checker (lambda (v)
|
||||
(unless (or (eq? v 'all)
|
||||
(and (list? v)
|
||||
(for ([c (in-list v)])
|
||||
(or (path-string? c)
|
||||
(and (list? c)
|
||||
(pair? c)
|
||||
(andmap path-string? c))))))
|
||||
(pkg-error "bad 'setup-collects value\n value: ~e"
|
||||
v)))))))
|
||||
(define single-collect
|
||||
(pkg-single-collection pkg-dir #:namespace metadata-ns))
|
||||
(or (and single-collect (list single-collect))
|
||||
(get-metadata metadata-ns pkg-dir
|
||||
'setup-collects (lambda () (package-collections
|
||||
pkg-dir
|
||||
metadata-ns))
|
||||
#:checker (lambda (v)
|
||||
(unless (or (eq? v 'all)
|
||||
(and (list? v)
|
||||
(for ([c (in-list v)])
|
||||
(or (path-string? c)
|
||||
(and (list? c)
|
||||
(pair? c)
|
||||
(andmap path-string? c))))))
|
||||
(pkg-error "bad 'setup-collects value\n value: ~e"
|
||||
v))))))))
|
||||
|
||||
(define (pkg-install descs
|
||||
#:old-infos [old-infos empty]
|
||||
|
|
3
collects/tests/pkg/test-pkgs/pkg-test3-v3/info.rkt
Normal file
3
collects/tests/pkg/test-pkgs/pkg-test3-v3/info.rkt
Normal file
|
@ -0,0 +1,3 @@
|
|||
#lang setup/infotab
|
||||
(define single-collection "pkg-test3")
|
||||
|
4
collects/tests/pkg/test-pkgs/pkg-test3-v3/main.rkt
Normal file
4
collects/tests/pkg/test-pkgs/pkg-test3-v3/main.rkt
Normal file
|
@ -0,0 +1,4 @@
|
|||
#lang racket/base
|
||||
|
||||
(printf "pkg-test3/main loaded\n")
|
||||
(exit 0)
|
3
collects/tests/pkg/test-pkgs/pkg-test3-v3/subdir/README
Normal file
3
collects/tests/pkg/test-pkgs/pkg-test3-v3/subdir/README
Normal file
|
@ -0,0 +1,3 @@
|
|||
This subdir exists to test that raco pkg correctly handles
|
||||
single collections with subdirectories inside them.
|
||||
|
|
@ -27,4 +27,10 @@
|
|||
$ "raco pkg create --format plt test-pkgs/raco-pkg"
|
||||
$ "raco raco-pkg" =exit> 1
|
||||
$ "raco pkg install test-pkgs/raco-pkg.plt"
|
||||
$ "raco raco-pkg" =exit> 0)))
|
||||
$ "raco raco-pkg" =exit> 0))
|
||||
|
||||
(with-fake-root
|
||||
(shelly-case
|
||||
"raco install uses raco setup with single collect"
|
||||
$ "raco pkg install test-pkgs/pkg-test3-v3" =exit> 0)))
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user