Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

LDT/User Area/Execution Environment file format

Execution Environment

An Execution Environment, which may also be referred to as EE, is file containing information about the environment where a Lua application could run. You can create your own custom EE, there are just a few rules to follow the type of the file and its inner structure.

File format

An EE is simply a regular .zip file.

File structure

To be a valid EE, a ZIP file root must respect the following tree structure.

  • /
    • api.zip
    • docs/
      • index.html
    • *.rockspeck

api.zip is a regular ZIP archive containing Lua source files documented with the right format.
Note: All the globals variable your will defined in global.lua will be considered as preloaded global variables, this means they will be always available in LDT autocompletion.

docs is a folder containing html documentation files. index.html is the file opened by LDT when user ask for EE documentation.

*.rockspeck enable to specify information about an EE, it is strongly inspired by the Rockspeck format. So far, following fields have been added to match LDT needs:

  • api
  • documentation
  • flags

You may have noticed that api.file is set to 'api.zip' and documentation.dir to 'docs'. Do not change those values in the *.rockspec you write, it will have no effect.
As I am writing, all parameters are hard coded, except:

  • package
  • version

It is temporary, we will soon handle all *.rockspec settings. This why you must write valid *.rockspec to be compliant with up coming versions of LDT.

A sample of EE manifest

package = "lua"
version = "5.1"
flags = { ee = true }
description = {
   summary = "Lua 5.1 Execution Environment",
   detailed = [[ Lua 5.1 Execution Environment Support]],
   licence = "MIT",
   homepage= "http://www.lua.org/manual/5.1/manual.html"
}
api = {
   file = "api.zip"
}
documentation ={
  dir="docs"
}

Back to the top