<ceylon-compile>
Ant task
Usage
Note: You must declare the tasks with a <typedef>
.
To compile the module com.example.foo
whose source code is in the
src
directory to a module repository in the build
directory, with
verbose compiler messages:
<target name="compile" depends="ceylon-ant-taskdefs">
<ceylon-compile src="src" out="build" verbose="true">
<module name="com.example.foo"/>
</ceylon-compile>
</target>
Description
Compiles Ceylon and Java source code and directly produces module and source archives in a module repository.
The <ceylon-compile>
ant task wraps the ceylon compile
command.
Attributes
Attribute | Description | Required |
---|---|---|
cacheRep |
Equivalent to the |
No |
config |
Equivalent to the |
No |
cwd |
Equivalent to the |
No |
encoding |
Equivalent to the |
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: |
No |
generateModuleInfo |
Equivalent to the |
No |
inheritAll |
Whether a task should inherit environment and properties. Only applies when |
No |
noDefaultRepositories |
Equivalent to the |
No |
noMtimeCheck |
When |
No |
noOsgi |
Equivalent to the |
No |
noPom |
Equivalent to the |
No |
offline |
Equivalent to the |
No |
osgiProvidedBundles |
Equivalent to the |
No |
out |
Equivalent to the |
No |
overrides |
Equivalent to the |
No |
pack200 |
Equivalent to the |
No |
pass |
Equivalent to the |
No |
resource |
Equivalent to the |
No |
resultProperty |
The ant property to set to the Ceylon program exit code |
No |
stacktraces |
Equivalent to the |
No |
sysRep |
Equivalent to the |
No |
user |
Equivalent to the |
No |
verbose |
Equivalent to the |
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 |
<files>
A <fileset>
containing Ceylon and Java files to be compiled (incremental compilation)
<javacOption>
Equivalent to the --javac
command line option.
Passes an option to the underlying java compiler.
For example:
<javac key="-encoding">UTF-8</javac>
or
<javac key="-encoding" value="UTF-8"/>>
Element | Description | Required |
---|---|---|
key |
The name of the |
Yes |
value |
The value of the |
No |
<module>
A module to be compiled
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>
Modules to be compiled
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 |
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 |
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 |
No |
<resource>
Equivalent to the --resource
command line option.
Path to directory containing resource files. Can be specified multiple times; you can also specify several paths separated by your operating system's PATH
separator. (default: ./resource
)
Element | Description | Required |
---|---|---|
value |
The source path. |
No |
<source>
A <source>
path, specifying a source path, for example:
<source>my/src/directory</source>
or
<source value="/src/directory"/>
Equivalent to the --src
command line option.
Path to directory containing source files. Can be specified multiple times; you can also specify several paths separated by your operating system's PATH
separator. (default: ./source
)
Element | Description | Required |
---|---|---|
value |
The source path. |
No |
<sourceModules>
Modules to be compiled
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 |
<src>
Synonymous with <source>
Element | Description | Required |
---|---|---|
value |
The source path. |
No |
<suppressWarning>
Equivalent to the --suppress-warning
command line option.
Suppress the reporting of the given warnings. If no warnings
are given then suppresss the reporting of all warnings, otherwise just suppresss those which are present. Allowed flags include: filenameNonAscii
, filenameCaselessCollision
, deprecation
, compilerAnnotation
, doclink
, expressionTypeNothing
, unusedDeclaration
, unusedImport
, ceylonNamespace
, javaNamespace
, suppressedAlready
, suppressesNothing
, unknownWarning
, ambiguousAnnotation
, similarModule
, importsOtherJdk
, javaAnnotationElement
.
Suppresses compiler warnings. Warnings can be suppressed by type, for example
<suppressWarning>filenameNonAscii</suppressWarning>
or eqiuvalently
<suppressWarning value="filenameNonAscii">
or all warnings can be suppressed by not naming any specific warnings:
<suppressWarning/>
Element | Description | Required |
---|---|---|
value |
The name of the warning(s) to be suppressed. |
No |