digital-scurf wikiAranha > Repository Layout

Aranha repository layout

The idea of this page is to rough out the layout of the [arch] repository in which Aranha will reside.

Notes

Aranha cribs code from two major places. Firstly the Lua 5.1 tree. Into which we will be adding several changes which while they could stand-alone and be useful to others, really they will be for Aranha. (You can find those .LanguageModifications on the Wiki) Secondly Aranha will be cribbing code from (although not using in its entirety) the FastCGI? devkit.

Aranha will comprise three major modules.

  1. Aranha Branco will be the actual language implementation. Based on [Lua] (5.1 most likely) but with several language changes documented on the .LanguageModifications page.
  2. Aranha Azul will be the core. It will provide everything which cannot be left to extensions. This is things like the FastCGI? listener, the cache system and the core request model. Aranha Azul will also contain the class system and other fundamentals which are compiled into the executable.
  3. Aranha Verde will be the system modules. They will be implemented as extensions and also module-type wrappers for all the functionality presented by the core. Since the very core of Aranha will have to fire off the request handling in the Lua land at some point, the aranha.request module offers the a method to do this. You *can* override it from the Lua end during the preload phase, but we'd recommend against it. Aranha Verde also contains things like the make system tools and compiler subcommands for the system.
  4. Aranha Vermelha will be the vendor-supplied extension modules. These are implemented exactly how a user might implement a module for distribution. They will contain things such as aranha.dbi.core and aranha.dbi (OO variant on the top). Also aranha.gd2 and aranha.md5. All modules supplied in Aranha Vermelha will be in the aranha.* namespace. This namespace is reserved for the Aranha team.

The three modules together will comprise Aranha.

The first two modules will need each other in order to build. Or rather, Aranha Azul and Aranha Verde must reside in the same tree in terms of building. The actual link is purely that Aranha Verde will need to be compiled by the compiler built in Aranha Azul and that Aranha Azul will need the results of compiling Aranha Verde in order to produce the final aranha.fcgi binary.