VTP Release Procedure
Last updated 2012.12.10
Anyone, in theory, can produce a release of the VTP software. Here are
the steps that i go through, to serve as a guide for anyone else to follow, or for
anyone interested in the process.
The process starts on a Windows machine, switches to Linux, and back again.
Your Windows machine should have a folder C:\Distrib
where the scripts
etc. will expect to assemble their files.
- Check Mercurial (Bitbucket)
- Make sure that there are no un-commited files. This is important to make sure that the
Mercurial version of
the source code and the released version are in synch.
- Update the Version Number
- This is in the file vtp/TerrainSDK/vtdata/Version.h
- Build Everything with MSVC
- When you run CMake, put the output in folder with the compiler
version, e.g. for Visual Studio 2015,
C:\vtp\vc14
- Load the VTP workspace and compile
both configurations Debug and Release for
every project.
- Check for warnings and smooth compilation.
- Test on Windows
- Do as much testing as you have time for. Load the common data
sets, try at least the common operations.
- Build Everything on Linux
- This confirms that nothing broke compilation with the gcc compiler.
- Test on Linux
- Each application has to be manually launched in its own directory, e.g.
cd VTBuilder
./VTBuilder
- Do as much testing as you have time for.
- Back on Windows, generate the source code documentation.
- Ensure that you have doxygen (and graphviz, for the "dot" program)
installed and on your path.
- In the folder VTP/TerrainSDK/vtdata, the command
doxygen
will generate output in C:\vtp\TerrainSDK\Doc\vtdata
- In the folder VTP/TerrainSDK/vtlib, the command
doxygen
will generate output in C:\vtp\TerrainSDK\Doc\vtlib
- In the folder VTP/TerrainApps/Enviro, the command
doxygen
will generate output in C:\vtp\TerrainSDK\Doc\enviro
- Upload the source code documentation. This can either be done on Linux,
or on Windows with Cygwin.
- Use the shell scripts, e.g.
From the 'vtp' folder:
./Scripts/upload_lib_docs.sh
- or you can manually copy up the doc files.
- We used to use scripts to create the source distribution Zip files, but
these are now easy to get from the BitBucket repository site, so no need.
- If any APIs have changed versions, rebuild their Windows binary zips?
We did this for years, but actually, this is just too difficult, and
unlikely to work in the case of MSVC Debug libraries, so let's just hope
developers can figure out how to build the dependencies themselves.
- Rebuild the Windows Installers
- Launch the Inno Setup Compiler
- Load each of the configurations (found in
VTP/Installers/*.iss
)
- For each configuration, make sure the version data and date at the top (see AppVerName)
are correct and glance through the rest of the script to make sure filenames and directories
are correct and up-to-date.
- Build each. This will create the following two .exe files in
C:\Distrib
setup_vtp.exe
VTBuilder_<date>.exe
- If you are the webmaster, update all URLs in the download and build instructions
on the website. A way to do this that's not error-prone is to do a semi-automatic
seach-and-replace on the release date, e.g. if the previous version was
031024
and the current is 031105
, search and replace
those strings.
- Upload all zipfiles and installer exes that have changed.
From: C:\Distrib
To:
vterrain.org/public_html/dist
- If you are the mailing list moderator, announce the release.
- This can't be done with normal email, but only through the Yahoo! Groups
web interface, which allows you to check the box that says "Send this message
as a Special Notice". This is because many people are only
subscribed to the list to get special notices such as release announements.
- Summarize the changes since the last release by pulling highlights from
the development log.