| 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 |