April 13, 2018

Ever since the Sling programming language was first introduced, Sling programs have been compiled with the "slingc" compiler, using the Jkop framework as the standard library. This has worked well, and continues to be the best way to make Sling programs. However, some amounts of challenges have been observed in version management, particularly when new versions of the compiler and the Jkop framework have been released.


To address those challenges and more, we decided to create a new command line interface named the "Eqela Command Line Interface" (eqela-cli). This in itself is of course written in Sling, and is available on GitHub. Precompiled .NET executables (which can be used with Mono also on Linux and Mac OS X) are available for direct download on qx.eqela.com. The "eqela" tool provided by eqela-cli normally executes build scripts named "build.qx" (which you will find in all modern Sling projects). Inside the build.qx file, the developer of the software module can then also define the versions of the compiler and libraries used, along with other definitions for how to build the software. The Eqela CLI tool will then download, install and use the appropriate versions of the compilers and libraries for each project. Consider it as the NPM, Maven, Ant and/or Make of Sling development.

To install the Eqela CLI tools, simply download the latest ZIP file for eqela-cli from the above link on qx.eqela.com, and unzip the file. Then the syntax of compiling something with the tool is as simple as:

<path-to-unzipped-directory>/eqela.exe build.qx

If you are on Linux or Mac OS X (using Mono), then prefix the above command with "mono".

This is of course assuming you have a build.qx file available. This is something you would create as a developer, but these are also frequently shipped with existing Sling projects. As a sample, you can download the eqela-samples package from the Eqela Github (this is assuming you have a the git tools installed):

git clone https://github.com/eqela/eqela-samples.git

After doing so, you can use your Eqela tool to compile the samples:

<path-to-eqela-cli>/eqela.exe eqela-samples/build.qx html

If all is well, this would produce a number of "index.html" files in subdirectories of the "build" directory in your eqela-samples. Those can be opened in your web browser.

For sample build.qx files and for authoring your own, do go through the existing ones found inside the projects under the Eqela GitHub account.

(For those of you who were fast enough to use the "qx" tool, eqela-cli now fully and completely replaces qx)

Happy hacking!


Share this article: