48 lines
1.9 KiB
Racket
48 lines
1.9 KiB
Racket
#lang scribble/doc
|
|
@(require "common.ss"
|
|
(for-label file/zip
|
|
file/gunzip
|
|
scheme/file))
|
|
|
|
@title[#:tag "zip"]{@exec{zip} File Creation}
|
|
|
|
@defmodule[file/zip]{The @schememodname[file/zip] library provides
|
|
utilities to create @exec{zip} archive files, which are compatible
|
|
with both Windows and Unix (including Mac OS X) unpacking. The actual
|
|
compression is implemented by @scheme[deflate].}
|
|
|
|
@defproc[(zip [zip-file path-string?][path path-string?] ...)
|
|
void?]{
|
|
|
|
Creates @scheme[zip-file], which holds the complete content of all
|
|
@scheme[path]s. The given @scheme[path]s are all expected to be
|
|
relative path names of existing directories and files (i.e., relative
|
|
to the current directory). If a nested path is provided as a
|
|
@scheme[path], its ancestor directories are also added to the
|
|
resulting zip file, up to the current directory (using
|
|
@scheme[pathlist-closure]). Files are packaged as usual for
|
|
@exec{zip} files, including permission bits for both Windows and Unix
|
|
(including Mac OS X). The permission bits are determined by
|
|
@scheme[file-or-directory-permissions], which does not preserve the
|
|
distinction between owner/group/other permissions. Also, symbolic
|
|
links are always followed.}
|
|
|
|
|
|
@defproc[(zip->output [paths (listof path-string?)]
|
|
[out output-port? (current-output-port)])
|
|
void?]{
|
|
|
|
Zips each of the given @scheme[paths], and packages it as a zip
|
|
``file'' that is written directly to @scheme[out]. Unlike
|
|
@scheme[zip], the specified @scheme[paths] are included as-is; if a
|
|
directory is specified, its content is not automatically added, and
|
|
nested directories are added without parent directories.}
|
|
|
|
|
|
@defboolparam[zip-verbose on?]{
|
|
|
|
A parameter that controls output during a @scheme[zip]
|
|
operation. Setting this parameter to a true value causes @scheme[zip]
|
|
to display to @scheme[(current-error-port)] the filename that is
|
|
currently being compressed.}
|