CoreBuilding
From Vexi
Contents |
Build Core Jar
In an empty directory, $build, check out buildcore project:
svn co https://vexi.svn.sourceforge.net/svnroot/vexi/trunk/core/buildcore
If it asks you whether to accept the certificate, make sure you accept it permanently. The build file is not interactive and fails if it cannot do SVN checkouts automatically. Alternatively you can check out the required projects manually into '$build/' directory.
You need to create a file '$build/buildcore/build.conf' with the following two lines:
build=BUILD version=VERSION
Replace BUILD and VERSION with appropriate values e.g. build=3.0 and version=3163.
Depending on your Java defaults, you may need to make sure that ant executes in a JRE with a larger stack size than the default (this is for the bytecode shrinkage step - which presumably uses a lot of recursion). This is done using the JVM property:
-Xss128m
This depends how you are running ant, see http://ant.apache.org/manual/running.html for information on how to set JVM properties. Unfortunately there doesn't seem to be a completely standard way to make sure it is set.
In $build/buildcore run:
ant
This should build the core jar.
Building the developer core
There is a developer version of the jar, which is referred to as the Vexi devl jar. It has at the time of writing the following extra features:
- parse time checking
- debugger (unmaintained)
Currently building it is slightly more involved as the debugger has a few extra dependencies. Execute the following to make sure the extra projects are checked out in to the '$build' location:
svn co https://vexi.svn.sourceforge.net/svnroot/vexi/trunk/core/org.vexi.devl svn co https://vexi.svn.sourceforge.net/svnroot/vexi/trunk/core/org.vexi.debugclient svn co https://vexi.svn.sourceforge.net/svnroot/vexi/trunk/widgets/org.vexi.widgets
Then back in $build/buildcore execute:
ant buildcore_devl
This should build the development version of the jar.
In Eclipse
If you wish to modify or debug the core then you may wish to get it set up so that the core builds in eclipse.
Checking out
Using a SVN client which is integrated into eclipse
Requirements:
- SVN client (subversive or subclipse)
Using the svn client check out all the required projects. In the subversion client (once you are setup) navigate to the core directory in trunk. Check out all of its children. Should be about nine projects. Do not check it out as one project.
https://vexi.svn.sourceforge.net/svnroot/vexi/trunk/core/
For good measure (and because the org.vexi.devl has a dependency on the widgets) check out org.vexi.widgets:
https://vexi.svn.sourceforge.net/svnroot/vexi/trunk/widgets/org.vexi.widgets
Using the commandline
Follow the steps for building a core jar, except do it in your workspace directory. Then you will have all the projects checked out. Then all you need to do is import the projects.
Preprocess
Vexi uses preprocessing, converting .jpp files to .java. As eclipse does not understand .jpp files the building is not seamless (In fact Vexi plugin was actually written to do continuous compilation of .jpp files for the adventurous - ask about it on the development lists, its currently not checked into SVN).
You need to run the task 'src_gen_all' on the build.xml in the buildcore project. This will do all the preprocessing. However as eclipse is not aware of changes to files in external processes it will not be aware of these new .java files being created for it to compile. There are two solutions:
- Refresh manually after running src_gen_all (select all projects, context menu refresh)
- Run src_gen_all in the same JVM as eclipse. In which case the build file will notify eclipse that it needs to refresh. This can be done by selecting the option in the ant run dialog's JRE tab.
After preprocessing and if the workspace is uptodate all the eclipse projects should have built without errors (assuming vexi trunk/core compiles). Enjoy!!

