An extensible XML scripting language

Downloads/API

  • Ogrescript can be most easily run inside ELF, which can be downloaded here.
  • Ogrescript Javadocs can be accessed at: API.
  • A set of Ogrescript sample scripts, many of which are reproduced in full or in part as the examples in this guide, may be accessed here: sample scripts.

Purpose/History

Ogrescript is a descendent of OGRE; it is the language native to ELF, and thus meant to be run inside of the ELF container, which is built on the Eclipse (OSGI) platform framework. Hence, Ogrescript is organized as a series of plug-ins.

The Ogrescript runtime has eliminated all dependencies on Ant for its build and execute mechanism; there are no more target nodes or top-level DAG dependencies. The structure of Ogrescript is simply that of a scripting language. Work continues to take place via task objects, but the XML now simply represents a single line of execution.

Ogrescript still runs in an environment, but this is now locally unified, in the sense that there are no separate build properties (i.e., write-once variables) to manage outside of the Ogrescript framework as there were in OGRE.

Tasks are still XML elements configured via their attributes and children, and which do something inside their execute method. Return values are now made available by adding markers to the task itself.

User's Guide

The attached pages constitute a fairly complete user's guide to Ogrescript.

  • Ogrescript Basics explains the syntax and Java semantics of Ogrescript XML, with basic coding principles.
  • Control Flow illustrates the programming constructs (branching, looping, parallelism, etc.) made available in Ogrescript.
  • Plugins & Tasks serves as a manual for the tasks/tags included in the standard Ogrescript distribution.

Since version 0.6+, the user would do well to read the Ogrescript Gotchas; these are admittedly peripheral issues but they may creep up unexpectedly on the coder who is comfortable using the more advanced features of the script.


For a recent set of optimizations done to Ogrescript's build mechanism (since version 0.6), see under 2. Looping.
  • No labels