ceylon assemble [--cacherep=<url>] [--cwd=<dir>] [--dart] [--exclude-module=<moduleOrFile>...] [--force] [--include-language] [--include-runtime] [--jdk-provider=<module>] [--js] [--jvm] [--link-with-current-distribution] [--maven-overrides=<file>] [--no-default-repositories] [--offline] [--out=<file>] [--overrides=<file>] [--rep=<url>...] [--run=<toplevel>] [--sysrep=<url>] [--timeout=<seconds>] [--verbose[=<flags>]] [--] <module...>


Generate an executable assembly which contains the given module and all its run-time dependencies, including the Ceylon run-time, which makes that jar self-sufficient and executable by java as if the Ceylon module was run by ceylon run.



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)


Include artifacts compiled for Dart (.dart and -dartmodel.json) (default: true)

--exclude-module=moduleOrFile, -x moduleOrFile

Excludes modules from the resulting far jat. 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 assembly, 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.


Ignore errors about conflicting modules.


Include the language module and its dependencies in the assembly. to ensures that the assembly can be run stand-alone using Java without having Ceylon installed. This option does NOT support module isolation!


Include enough of the Ceylon runtime in the assembly to ensure that the assembly can be run stand-alone using Java without having Ceylon installed. This option supports full module isolation.


Alternate JDK provider module (defaults to the current running JDK).


Include artifacts compiled for JavaScript (.js and -model.js) (default: false)


Include artifacts compiled for the JVM (.car and .jar) (default: true)

Downgrade which were compiled with a more recent version of the distribution to the version of that module present in this distribution (1.3.3). 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.3. 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.

--out=file, -o file

Target assembly file (defaults to {name}-{version}.jar).

--overrides=file, -O file

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 fully qualified name of a toplevel method or class with no parameters. The format is: with :: acting as separator between the package name and the toplevel class or method name (defaults to {module}::run).


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.