LunaSuite Pro Logo


Home

Announcements

Features

Documentation

Download

Support

Registration

Developers:
    Overview
    Requirements
    Architecture
    To-Do
    CVS Repository

LunaSuite Pro
Developers : Architecture



This section describes the basic architecture of the LunaSuite. Another good document that describes the LunaSuite at a higher level can be found here


Architecture

The Lunasuite is built up out of about 70 different Newton packages. Each of these packages can be downloaded to the Newton seperately (there are some dependencies, but more about that later), for ease of development. When it comes to release time, a set of AppleScripts will compile all packages without debugging code. When all individual packages have been built the AppleScripts package a selected group of those up in other packages, typically spitting out two or three (during the development period of the LunaSuite we release different compositions for various customers. Some wanted a package with mail only, others desired everything, but without HTML, etc).


Directory Layout

If you want to develop on the LunaSuite you'll need a specific directory layout. I'm not sure to what level this applies to actually developing (NTK might have some internal aliases), but the build scripts really need the following directory layout. When the scripts run they look for a directory called 'Newton', in the current path. This 'Newton' directory can be anywhere on disk (although the desktop might have problems). As the path I had 'Storage:Development:Newton:'. Under that you'll need the following directories:

Storage:Development:Newton:
Storage:Development:Newton:Scripts:
This is the place where all the AppleScripts live (this is a directory you check out from the CVS repository). In this directory you'll also need aliases to all the applications used by the AppleScripts. These aliases need to have the following names (exactly): "Anarchie", "Eudora Pro", "MPW Shell", "Newton Toolkit", "Stuffit Deluxe(tm)" (with the real (tm) sign), "Scriptable Text Editor".
Storage:Development:Newton:Sources:
The directory where the source lives. This is also a directory you check out from the CVS repository. In this directory there's the libraries, the transports, the engines, and some utlities.
Storage:Development:Newton:Tools:
This is where I have all the tools, but it's not strictly necessary to have them here. As long as the aliases in the Script directory are correct...
Storage:Development:Newton:Output:
This is where the LunaSuite puts the output of the build process. You will need to create this directory. The build scripts will assure that the correct sub directories are created.
Storage:Development:Newton:Temporary:
A directory where the LunaSuite stashes temp files used during the build process. You should create this directory.
Storage:Development:Newton:Backups:
This is where the backup process puts the backup files.