Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Ceylon runtime environment around bootstrapping and module isolation
Java JavaScript

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
api
bin Added `.plugin` files for all tool commands in the runtime project (c…
bootstrap A tiny typo
debug Updated the JBoss Modules sources jar to the latest version as well (#62
dist/repo Added model loader and CMR parts to model module
impl Register all boot modules in the metamodel
lib Updated the JBoss Modules jar to version 1.3.3.Final (#62)
spi
testsuite
.classpath Added model loader and CMR parts to model module
.gitattributes
.gitignore Made Git ignore Eclipse's .settings folder
.project Made it possible to use ANT to build the project
README.md Fixed README to point to the correct Ceylon distribution build instru…
build.properties
build.xml
pom.xml

README.md

CEYLON RUNTIME

Build and test the Ceylon runtime

For setting up the development environment and compiling and building the distribution take a look at ceylon-dist.

If after having built the distribution you want to build and test the runtime return to ceylon-runtime and run

ant clean publish

To run the tests type

ant test

Building with Maven (obsolete)

This project can also be built using Maven. THe above procedure is preferred though. There are a few steps needed to be able to build and test the project.

  • We need to install Ceylon Language and Common into our local Maven repository.

mvn install:install-file -Dfile=ceylon.language-0.6.car -DgroupId=ceylon.language -DartifactId=ceylon-language -Dversion=0.6 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true

mvn install:install-file -Dfile=com.redhat.ceylon.common-0.6.jar -DgroupId=com.redhat.ceylon -DartifactId=ceylon-common -Dversion=0.6 -Dpackaging=jar -DgeneratePom=true -DcreateChecksum=true

  • We need to checkout and build (mvn clean install) Ceylon Module Resolver project (CMR).

https://github.com/ceylon/ceylon-module-resolver

The CMR build version must match the one used in this project -- see root pom.xml.

The Runtime uses JBoss Modules to build modular runtime system. Initially JBoss Modules uses out dist/ directory as its modules repository. This includes modules we need on the "bootstrap":

  • Ceylon Language
  • Ceylon Module Resolver
  • Ceylon Runtime
  • JBoss Modules (as a module info, actual classes are part of system classpath)

dist/ repository is built as part of the testsuite sub-project build. jars are copied from our Maven repository, while the module.xml information is static.

This is the part that the user needs locally. To ease things, we create a zipped version of dist/ repository, and place it under /ceylon-runtime-bootstrap/ceylon-runtime-bootstrap.zip In order to use this zipped module repository we need to use custom ModuleLoader - DistributionModuleLoader. (see ceylon.sh script for the actual usage) DistributionModuleLoader explodes (if not already present) this zipped repository at initialization, and places the exploded repository under /ceylon-runtime-bootstrap/ceylon-runtime-bootstrap-exploded directory. You can force update with -Dforce.bootstrap.update=true system property flag.

Afterwards Ceylon Runtime uses Ceylon Module Resolver to get its modules. By default we use ~/.ceylon/repo as local CMR repository, but different repositories can be mounted. (proper mounting API is wip)

In order to run your Ceylon app / module, you need to first place it into ~/.ceylon/repo. Then you can use dist/bin/ceylon.sh to run the app / module.

ceylon.sh expects module name and version as its only parameter. e.g. ./ceylon.sh hello/1.0.0 --> [full module name]/[version], where default version is 0.0.0 if left out

(I think the version atm needs to be in the form x.y.z[.qualifier]).

Something went wrong with that request. Please try again.