## Synopsis
`ceylon copy [--all] [--cacherep=<url>] [--cwd=<dir>] [--docs] [--include-language] [--js] [--jvm] [--maven-overrides=<file>] [--no-default-repositories] [--offline] [--out=<url>] [--overrides=<file>] [--pass=<secret>] [--rep=<url>...] [--scripts] [--src] [--sysrep=<url>] [--timeout=<seconds>] [--user=<name>] [--verbose[=<flags>]] [--with-dependencies] [--] <module...>`

## Description
Copies a module or a set of modules from one repository to another. If set for recursive copying it will also copy all the module's dependencies and their dependencies until the entire module tree has been copied. NB: This tool will only copy between Ceylon repositories.

## Options
`--all` | Include everything (equivalent to `--jvm`, `--js`, `--docs`, `--src`, `--scripts`) (default: `false`)
`--cacherep=url` | Specifies the folder to use for caching downloaded modules. (default: `~/.ceylon/cache`)
`--cwd=dir` | Specifies the current working directory for this tool. (default: the directory where the tool is run from)
`--docs` | Include documentation (default: `false`)
`--include-language` | Determines if the language module should be copied as well, implies `--with-dependencies` (default is `false`)
`--js` | Include artifacts compiled for JavaScript (`.js` and `-model.js`) (default: `true`)
`--jvm` | Include artifacts compiled for the JVM (`.car` and `.jar`) (default: `true`)
`--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.
`--out=url`, `-o url` | Specifies the output module repository (which must be publishable). (default: `./modules`)
`--overrides=file` | Specifies the XML file to use to load module overrides. See http://ceylon-lang.org/documentation/current/reference/repository/maven/ for information. Experimental.
`--pass=secret` | Sets the password for use with an authenticated output repository (no default).
`--rep=url` | Specifies a module repository containing dependencies. Can be specified multiple times. (default: `modules`, `~/.ceylon/repo`, `https://modules.ceylon-lang.org/repo/1`)
`--scripts` | Include scripts (default: `false`)
`--src` | Include sources (default: `false`)
`--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).
`--user=name` | Sets the user name for use with an authenticated output repository (no default).
`--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`, `files`.
`--with-dependencies`, `-r` | Recursively copy all dependencies

## Repositories
Repositories like those specified with the `--rep` or `--out` options can be file paths, HTTP urls to remote servers or can be names of repositories when prepended with a `+` symbol. These names refer to repositories defined in the configuration file or can be any of the following predefined names `+SYSTEM`, `+CACHE`, `+LOCAL`, `+USER`, `+REMOTE` or `+MAVEN`. For more information see https://ceylon-lang.org/documentation/1.3/reference/repository/tools