## Synopsis
`ceylon run [--auto-export-maven-dependencies] [--cacherep=<url>] [--compile[=<flags>]] [--cwd=<dir>] [--flat-classpath] [--maven-overrides=<url>] [--no-default-repositories] [--offline] [--overrides=<url>] [--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
`--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]` | Determines if and how compilation should be handled. Allowed flags include: `never`, `once`, `force`, `check`.
`--cwd=dir` | Specifies the current working directory for this tool. (default: the directory where the tool is run from)
`--flat-classpath` | Launches the Ceylon module using a flat classpath.
`--maven-overrides=url` | 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=url` | 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`, `http://modules.ceylon-lang.org/repo/1`)
`--run=toplevel` | Specifies the fully qualified name of a toplevel method or class with no parameters. The format is: `qualified.package.name::classOrMethodName` with `::` acting as separator between the package name and the toplevel class or method name.
`--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`.

## Configuration file
The run tool accepts the following option from the Ceylon configuration file: `runtool.compile` (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