summaryrefslogtreecommitdiffstats
path: root/docs/part-1/create-app-get-source-files.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/part-1/create-app-get-source-files.md')
-rw-r--r--docs/part-1/create-app-get-source-files.md81
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
+```