diff options
Diffstat (limited to 'docs/part-1/create-app-get-source-files.md')
-rw-r--r-- | docs/part-1/create-app-get-source-files.md | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/docs/part-1/create-app-get-source-files.md b/docs/part-1/create-app-get-source-files.md new file mode 100644 index 0000000..7fca382 --- /dev/null +++ b/docs/part-1/create-app-get-source-files.md @@ -0,0 +1,81 @@ +# 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`. + + <!-- section-note --> + **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](server-part.html#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. + +<!-- section-note --> +**NOTE:** + +The +[helloworld-native-application](https://github.com/iotbzh/helloworld-native-application) +project is an AGL project that is based on CMake +(i.e. [cmake-apps-module](https://git.automotivelinux.org/src/cmake-apps-module/)). +For information on installing and using the CMake templates, see the +"[Installing the CMake Templates](../../../../devguides/reference/cmakeafbtemplates/dev_guide/installing-cmake.html)" +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). +<!-- end-section-note --> + +## 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. + +```bash +cd $HOME/xds-workspace +git clone --recursive https://github.com/iotbzh/helloworld-native-application.git +``` |