<ceylon-copy> Ant task

Usage

Note: You must declare the tasks with a <typedef>.

To copy the module com.example.foo with all its dependencies to a module repository in the build directory:

<target name="copy" depends="ceylon-ant-taskdefs">
  <ceylon-copy out="build" recursive="true">
    <module name="com.example.foo" version="1.5"/>
  </ceylon-copy>
</target>

Description

Copies modules from one module repository to another

The <ceylon-copy> ant task wraps the ceylon copy command.

Attributes

Attribute Description Required
all

Equivalent to the --all command line option. Include everything (equivalent to --jvm, --js, --docs, --src, --scripts) (default: false)

No
cacheRep

Equivalent to the --cacherep command line option. Specifies the folder to use for caching downloaded modules. (default: ~/.ceylon/cache)

No
config

Equivalent to the --config command line option. Specifies the configuration file to use for this tool. (default: ./.ceylon/config)

No
cwd

Equivalent to the --cwd command line option. Specifies the current working directory for this tool. (default: the directory where the tool is run from)

No
docs

Equivalent to the --docs command line option. Include documentation (default: false)

No
errorProperty

The ant property to set to true in the event of an error

No
executable

The location of the ceylon executable script.

No
failOnError

Whether an error in executing this task should fail the ant build

No
fork

Whether the task should be run in a separate VM (default: false)

No
inheritAll

Whether a task should inherit environment and properties. Only applies when forked == true.

No
js

Equivalent to the --js command line option. Include artifacts compiled for JavaScript (.js and -model.js) (default: true)

No
jvm

Equivalent to the --jvm command line option. Include artifacts compiled for the JVM (.car and .jar) (default: true)

No
noDefaultRepositories

Equivalent to the --no-default-repositories command line option. Indicates that the default repositories should not be used.

No
offline

Equivalent to the --offline command line option. Enables offline mode that will prevent connections to remote repositories.

No
out

Equivalent to the --out command line option. Specifies the output module repository (which must be publishable). (default: ./modules)

No
overrides

Equivalent to the --overrides command line option. Specifies the XML file to use to load module overrides. See http://ceylon-lang.org/documentation/current/reference/repository/maven/ for information. Experimental.

No
pass

Equivalent to the --pass command line option. Sets the password for use with an authenticated output repository (no default).

No
resultProperty

The ant property to set to the Ceylon program exit code

No
scripts

Equivalent to the --scripts command line option. Include scripts (default: false)

No
src

Equivalent to the --src command line option. Include sources (default: false)

No
stacktraces

Equivalent to the --stacktraces command line option. If an error propagates to the top level tool, print its stack trace.

No
sysRep

Equivalent to the --sysrep command line option. Specifies the system repository containing essential modules. (default: $CEYLON_HOME/repo)

No
user

Equivalent to the --user command line option. Sets the user name for use with an authenticated output repository (no default).

No
verbose

Equivalent to the --verbose command line option. 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.

No
withDependencies

Equivalent to the --with-dependencies command line option. Recursively copy all dependencies

No

Nested elements

<define>

A <define> element is used to set system properties for the ant task being executed. Equivalent to the --define command line option. Set a system property

The value for the system property can either be passed as a value attribute:

<define key="org.example.helloworld.greeting" value="Hi"/>

or it can be the text between the begin and end tags:

<define key="org.example.helloworld.greeting">Hi</define>

Alternatively, it is posible to dispense with the attributes and use the syntax

<define>org.example.helloworld.greeting=Hi</define>
Element Description Required
key

The property to be defined

No
value

The value of the define

No

<module>

A module to copy.

A <module> element must specify a name, and may specify a version. If the relevant ceylon task don't require a version it will be ignored.

Element Description Required
name

The module name.

Yes
version

The module version. Whether this is required depends on the task

No

<moduleSet>

A set of modules to copy.

A <moduleset> containing a number of <sourcemodule>s and/or <module> subelements. It can be defined at the top level and then used by reference using the refid attribute, so you don't have to repeat the same list of modules all the time.

Element Description Required
refid

A reference to a <moduleset> defined elsewhere.

No

<rep>

A module repository containing dependencies. Can be specified multiple times. Defaults to <rep url="./modules"/>.

Element Description Required
url

The URL or path of the module repository.

Yes, unless a `refid` is given
refid

A reference to a <rep> defined outside this task.

No

<reposet>

A set of module repositories containing dependencies. Can be specified multiple times. Default to modules.

A <reposet> element contains a number of <repo> and/or <reposet> elements. It can be defined at the top level, and then used by reference using the refid attribute so you don't have to repeat the same list of repositories all the time.

Element Description Required
refid

A reference to a <reposet> defined elsewhere.

No

<sourceModules>

A set of modules to copy.

Includes all the ceylon modules in a given source directory, as specified by the dir attribute. This saves you having to explicitly list all the modules to be compiled, you can instead just compile all the modules in a given directory.

Element Description Required
dir

The directory containing module source files

No

See also