ceylon doc [--browse] [--cacherep=<url>] [--cwd=<dir>] [--doc=<dirs>...] [--encoding=<encoding>] [--footer=<footer>] [--header=<header>] [--ignore-broken-link] [--ignore-missing-doc] [--ignore-missing-throws] [--link=<dir-or-url>...] [--maven-overrides=<file>] [--no-default-repositories] [--non-shared] [--offline] [--out=<url>] [--overrides=<file>] [--pass=<secret>] [--rep=<url>...] [--resource-folder=<dir>] [--source=<dirs>...] [--source-code] [--src=<dir>...] [--sysrep=<url>] [--timeout=<seconds>] [--user=<name>] [--verbose[=<flags>]] [--] [<modules...>]


The default module repositories are modules and, 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.



Open module documentation in browser.


Specifies the folder to use for caching downloaded modules. (default: ~/.ceylon/cache)


Specifies the current working directory for this tool. (default: the directory where the tool is run from)


A directory containing your module documentation (default: ./doc)


Sets the encoding used for reading source files (default: platform-specific)

Sets the footer text to be placed at the bottom of each page.


Sets the header text to be placed at the top of each page.

Do not print warnings about broken links.


Do not print warnings about missing documentation.


Do not print warnings about missing throws annotation.

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.


--link ceylon.math=
--link com.example=

Specifies the XML file to use to load Maven artifact overrides. See for information. Deprecated: use --overrides.


Indicates that the default repositories should not be used.


Includes documentation for package-private declarations.


Enables offline mode that will prevent the module loader from connecting to remote repositories.

--out=url, -o url

Specifies the output module repository (which must be publishable). (default: ./modules)

--overrides=file, -O file

Specifies the XML file to use to load module overrides. See for information. Experimental.


Sets the password for use with an authenticated output repository (no default).


Specifies a module repository containing dependencies. Can be specified multiple times. (default: modules, ~/.ceylon/repo,


A directory name, where the documentation resources (css, js, ...) will be placed (default: .resources)


An alias for --src (default: ./source)


Includes source code in the generated documentation.


A directory containing Ceylon and/or Java source code (default: ./source)


Specifies the system repository containing essential modules. (default: $CEYLON_HOME/repo)

--timeout=seconds, -T seconds

Sets the timeout for connections to remote repositories, use 0 for no timeout (default: 20).


Sets the user name for use with an authenticated output repository (no default).

--verbose[=flags], -d

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, cmr.


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


Repositories like those specified with the --rep or --out options can be file paths, HTTP urls to remote servers or can be names of repositories when prepended with a + symbol. These names refer to repositories defined in the configuration file or can be any of the following predefined names +SYSTEM, +CACHE, +LOCAL, +USER, +REMOTE or +MAVEN. For more information see