10. Command line usage
Usage:
ceylon run ceylon.build.runner your.build.module [<goal...>]
Or, if your build module is in build folder: ceylon build [<goal...>]
$ ceylon build hello
$ ceylon build hello bye
## ceylon.build
# running goals: [hello] in order
# running hello()
hello world
## success duration 0s
## ceylon.build
# running goals: [hello, bye] in order
# running hello()
hello
# running bye()
bye
## success duration 0s
11. Import a set of goals
Goal set definition
Your build module
import ceylon.build.task { goal }
import ceylon.build.tasks.misc { echo }
import ceylon.build.task { include }
shared class FooBar() {
goal shared void foo() {
echo("foo");
}
goal shared void bar() {
echo("bar");
}
}
include shared fooBar = FooBar();
12. Dependency management
• A goal can define dependencies on other
goals
– Dependencies will be executed prior to this goal
– Each goal requested (directly or by dependency)
will only be executed once