# Setup ## 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](http://docs.automotivelinux.org/docs/devguides/en/dev/reference/xds/part-1/1-1_install-xds-server-docker.html#create-and-start-a-new-container) ) ### Which one should I choose ? It depends on your [deployment setup](http://docs.automotivelinux.org/docs/devguides/en/dev/reference/xds/part-1/0_Abstract.html) (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](https://github.com/iotbzh/helloworld-native-application) project is an AGL project based on [app-templates](https://git.automotivelinux.org/apps/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](http://docs.automotivelinux.org/docs/devguides/en/dev/reference/sdk-devkit/docs/part-2/2_4-Use-app-templates.html). ## Clone project ```bash cd $HOME/xds-workspace git clone --recursive https://github.com/iotbzh/helloworld-native-application.git ```