## Synopsis
`ceylon jigsaw [--cacherep=<url>] [--cwd=<dir>] [--exclude-module=<moduleOrFile>...] [--force] [--jdk-provider=<module>] [--link-with-current-distribution] [--maven-overrides=<file>] [--no-default-repositories] [--offline] [--out=<dir>] [--overrides=<file>] [--rep=<url>...] [--static-metamodel] [--sysrep=<url>] [--timeout=<seconds>] [--verbose[=<flags>]] [--] <mode> <module...>`

## Description
There is currently one mode of action: `create-mlib`: Generates an mlib folder suitable for Java 9 tools to run a given Ceylon module The list of modules specified can have their versions set, but if missing we will try to find the version from the current source path. If the list of modules is omitted, we will use the list of modules found in the current source path.

## 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)
`--exclude-module=moduleOrFile`, `-x moduleOrFile` | Excludes modules from the resulting folder. Can be a module name or a file containing module names. Can be specified multiple times. Note that this excludes the module from the resulting folder, but if your modules require that module to be present at runtime it will still be required and may cause your application to fail to start if it is not provided at runtime.
`--force` | Force generation of mlib folder with multiple versions of the same module.
`--jdk-provider=module` | Alternate JDK provider module (defaults to the current running JDK).
`--link-with-current-distribution` | Downgrade which were compiled with a more recent version of the distribution to the version of that module present in this distribution (1.3.0). This might fail with a linker error at runtime. For example if the module depended on an API present in the more recent version, but absent from 1.3.0. Allowed arguments are upgrade, downgrade or abort. Default: upgrade
`--maven-overrides=file` | Specifies the XML file to use to load Maven artifact overrides. See http://ceylon-lang.org/documentation/current/reference/repository/maven/ for information. Deprecated: use --overrides.
`--no-default-repositories` | Indicates that the default repositories should not be used.
`--offline`, `-L` | Enables offline mode that will prevent connections to remote repositories.
`--out=dir`, `-o dir` | Folder in which to place the resulting jars (defaults to `mlib`).
`--overrides=file` | Specifies the XML file to use to load module overrides. See http://ceylon-lang.org/documentation/current/reference/repository/maven/ for information. Experimental.
`--rep=url` | Specifies a module repository containing dependencies. Can be specified multiple times. (default: `modules`, `~/.ceylon/repo`, `https://modules.ceylon-lang.org/repo/1`)
`--static-metamodel` | Generate a static metamodel descriptor (default: `false`).
`--sysrep=url` | 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).
`--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`.