Synopsis

ceylon run [--assembly=<archive>] [--auto-export-maven-dependencies] [--cacherep=<url>] [--compile[=<flags>]] [--compiler-arguments=<option>...] [--cwd=<dir>] [--flat-classpath] [--link-with-current-distribution] [--maven-overrides=<file>] [--no-default-repositories] [--offline] [--overrides=<file>] [--rep=<url>...] [--run=<toplevel>] [--sysrep=<url>] [--timeout=<seconds>] [--verbose[=<flags>]] [--] [<module>]

Description

Executes the Ceylon program specified as the module argument. The module may optionally include a version.

Options

--assembly=archive, -a archive

Specifies the path to a Ceylon assembly archive that should be executed.

--auto-export-maven-dependencies

When using JBoss Modules (the default), treats all module dependencies between Maven modules as shared.

--cacherep=url

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

--compile[=flags], -c

Determines if and how compilation should be handled. Allowed flags include: never, once, force, check. If no flags are specified, defaults to check.

--compiler-arguments=option

Passes an option to the underlying ceylon compiler.

--cwd=dir

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

--flat-classpath, -F

Launches the Ceylon module using a flat classpath.

Link modules 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

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

--overrides=file, -O 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)

--run=toplevel, -x toplevel

Specifies the fully qualified name of a toplevel method or class to run. The indicated declaration must be shared by the module and have no parameters. The format is: qualified.package.name::classOrMethodName with :: acting as separator between the package name and the toplevel class or method name. (default: module.name::run)

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

Compile flags

The --compile option can take the following flags:

  • never - Never perform any compilation
  • once - Only compile when the compiled module is not available
  • check - Compile when the sources are newer than the compiled module
  • force - Always compile

If the flag is given without an argument it's the same as specifying check. If no flag is given at all it's the same as specifying never.

Configuration file

The run tool accepts the following option from the Ceylon configuration file: runtool.compile, runtool.run, runtool.module and multiple runtool.arg (the equivalent option on the command line always has precedence).

EXAMPLE

The following would execute the com.example.foobar module:

ceylon run com.example.foobar/1.0.0

The following would execute the bob function in the com.example.foobar.gee package of the same previous module:

ceylon run --run com.example.foobar.gee::bob com.example.foobar/1.0.0