Back to main page
The 'ubiman' build directory has the following layout:
- bin (Working directory during development and testing)
- dist (Distribution folder including a 'trackman' subdirectory which contains symlinks to runtime libraries under 'lib', the binary under 'bin' and documentation files under 'doc' to be included in the distribution package)
- doc (Documentation)
- lib (Needed runtime libraries extracted from the packages in 'vendor').
- projects (eclipse project folders containing project-specific sources)
- src (Generic source code, independent of trackman)
- vendor (3rd party libraries including source code and source code documentation, if available, needed for integration in eclipse)
The following steps have to be carried out in order to start development using Eclipse and a fresh ubiman checkout.
- Install eclipse, either using the system's package management (Unix) or using the installer from the download site
- Install the subclipse svn plugin. See http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA for information how to install this.
Important: Install the correct version to avoid incompatibilities with your other subversion clients (e.g. TurtoiseSVN or svn command line) installed on the system.
- Check out SVN repository 'ubiman' (https://@camplinux.in.tum.de/ubiman)
- Check out SVN repository 'ubitrack' (https://@camplinux.in.tum.de/ubitrack). You will need it at least for importing pattern template files.
- In Eclipse, create a workspace located somewhere outside of the 'ubiman' directory tree
- Create project
- Choose 'Create project from existing source'
- As project path, select 'ubiman/trunk/projects/trackman' (within the checked-out tree)
- As name choose 'trackman', for example.
- In the 'Java settings' dialog, below 'Libraries', create a variable named 'LIBS' and let it point to the directory 'ubiman/trunk/libs'. Create a variable named 'UBITRACK_LIBS' and let it point to the directory 'ubitrack/libs'.
- Confirm pressing 'Finish'. The Subclipse plugin detects automatically that the development directory tree is already under version control and offers svn functionality, for example in the project tree's context menu. (Info: The latter did not work with Subversive)
- In the menu, choose 'Windows->Preferences', open the 'Java->Compiler' dialog and set 'Compiler compliance level' to '6.0'
- Add the Java3D libraries to the SDK by adding them to the SDK(s) listed in Window->Preferences->Java->Installed JREs
- Create 'Launch configuration'
- Open the 'Debug'-Dialog
- In tab 'Main' set the name of the configuration, e.g. 'trackman'. As 'Main class', set 'ubiman.UbitrackManager'
- In tab 'Arguments' choose 'Other' as 'Working directory', click on 'Variables' and create a variable, named 'UBIMAN_BUILDDIR' for example and let it point to the absolute path of the 'ubiman/trunk' directory. Back in the 'Arguments' tab, append '/bin' to this variable. This is necessary because in '/bin', there are symlinks to the pattern template files needed on trackman startup for importing the pattern templates from.
- In the 'Windows' menu, choose 'Preferences', go to 'Java->Code Style->Formatter' and import the 'javastyle.xml' contained in the 'projects/trackman' folder.
The following changes apply for working on branches
- To create a branch, use the following command line (assuming revision 255):
svn copy https://email@example.com/ubiman/trunk@255 https://firstname.lastname@example.org/ubiman/branches/RELEASE_1_00_00 -m "Creating release 1.00.00 branch"
This creates the branch on the svn server.
- Checkout the branch.
- Create 'bin' subdirectory
- Create symlink to 'doc/utql/patterns' directory of your Ubitrack installation (or copy the files there)
- Maybe create an appropriate 'trackman.conf' file
- Maybe create an appropriate 'log4cpp.conf' file
- In Eclipse, create a new project for this branch in your workspace, as above, but with the following changes (assuming version string 1_00_00):
- Use different project name, e.g. 'trackman_1_00_00'
- Use 'LIBS_1_00_00' instead of 'LIBS'. Don't forget to adapt the settings for all jar files!
- Use 'UBITRACK_LIBS_1_00_00' instead of 'UBITRACK_LIBS'. Don't forget to adapt the settings for 'ubitrack.jar'!
- Use 'UBIMAN_BUILDDIR_1_00_00' instead of 'UBIMAN_BUILDDIR'. Don't forget to adapt the working directory in the 'Launch configuration'!
- Before creating a release on the new branch, don't forget to adapt 'trackman.jardesc'! Adapt all paths to point into the branch but don't change filenames of 'manifest.mf' and 'trackman.jardesc' since those files already exist in the branch. Dual versions would just lead to confusion.