ceylon jigsaw [--cacherep=<url>] [--cwd=<dir>] [--force] [--link-with-current-distribution] [--maven-overrides=<url>] [--no-default-repositories] [--offline] [--output-folder=<out>] [--overrides=<url>] [--rep=<url>...] [--sysrep=<url>] [--timeout=<seconds>] [--verbose[=<flags>]] [--] <mode> <module>


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.



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)


Force generation of mlib folder with multiple versions of the same module.

Downgrade which were compiled with a more recent version of the distribution to the version of that module present in this distribution (1.2.2). 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.2.2. Allowed arguments are upgrade, downgrade or abort. Default: upgrade


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.

--offline, -L

Enables offline mode that will prevent connections to remote repositories.


Folder in which to place the resulting jars (defaults to mlib).


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


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


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.