ceylon --version
ceylon [--stacktraces] [--paginate] [--no-pager] [--show-home] [--cwd=<dir>] [--config=<file>] [--no-config] [--define=<key>=<value>...] [--distribution=<version-or-url>] [--java=<options>] [--] <command> [<command‑options...>] [<command‑args...>]


If --version is present, print version information and exit. Otherwise <tool-arguments> should begin with the name of a ceylon tool or a list of comma-separated tool names which will be invoked one after the other with the same remaining command line arguments. The named tools are loaded and configured with the remaining command line arguments and control passes to those tools.

  • assemble - Generate a Ceylon assembly for a given module

  • bootstrap - Generates a Ceylon bootstrap script in the current directory

  • browse - Open module documentation in the browser

  • classpath - Prints a classpath suitable for passing to Java tools to run a given Ceylon module

  • compile - Compiles Ceylon and Java source code and directly produces module and source archives in a module repository.

  • compile-js - Compiles Ceylon source code to JavaScript and directly produces module and source archives in a module repository

  • config - Manages Ceylon configuration files

  • copy - Copies modules from one Ceylon module repository to another

  • doc - Generates Ceylon API documentation from Ceylon source files

  • doc-tool - Generates documentation about a tool

  • fat-jar - Generate a Ceylon executable jar for a given module

  • help - Displays help information about other Ceylon tools

  • import-jar - Imports a jar file into a Ceylon module repository

  • info - Prints information about modules in repositories

  • jigsaw - Tools to interop with Java 9 (Jigsaw) modules

  • maven-export - Generate a Maven repository for a given module

  • new - Generates a new Ceylon project

  • plugin - Manages Ceylon command-line plugins

  • run - Executes a Ceylon program on the JVM

  • run-js - Executes a Ceylon program on Node.js

  • src - Fetches source archives from a repository and extracts their contents into a source directory

  • test - Executes tests on the JVM

  • test-js - Executes tests on Node.js

  • version - Shows and updates version numbers in module descriptors

  • war - Generates a WAR file from a compiled .car file

See ceylon help <command> for more information about a particular subcommand.



Specifies the configuration file to use for this tool. (default: ./.ceylon/config)


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

--define=key>=<value, -D key>=<value

Set a system property


Determines which Ceylon distribution will be used to run the command. Passing any version except the current (1.3.3) will result in a one-time download of the requested version from the official Ceylon website.


Flags added to the java command line, overriding the JAVA_OPTS environment variable.


Specifies that no configuration file should be loaded for this tool.


Do not pipe Ceylon tool output into a pager.


Pipe all Ceylon tool output into less (or if set, $CEYLON_PAGER or $PAGER) if standard output is a terminal. This overrides the help.pager and defaults.pager configuration options (see the "Configuration Mechanism" section below).


Outputs the value for CEYLON_HOME and exits.


If an error propagates to the top level tool, print its stack trace.

--version, -v

Print version information and exit, ignoring all other options and arguments.


Ceylon uses a simple text format to store customizations that are per repository and are per user. Such a configuration file may look like this:

# A '#' or ';' character indicates a comment.

; global settings
    encoding = utf8
    pager = false

; local repository
[repository "LOCAL"]
    url = ./modules

Various commands read from the configuration file and adjust their operation accordingly. See ceylon-config(1) for a list and more details about the configuration mechanism.