Ceylon CLI plugin to package WildFly Swarm applications written in Ceylon
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.ceylon
script/ceylon/swarm
source/ceylon/swarm
.classpath
.gitignore
.project
LICENSE
README.md
build.properties
build.xml

README.md

Ceylon Swarm CLI plugin

Let's you write WildFly Swarm applications in Ceylon.

This plugin for the Ceylon command line toolset adds the command ceylon swarm which repackages a Ceylon module as a Wildfly Swarm "fat" .jar containing all needed dependencies, and allowing you to execute the Swarm service using java -jar.

Installation

To install the latest production release of the plugin on a machine which already has Ceylon 1.3.0 or above installed, just type:

ceylon plugin install ceylon.swarm/1.3.4-SNAPSHOT

If you need to install Ceylon, you can get it here:

https://ceylon-lang.org/download/

Alternatively, you can build and install the plugin from source.

Building from source

With ant

git clone https://github.com/ceylon/ceylon.swarm
cd ceylon.swarm
ant install

The buildfile assumes that ceylon-dist (including the Ceylon ant files) is a sibling folder; otherwise, you might have to adjust the paths in build.properties.

Then, inside this folder, install the plugin using:

ceylon plugin install

Usage

Create a WildFly Swarm module by importing the needed Java EE API modules in module.ceylon:

native("jvm")
module my.module "1.0" {
  import maven:"javax:javaee-api" "7.0";
}

Then write your application, and run the swarm plugin from the command line:

ceylon swarm --provided-module javax:javaee-api my.module/1.0

This creates a fat .jar named my.module-1.0-swarm.jar.

Finally, run the service using java -jar:

java -jar my.module-1.0-swarm.jar

You'll find a much more complete example here:

https://github.com/DiegoCoronel/ceylon-jboss-swarm/

Contact

If you've found a bug or want to suggest a feature, report an issue.

License

The content of this repository is released under the ASL v2.0 as provided in the LICENSE file that accompanied this code.

By submitting a "pull request" or otherwise contributing to this repository, you agree to license your contribution under the license mentioned above.