Documentation/Articles/Overview of Deployment Tool
From NeoAxis 3D Engine Wiki
|Language:||English • Russian||Status:||Approved|
End product deployment tool (DeploymentTool.exe) is an utility to build the release version of the application for a certain platform. This tool provides automation of the end product deployment.
In the end of this article you can find a tutorial on building a package offering a step-by-step manual to use the Deployment Tool.
The General tab includes main settings.
|Output Directory||The folder where files of the final project are copied to.|
|Destination Platform||Target platform. Currently, you can choose either Windows or Mac OS X. Further, more platforms will be available.|
|Include 32-bit binaries||Should 32-bit executables be included to the project.|
|Include 64-bit binaries||Should 64-bit executables be included to the project.|
|Application Directory||Application folder to store user files. Specify here the name of a folder created after a user installs the application on his or her computer.|
|Data Directory Archivation||Should the contents of the Data folder be packed. If the option is on, all resources are packed into a zip file.|
|Default Language||Default language selected from the list. If Autodetect is selected, the language is chosen automatically based on detected locale settings on the user's computer.|
The Components tab allows you to choose components of the engine to include into the final project. You can select libraries and parts of the engine you do or do not want to include. We recommend choosing only those components that you are to use.
The table below shows which components you can select for the given platform.
|Name||Description||Win x86||Win x64||Mac OS X|
|Application_Configurator||Engine configuration utility|
|Application_Game||Project executable. Application entry point, engine initialization, project structure implementation classes, game screen navigation and user interaction.|
|Entity_DecorativeObjectManager||Decorative object manager. Provides rendering of a large number of small 3D objects. You can read the detailed description here.|
|Entity_GridBasedNavigationSystem.||2D-grid based pathfinding system.|
|Entity_HeightmapTerrain||Heightmap based terrains.|
|Entity_RecastNavigationSystem||Navigation mesh pathfinding system.|
|GUIControl_WebBrowserControl||An in-GUI Web browser control.|
|ImportingModel_ASSIMP||Support for Open Asset Import Library to import 3D models to the engine. You can read more about importing models here.|
|ImportingModel_FBX||Support for the FBX format by Autodesk. You can read more about importing models here.|
|MapEditorAddon_ExampleAddonCreation||Example addon for the Map Editor.|
|MapEditorAddon_ExportTo3DModel||Addon for the Map Editor to export selected map objects to a 3D model.|
|PhysicsSystem_ODE||Physics subsystem based on the Open Dynamics Engine library.|
|PhysicsSystem_PhysX||Physics subsystem based on the PhysX library by NVIDIA.|
|ProjectCommon||Common library encompassing various project classes including material types, network services, engine console class, user GUI classes and others.|
|ProjectEnities||Library that includes descriptions of various game classes.|
|RenderingSystem_Direct3D9||Direct3D9 rendering system.|
|RenderingSystem_NULL||Null rendering system. Can be used in a server application.|
|RenderingSystem_OpenGL||OpenGL rendering system.|
|ResourceEditorAddon_ExampleAddonCreation||Example addon for the Resource Editor.|
|SoundSystem_DirectSound||Sound subsystem based on DirectSound.|
|SoundSystem_NULL||Null sound subsystem.|
|SoundSystem_OpenAL||Sound subsystem based on OpenAL.|
|StaticLightingCalculation_Simple||Simple static lighting calculation system.|
Additional Files Tab
On this tab you can specify libraries and files that aren't registered components (for example a user's custom components). They will be exported along with the project.
File Exceptions Tab
On this tab you can specify files to exlude from the final project. In the first box you can specify semicolon separated file extensions to exclude from the project. In the second box you can specify paths to individual files and folders.
Build Events Tab
Here you can specify commands executed on the project build stage. Commands are executed using the Windows command line (.cmd, .bat files).
Specify commands to execute after copying files in the first box and commands to execute after the project is built in the second box. commands can use macros. You can view the list of macros by clicking the Macros button.
Deployment Tool Menu
The File menu includes the following items:
|New||Create a new project.|
|Open||Open a saved project.|
|Save||Save settings of the current project. The shortcut is Ctrl+S.|
|Save As...||Save project settings under a new name of the settings file and into another folder.|
|Exit||Exit the tool.|
There is only one item in the Build menu — "Deploy...", it starts building the project — copying all necessary files to the selected output directory taking all settings into consideration.
The Help menu includes the following items:
|Overview of the Deployment Tool||Open the description of the tool, that is the present article.|
|Documentation||Open the documentation homepage.|
|About...||Open the "About" window of the program.|
The following quick-launch buttons are located on the toolbar:
- New — create a new project,
- Open — open a previously saved project,
- Save — save the project,
- Deploy — deploy the project.
Tutorial — Building a turnkey package of a common application
This little tutorial shows how to build a turnkey package.
Before you begin building the package, compile your project. Also, we recommend recompile the shader cache.
Now we can run our build. Run the Deployment Tool.
At first, specify a folder to store the ready project. Click the "..." button next to the Output Directory field and select a folder.
Then, choose the target operating system: Windows. Leave other parameters with their default values.
Using certain platforms is reflected in component configuration.
If you use 64-bit Windows, don't forget to compile the project with the Any CPU option on.
Components for the build are chosen based on the needs of your project and according to capabilities of the target platform. For the sake of this tutorial we leave all component settings intact.
The list of components available for various platforms can be found in this section.
Save settings with the File -> Save menu.
Now, let's build. Select the Deploy item in the Build... menu. A window opens asking you whether you want to purge the package folder. Before you click Yes make sure the package folder (Output directory) is empty.
After that, a window with the list of successful operations opens. As soon as deployment completes, click the Close button.
We finished preparing of the package.