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

< LDT
Revision as of 10:23, 21 September 2012 by Kkinfoo.sierrawireless.com (Talk | contribs) (File structure)

Execution Environment

An Execution Environment, which may also be referred to as EE, is file containing information about the environment on which a lua application will be executed.

So, If you want enable some IDE features (autocompletion, code documentation, ...) for a given execution environment (Lua 5.1, Corona, mihini, Gideros, ...) you can create your own custom EE, there are just a few rules to follow the type of the file and its inner structure.

You could share your execution environment here.

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
    • template/
      • main.lua
    • *.rockspeck

api.zip is a regular ZIP archive containing Lua API files written with the right format.
You could generate these api files from your source code (lua and C) with LuaDocumentor command line tool.(perhaps one day LuaDocumentor will be able to generate the complete execution environment)
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. (see LuaDocumentor)

template/ is a folder where it is possible to define code templates related to current EE. So far, this directory is only browsed seeking for main.lua and nothing else. This main.lua represent the typical start point of an application using the EE currently defined. This file will be opened automatically by Koneki LDT after creating a project linked to the current EE.

*.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