3.2 Including and Excluding Functors

--relative

--relative (default), --norelative

All functors that are referred to by relative urls are included. Import urls in the resulting functor remain relative.

--include

--include=URL,...,URL

Include all functors whose url matches one of the comma separated url prefixes.

--exclude

--exclude=URL,...,URL

Exclude all functors whose url matches one of the comma separated url prefixes.

--rewrite

--rewrite=RULE,...,RULE

When the functors are gathered that make up the linked functor, all import URLs are resolved with respect to the importing functor. This means that all file urls become absolute, and as such make up the import of the output functor.

This is often not desirable. In the common case that the imported functors lie in the same directory or in subdirectories as the root functor, the --relative option can be used, in which case the import urls remain relative.

The --rewrite option generalizes this principle: It allows to specify a list of rules of the form  FROM=TO, meaning: If a url has prefix FROM, then replace it by TO. The first matching rule is applied.

Note that multiple --include and --exclude directives can be given on the commandline. They have cummulative effect, with the policy that later directives take precedence over earlier ones. For example:

ozl --include=/foo/ --exclude=/foo/bar/ ...

causes all imports from files below directory /foo to be included except those under directory /foo/bar. We can further refine this policy by introducing an exception to the last exclusion pattern and request inclusion of modules imported from below directory /foo/bar/baz:

ozl --include=/foo/ --exclude=/foo/bar/ --include=/foo/bar/baz/ ...


Denys Duchier, Leif Kornstaedt and Christian Schulte
Version 1.4.0 (20080702)