Sources Sharing Methods

What are possible ways to share source trees ?

Let’s use helloworld-native-application project as example, so you need first to clone this project into a directory that will be accessible by xds-server.

There are two possible methods to share sources between your host and the XDS server:

  • Cloud sync: implies your local directory will be sent to and replicated on the server. This method lets you clone project anywhere on your local disk,
  • Path mapping: apply when the xds-server is running locally. This method uses a volume shared between your host and the server, typically $HOME/xds-workspace directory. It is much more efficient as there is no replication onto the server ; but you must clone project under the shared directory ($HOME/xds-workspace is a good choice because it is shared by default. To create more shared volumes, See –volume option of container creation script )

Which one should I choose ?

It depends on your deployment setup (Standalone, On-Premise or SaaS).

  • Standalone : use local path mapping. It makes no sense to use cloud sync as it would add pointless overhead.
  • On-Premise : use Clound Sync.
  • SaaS : use Cloud Sync. This is the only way to achieve source sharing in this deployment setup.

Note: : helloworld-native-application project is an AGL project based on app-templates (included as a git submodule). This CMake templating, used to develop application with the AGL Application Framework, will automatically generate makefile rules (eg. remote-target-populate) or scripts (eg. build/target/xxx scripts).

For more info about app-template, please refer to this documentation.

Clone project

cd $HOME/xds-workspace
git clone --recursive