Sites

Menu
These are the docs for 13.7, an old version of SpatialOS. The docs for this version are frozen: we do not correct, update or republish them. 14.0 is the newest →

Migrating a SpatialOS project to the FPL

This page presents a step-by-step guide on how to migrate a SpatialOS project from the structured project layout (SPL) to the flexible project layout (FPL).

Overview

To migrate a SpatialOS project from the SPL to the FPL, you need to:

  1. Migrate your workers
  2. Migrate your launch configuration file
  3. Migrate your project definition file
  4. Generate a schema descriptor
  5. Verify the integrity of your project
  6. Customise your project folder structure
  • Migrating a SpatialOS project from SPL to FPL is an all or nothing process. A project must either fully follow the SPL format or the FPL format and cannot have partially migrated components.
  • We recommend that you back up a copy of your project before you start migrating so that you can recover information from files that you delete as part of the migration process if needed.

1. Migrate your workers

  1. Migrate the build process of your workers by following the steps in Building a worker executable.
  2. Migrate your workers’ worker configuration files by following the steps in Converting the worker configuration file.
  3. Delete all previous SPL format configuration files related to the configuration and build process of your workers. Those configuration files include:

2. Migrate your launch configuration files

If you want to use the Platform SDK, you should not convert your launch configuration file into FPL format. The Platform SDK currently only supports SPL format launch configurations. We will provide an improved workflow in the future.

  1. Migrate your launch configuration files by following the steps in Converting the launch configuration file.
  2. Delete your previous SPL format launch configuration file.

3. Migrate your project definition file

  1. Migrate your project definition file by following the steps in Converting the project definition file.
  2. Delete your previous SPL format project definition file.

4. Generate a schema descriptor

Generate a schema descriptor by following the steps in Building a schema descriptor.

5. Verify the integrity of your project

Your project is now in a state where it complies with the FPL and can be run.

  1. Ensure that your spatial CLI is up-to-date (run spatial update).
  2. Run spatial alpha local launch and verify that your deployment behaves how it did pre-migration.
  3. Run spatial alpha cloud upload -a <some-assembly-name> and verify that this uploads your project assembly correctly to https://console.improbable.io/projects/<your-project-name>/assemblies. Your project assemblies should contain your schema descriptor and a zip file for each worker and each supported platform in your project. Each worker zip file should contain the content from the localBuildDirectory folder of the worker configuration file.
  4. Run spatial alpha cloud launch -d <your-deployment-name> - a <your-assembly-name> and verify that your deployment behaves how it did pre-migration.

6. Customise your project folder structure

You have successfully migrated your project to the FPL. Congratulations! You now have the freedom to customise your project’s folder structure in ways that were not possible in the SPL. For example:

  • You can freely choose where you store your project schema. You just need to make sure that the schema compiler finds all relevant schema files as you generate code or the schema descriptor.
  • You can freely choose where you store your worker projects and change the build process. You just need to make sure you update:
    • the references to your worker configuration files in your project configuration file
    • the localBuildDirectory fields in each worker configuration file.

Search results

Was this page helpful?

Thanks for letting us know!

Thanks for your feedback

Need more help? Ask on the forums