Files

1.2 KiB

package-zipper

Creates a clean, versioned ZIP archive of the current Racket package.

(require package-zipper)
(zip-package)

zip-package reads version from the current directory's info.rkt. For a directory named racket-upnp with version "5.0", it creates:

../racket-upnp-5.0.zip

The ZIP recursively contains the package files, except for:

  • .git
  • compiled
  • names ending in ~
  • names ending in .bak
  • .html, .js, and .css files below scribblings, scribbles, or scrbl

The built-in directory and extension comparisons are case-insensitive.

Additional exclusions can be supplied with #:exclude:

(zip-package
 #:exclude
 (list "tmp"
       (string->path "examples/generated")
       #rx"^tests/data/"))

An exclusion string matches a file or directory name anywhere in the relative path. A path value matches that relative path and everything below it. A regular expression is matched against the complete relative path, using / as the path separator. Custom string and path comparisons are case-sensitive.

Install this source directory as a linked package during development:

raco pkg install --auto --link .