OLD | NEW |
1 # Devtools | 1 # Devtools |
2 | 2 |
3 Unopinionated tools for **running**, **debugging** and **testing** Mojo apps. | 3 Unopinionated tools for **running**, **debugging** and **testing** Mojo apps. |
4 | 4 |
5 The repo consists of: | 5 ## Repo contents |
6 | 6 |
7 - **devtoolslib** - Python module containing the core scripting functionality | 7 Devtools offer the following tools: |
8 for running Mojo apps: shell abstraction with implementations for Android and | |
9 Linux and support for apptest frameworks | |
10 - executable scripts - example embedders of devtoolslib and other utils | |
11 | 8 |
12 ## Embedding devtoolslib | 9 - **mojo_shell** - universall shell runner |
13 | 10 - **debugger** - supports interactive tracing and debugging of a running mojo s
hell |
14 As devtools carry no assumptions about build system or file layout being used, | |
15 the primary way of using devtools now is to embed the functionality provided by | |
16 **devtoolslib** in a thin wrapper script. For examples, one can refer to mojo's | |
17 [shell | |
18 runner](https://github.com/domokit/mojo/blob/master/mojo/tools/mojo_shell.py) | |
19 and [apptest | |
20 runner](https://github.com/domokit/mojo/blob/master/mojo/tools/apptest_runner.py
). | |
21 | |
22 ## Executable scripts | |
23 | |
24 The set of executable scripts is WIP. We currently offer: | |
25 | |
26 - **debugger** - supports interactive tracing of a running mojo shell and | |
27 symbolizing android stack traces | |
28 - **remote_adb_setup** - configures adb on a remote machine to communicate with | 11 - **remote_adb_setup** - configures adb on a remote machine to communicate with |
29 a device attached to the local machine | 12 a device attached to the local machine |
30 | 13 |
| 14 and a Python scripting library designed for being embedded (devtoolslib). |
| 15 |
| 16 ### Devtoolslib |
| 17 |
| 18 **devtoolslib** is a Python module containing the core scripting functionality |
| 19 for running Mojo apps: shell abstraction with implementations for Android and |
| 20 Linux and support for apptest frameworks. The executable scripts in devtools |
| 21 are based on this module. |
| 22 |
| 23 As devtools carry no assumptions about build system or file layout being used, |
| 24 one can choose to embed the functionality provided by **devtoolslib** in their |
| 25 own wrapper, instead of relying on the provided scripts. For examples, one can |
| 26 refer to mojo's [apptest |
| 27 runner](https://github.com/domokit/mojo/blob/master/mojo/tools/apptest_runner.py
). |
| 28 |
31 ## Install | 29 ## Install |
32 | 30 |
33 ``` | 31 ``` |
34 git clone https://github.com/domokit/devtools.git | 32 git clone https://github.com/domokit/devtools.git |
35 ``` | 33 ``` |
36 | 34 |
37 ## File location | 35 ## Development |
38 | 36 |
39 The library is canonically developed [in the mojo | 37 The library is canonically developed [in the mojo |
40 repository](https://github.com/domokit/mojo/tree/master/mojo/devtools/common), | 38 repository](https://github.com/domokit/mojo/tree/master/mojo/devtools/common), |
41 https://github.com/domokit/devtools is a mirror allowing to consume it | 39 https://github.com/domokit/devtools is a mirror allowing to consume it |
42 separately. | 40 separately. |
OLD | NEW |