## Synopsis
`ceylon doc [--cacherep=<url>] [--cwd=<dir>] [--define=<key>=<value>...] [--doc=<dirs>...] [--encoding=<encoding>] [--ignore-broken-link] [--ignore-missing-doc] [--link=<dir-or-url>...] [--maven-overrides=<url>] [--no-default-repositories] [--non-shared] [--offline] [--out=<dir-or-url>] [--pass=<secret>] [--rep=<url>...] [--source=<dirs>...] [--source-code] [--src=<dir>...] [--sysrep=<url>] [--user=<name>] [--verbose[=<flags>]] [--] <modules...>`

## Description
The default module repositories are `modules` and http://modules.ceylon-lang.org/repo/1, and the default source directory is `source`. The default output module repository is `modules`. The `<modules>` are the names (with an optional version) of the modules to compile the documentation of. The documentation compiler searches for compilation units belonging to the specified modules in the specified source directories and in source archives in the specified module repositories. For each specified module, the compiler generates a set of XHTML pages in the module documentation directory (the module-doc directory) of the specified output module repository. The compiler searches for source in the following locations: source archives in the specified repositories, and module directories in the specified source directories. If no version identifier is specified for a module, the module is assumed to exist in a source directory.

## Options
`--cacherep=url` | Specifies the folder to use for caching downloaded modules. (default: `~/.ceylon/cache`)
`--cwd=dir` | Specifies the current working directory for this tool. (default: the directory where the tool is run from)
`--define=key>=<value`, `-D key>=<value` | Set a system property
`--doc=dirs` | A directory containing your module documentation (default: `./doc`)
`--encoding=encoding` | Sets the encoding used for reading source files (default: platform-specific)
`--ignore-broken-link` | Do not print warnings about broken links.
`--ignore-missing-doc` | Do not print warnings about missing documentation.
`--link=dir-or-url` | The URL or path of a module repository containing documentation for external dependencies. The URL must use one of the supported protocols (http://, https:// or file://) or be a path to a directory. The argument can start with a module name prefix, separated from the URL by a `=` character, so that only those external modules whose name begins with the prefix will be linked using that URL. Can be specified multiple times. Examples:
    --link http://modules.ceylon-lang.org/repo/1
    --link ceylon.math=http://modules.ceylon-lang.org/repo/1
    --link com.example=http://example.com/ceylondoc/
`--maven-overrides=url` | Specifies the xml file to use to load Maven artifact overrides.
`--no-default-repositories` | Indicates that the default repositories should not be used.
`--non-shared` | Includes documentation for package-private declarations.
`--offline` | Enables offline mode that will prevent the module loader from connecting to remote repositories.
`--out=dir-or-url` | The URL of the module repository where output should be published (default: `./out`)
`--pass=secret` | Sets the password for use with an authenticated output repository.
`--rep=url` | Specifies a module repository containing dependencies. Can be specified multiple times. (default: `modules`, `~/.ceylon/repo`, http://modules.ceylon-lang.org/repo/1)
`--source=dirs` | An alias for `--src` (default: `./source`)
`--source-code` | Includes source code in the generated documentation.
`--src=dir` | A directory containing Ceylon and/or Java source code (default: `./source`)
`--sysrep=url` | Specifies the system repository containing essential modules. (default: `$CEYLON_HOME/repo`)
`--user=name` | Sets the user name for use with an authenticated output repository.
`--verbose[=flags]` | Produce verbose output. If no `flags` are given then be verbose about everything, otherwise just be verbose about the flags which are present. Allowed flags include: `all`, `loader`.

## EXAMPLE
The following would compile the `org.hibernate` module source code found in the `~/projects/hibernate/src` directory to the repository `~/projects/hibernate/build`:
    ceylon doc org.hibernate/3.0.0.beta \
        --src ~/projects/hibernate/src \
        --out ~/projects/hibernate/build