AspOEv Build instructions: Because several elements of the AspOEv framework are either preprocessed or generated, a successful build can be a bit tricky. Here are instructions on how to install AspOEv so it will compile and run correctly. 1.) Install Jasmine - Install the Jasmine database and persistent Java (pJ). This of course gives AspOEv it's back-end. Make sure pJ.zip is on your CLASSPATH 2.) Install JavaCUP and AspectJ. For AspOEv to build correctly, you must have java_cup.Main on your CLASSPATH, as well as a successful AspectJ installation. 3.) Create and set the environment variable 'ASPOEV_HOME' to point to the root AspOEv directory. NOTE: Because of some explicit filename references in some of the AspOEv Java classes you may* get some errors if Aspoev is not installed in "c:\AspOEv". (* by 'may', of course I mean 'will'). To sort this, I will have to find some way of evaluating environment variables from Java. Next, add %ASPOEV_HOME%\build to your PATH so that the build batchfiles will be seen. 3.) Once AspOEv is correctly installed, you have to build it. To do this with the batch files provided, you'll need the compiler 'jikes', or you can change them all and use a compiler of your choice. 4.) Building the Framework! (a) Building the parser. If everything up to this point has been done succesfully, this should be as easy as running BuildParser.bat (b) Preprocess the persistent AspOEv Java classes with JPP. This creates the necessary runtime structures for mapping Java to Jasmine's CAPI. If everything is installed correctly, this can be done by running BuildJPP.bat (c) Populate Jasmine with proper entities. If this is your first build, or you have changed the structure of a persistent AspOEv class (ie, added / removed / altered a field) +------------------------+ | | | Build files provided: | | | +------------------------+ Build.bat - Performs a complete build of the framework by calling BuildClean.bat, BuildJPP.bat, BuildOOBase.bat BuildSchema.bat BuildAJC.bat BuildAJC.bat - Compiles framework aspects from bindings and weaves them into the framework with the aspect j compiler, 'ajc' BuildClean.bat - Deletes all generated files and classfiles BuildDynamicObject.bat - This batch file is generated by the Vejal compiler when types are evolved and finalized - basically, this file populates Jasmine with appropriate ODQL files for the new type. BuildLite.bat - For development purposes, builds the framework without populating the Jasmine schema. This cuts build time by about 5 minutes, and also does not wipe out any Vejal data in the store BuildOOBase.bat - Builds the Core OO components of the framework BuildParser.bat - Uses Java CUP to build the parser from the Vejal Grammar. Expect 1 shift / reduce conflict from if / if .. else. Any more conflicts and you've made the grammer non LALR parsable. Now go back and fix it. BuildSchema.bat - Populates the Jasmine Database with ODQL objects defined by JPP (and put in %ASPOEV_HOME%\classfiles\jcode). This must be run to allow persistence of framework and user level objects. (Meta data and Vejal objects.) compile.bat - Uses a list of Vejal files (%ASPOEV_HOME%\schema.lst) to compile Vejal definitions and populate the schema with the appropriate ODQL structures. BuildVejalSchema.bat - A batch file generated by the Vejal compiler to populate Jasmine with ODQL files resulting from the compilation of Vejal files in Schema.lst BuildSlice.bat - A batch file generated by the Vejal compiler when the creation of a composite object requires the definition of an object slice in the database (ODQL definition). BuildJPP.bat - Runs JPP on framework classes to make them persistent. BuildTrace.bat - Builds a tracing aspect into the framework which traces all method executions. See the %ASPOEV_HOME%\trace directory. TraceTransactions.bat - Builds a tracing aspect into the framework which traces the execution of transaction code. TracePersist.bat - Deprecated. Used to trace calls to 'persist' on framework objects BuildAspectTrace.bat - Builds a tracing aspect into the framework which traces both OO and AO operation. BuildJavaDoc.bat - Generates JavaDoc documentation and places it in %ASPOEV_HOME%\doc\JavaDoc