summaryrefslogtreecommitdiffstats
path: root/docs/part-2/1_xds-server/0_abstract.md
blob: 07dd0578f3de436c571fb925504f532e5a3c0fdb (plain)
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
# XDS - X(cross) Development System Server

`xds-server` is a web server that allows user to remotely cross build applications.

- The first goal is to provide a multi-platform cross development tool with near-zero installation.
- The second goal is to keep application sources locally (on user's machine).
  - Make it compatible with existing IT policies (e.g. corporate backup or SCM).
  - Let user to continue to work as usual.
    - Use his favorite editor.
    - keep performance while editing/browsing sources.
    - Avoids manual operation

This powerful and portable webserver (written in [Go](https://golang.org))
exposes a REST interface over HTTP.

`xds-server` uses [Syncthing](https://syncthing.net/) tool to synchronize
projects files from user machine to build server machine or container.

`xds-server` is commonly running on a build server (within a container or not)
and [xds-agent](../2_xds-agent/0_abstract.html) must run on the developer/user machine in order
to setup the following connection chain:

```schema
    developer/user machine  |  build server or container
 ---------------------------|-----------------------------
  xds-cli <---> xds-agent <-|-> xds-server
```

**SEE ALSO**: [xds-cli](https://gerrit.automotivelinux.org/gerrit/gitweb?p=src/xds/xds-cli.git),
a command-line tool that allows you to send commands to `xds-agent / xds-server`
and for example build your application from command-line or from your favorite
IDE (such as Netbeans or Visual Studio Code) through `xds-agent <=> xds-server`.

---

Links to subchapters :

- [Configuration](./1_config.html)
- [How to run](./2_how-to-run.html)
- [Build from scratch](./3_build.html)
- [Debugging](./4_debug.html)