<ceylon-run> Ant task

Usage

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

-To execute the com.example.foo.lifecycle.start top level method in version 1.1 of module com.example.foo residing in the build directory (repository):

<target name="execute" depends="ceylon-ant-taskdefs">
  <ceylon-run run="com.example.foo.lifecycle.start"
    module="com.example.foo/1.1">
    <rep url="build"/>
  </ceylon-run>
</target>

Description

Executes a Ceylon program

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

Attributes

Attribute Description Required
module

The name and optional version of the module to run

Yes
autoExportMavenDependencies

Equivalent to the --auto-export-maven-dependencies command line option. When using JBoss Modules (the default), treats all module dependencies between Maven modules as shared.

No
cacheRep

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

No
compile

Equivalent to the --compile command line option. Determines if and how compilation should be handled. Allowed flags include: never, once, force, check.

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

Equivalent to the --flat-classpath command line option. Launches the Ceylon module using a flat classpath.

No
fork

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

No
inheritAll

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

No
linkWithCurrentDistribution 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
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
resultProperty

The ant property to set to the Ceylon program exit code

No
run

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

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

No

Nested elements

<arg>

An argument to be passed to the module

Element Description Required
value

A command line argument to be passed to the module.

No

<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

<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

See also