Get the Source Files

XDS needs to be able to share your application source files. This section describes the options you have for sharing your files with the server running XDS.

Source Sharing Methods

For this example, you will use the helloworld-native-application project. You must clone this project's repository into a directory that xds-server can access.

Two methods exist:

  • If you Client Part is configured for SaaS (i.e. Cloud Sync), the local directory into which you clone your application project is sent to and replicated on the server running XDS. This implies that you can use any local directory for your cloned application repository.

  • If you xds-server is running locally, you can use path mapping. Path mapping uses a volume shared between your development host and the server that is running XDS. The directory shared is $HOME/xds-workspace.

NOTE:

The path mapping method of sharing files is more efficient than replicating the project on the XDS server. However, you must clone the project under a directory that can be shared. The most convenient directory is the default shared directory, which is $HOME/xds-workspace.

You could create additional shared volumes. To create more shared volumes, See the "Create and Start a New Container" section.

Which File Sharing Method Should I Choose?

The file sharing method you choose depends on the Client Part configuration (i.e. Standalone, On-Premise or SaaS).

  • Standalone uses local path mapping. With this configuration, it makes no sense to use SaaS (Cloud Sync) as it adds unnecessary overhead.

  • On-Premise uses Cloud Sync.

  • SaaS also uses Cloud Sync. With this configuration, replicating the application project files on the XDS server is the only way to achieve file sharing.

NOTE:

The helloworld-native-application project is an AGL project that is based on CMake (i.e. cmake-apps-module). For information on installing and using the CMake templates, see the "Installing the CMake Templates" section. CMake templates, when used to develop applications with the AGL Application Framework, automatically generate Makefile rules (e.g. remote-target-populate) or scripts (e.g. build/target/xxx scripts).

Clone project

Now that you know where you are going to put your application files, you can clone the repository. In the following example, the local repository is cloned to the default shared directory assuming path mapping, which is for a Client Part Standalone configuration.

cd $HOME/xds-workspace
git clone --recursive https://github.com/iotbzh/helloworld-native-application.git