Starting with Cava Packager release 2.0.55, Cava Packager projects are portable across host machines and supported operating systems. That is you can share your Cava Packager project data across any number of installations.
There are several methods available for sharing your project data:
- Clone your project to create a new project on the current machine. (Use Clone Project from the project menu)
- Export your project to a project file that you can use on any machine or supported operating system to create a new project. (Use Export Project from the project menu)
- Copy the portable files from your project to a new location.
- Place the portable files from your project under a version control system.
Data Element Types
To allow portablility Cava Packager uses three levels of data storage to define if and how different project data elements are portable.
- Local Machine
- Data elements described as Local Machine are unique to the current machine. This includes all absolute paths. The project data elements defined as Local Machine are:
- The paths to all included scripts.
- Resource Folder Path (if used)
- User Folder Path (if used)
- Test Folder Path (if used)
- Post Build Script (if used)
- Pre Installer Script (if used)
- Perl used to build the executables
- Extra search paths for modules
- When you open a project for the first time that has been originally shared by some method from a different machine, none of the above elements will have stored data for the current machine. For included scripts you will be notified that scripts are missing and you can edit the locations using Edit Missing Script Locations.
- The Perl and Extra search paths will be populated with the defaults for your current machine. However, Resource Folder, User Folder, Test Folder, Post Build Script and Pre Installer Script must be set to your local requirements on the current machine. You can also set the Perl and Extra search paths to something other than the defaults if you wish.
- You only have to set these Local Machine details once for any given machine. The details for all machines using a shared project file (possibly via some version control system) are stored in the portable project data
- Only the data element refering to the source path for scripts is unique for a particular machine. New scripts that you add to the project and their dependent executables will be visible on all machines that share the project data. You will simply be prompted for the local location for any scripts without a current machine saved location.
- Operating System
- Data elements described as Operating System are unique to the current major operating system. The current supported operating system types are msw (MS Windows x86 and x64), linux (Linux x86 and x_86_64) and osx (Mac OS X Universal 32 bit). Operating System data elements are not architecture specific. Data elements valid for MS Windows x86 are also valid for MS Windows x64. Similarly data elements valid for Linux x86_64 and also valid for Linux x86. The project data elements defined as Operating System are:
- All Installer configuration.
- All build overrides (individual exclusions, packaging modifications etc).
- When you open a project for the first time that has been originally shared by some method from a different machine or machines, only the elements stored for the current operating system will be available. If the relevant details have not been previously set for the current operating system, you will have to create them in the current machine.
- You only have to set these Operating System details once for any given operating system. The details for all machines using a shared project file (possibly via some version control system) are stored in the portable project data
- Project Level
- Data elements described as Project Level are shared by all machines and operating systems using shared project data
- Unless a data element is specifically defined as Local Machine or Operating System it is Project Level data.
Sharing Project Files
When you start a new project, a directory structure and files are created under the selected project folder.
Only the file cava20.cpkgproj and the contents of directory cava20 can be shared. All other folders are local to the current machine.
(CAN BE SHARED)
(CANNOT BE SHARED)
When share or copy a project by cloning or exporting it, the file cava20.cpkgproj and the contents of directory cava20 are copied.
You may if you wish simply copy these files to a separate location and open from that location to start a new project copy. Using the Project Menu 'Clone' and 'Export' options gives you the opportunity to rename the copied project.
You may also wish to share project data using a version control system.
Sharing Custom Global Rules
Any custom global rules that you create are not project specific but apply to any project. The rules are stored in your local machine installation files. Standard System rules are automatically updated each time you open Cava Packager but your custom rules are tied to the machine on which they were created.
To share your custom rules, remember to export them to a rule file each time you update or add a custom rule. You can share this rule file by any appropriate manner and import it on other machines where you are sharing project data.
See : Import / Export Module Rules
Mac OS X Default Project Type
If you open a project on Mac OS X that was originally created on a different operating system, the project will be assigned a type of 'Mac OS X App Bundle'. If you wish you can change this to 'Darwin Executables' from the Project Details tab. Changing the Project Type on the Mac changes the Release Layout