1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
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
```
|