diff options
-rw-r--r-- | other/apidsl/README.md | 50 | ||||
-rw-r--r-- | other/apidsl/tox.in.h | 8 | ||||
-rw-r--r-- | other/astyle/README | 11 | ||||
-rw-r--r-- | other/astyle/README.md | 32 | ||||
-rw-r--r-- | toxcore/tox.h | 9 |
5 files changed, 93 insertions, 17 deletions
diff --git a/other/apidsl/README.md b/other/apidsl/README.md index 0b3e776d..c0f29ea4 100644 --- a/other/apidsl/README.md +++ b/other/apidsl/README.md | |||
@@ -1,11 +1,49 @@ | |||
1 | This folder contains the input file that can be used to generate the tox.h api | 1 | This folder contains the input file (``tox.in.h``) that has to be used to generate the ``tox.h`` api with: https://github.com/iphydf/apidsl |
2 | with: https://github.com/iphydf/apidsl | ||
3 | 2 | ||
4 | You can also use the following command if you can't install it: | 3 | # Minimal requirements |
5 | 4 | ||
5 | There are some minimal requirements to contribute to ``tox.h``: | ||
6 | * unix enrironment | ||
7 | * ``astyle`` ``>=2.03`` | ||
8 | * [``apidsl``](https://github.com/iphydf/apidsl) (you can use provided service with curl instead) | ||
9 | |||
10 | ## Quick way | ||
11 | |||
12 | If you want to do it quickly and you don't have time for anything other than copypasting commands, you should have ``curl`` installed. | ||
13 | |||
14 | |||
15 | 1. Make sure that you have ``curl`` and ``>=astyle-2.03`` installed | ||
16 | 2. Modify [``tox.in.h``](/other/apidsl/tox.in.h) | ||
17 | 3. Run command below ↓ | ||
18 | |||
19 | Command to run from ``toxcore`` directory (quick way, involves using curl): | ||
20 | ```bash | ||
21 | rm toxcore/tox.h && \ | ||
22 | ( curl -X POST --data-binary @- https://criticism.herokuapp.com/apidsl < ./other/apidsl/tox.in.h > ./toxcore/tox.h ) && \ | ||
23 | astyle --options=./other/astyle/astylerc ./toxcore/tox.h | ||
24 | ``` | ||
25 | |||
26 | When formatting will be complete, you should see output like: | ||
6 | ``` | 27 | ``` |
7 | curl -X POST --data-binary @- https://criticism.herokuapp.com/apidsl < tox.in.h > tox.h | 28 | Formatted ./toxcore/tox.h |
29 | ``` | ||
30 | |||
31 | You may want to make sure with ``git diff`` that changes made in ``tox.h`` reflect changes in ``tox.in.h``. | ||
32 | |||
33 | And you're done. | ||
34 | |||
35 | |||
36 | ## Manually | ||
37 | |||
38 | If you prefer to have more control over what is happening, there are steps below: | ||
39 | |||
40 | 1. Install [``apidsl``](https://github.com/iphydf/apidsl) | ||
41 | 2. Install ``astyle``, version 2.03 or later. | ||
42 | 3. Modify [``tox.in.h``](/other/apidsl/tox.in.h) | ||
43 | 4. Use ``apidsl`` ``??`` | ||
44 | 5. Parse generated ``tox.h`` with astyle, minimal command for it would be: | ||
45 | ```bash | ||
46 | astyle --options=./other/astyle/astylerc ./toxcore/tox.h | ||
8 | ``` | 47 | ``` |
9 | 48 | ||
10 | Note that the output must be passed through astyle with the config in | 49 | **Always pass output from ``apidsl`` through astyle.** \ No newline at end of file |
11 | other/astyle/astylerc to generate the exact same file. | ||
diff --git a/other/apidsl/tox.in.h b/other/apidsl/tox.in.h index 30c78e44..189fc43d 100644 --- a/other/apidsl/tox.in.h +++ b/other/apidsl/tox.in.h | |||
@@ -34,6 +34,14 @@ extern "C" { | |||
34 | #endif | 34 | #endif |
35 | %} | 35 | %} |
36 | 36 | ||
37 | |||
38 | /***************************************************************************** | ||
39 | * `tox.h` SHOULD *NOT* BE EDITED MANUALLY – any changes should be made to * | ||
40 | * `tox.in.h`, located in `other/apidsl/`. For instructions on how to * | ||
41 | * generate `tox.h` from `tox.in.h` please refer to `other/apidsl/README.md` * | ||
42 | *****************************************************************************/ | ||
43 | |||
44 | |||
37 | /** \page core Public core API for Tox clients. | 45 | /** \page core Public core API for Tox clients. |
38 | * | 46 | * |
39 | * Every function that can fail takes a function-specific error code pointer | 47 | * Every function that can fail takes a function-specific error code pointer |
diff --git a/other/astyle/README b/other/astyle/README deleted file mode 100644 index 26802ec7..00000000 --- a/other/astyle/README +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | This directory can house various tools and utilities. | ||
2 | |||
3 | astylerc | ||
4 | - This file can be used in the precommit hook to try its best | ||
5 | at making the code conform to the coding style document. | ||
6 | |||
7 | pre-commit (*NIX only at the moment) | ||
8 | - Lints your file in adherence to the coding style doucment as | ||
9 | best as possible in terms of spacing, indenting, etc. | ||
10 | - Requires you to have astyle installed. | ||
11 | - To use, copy this file to ProjectTox-Core/.git/hooks | ||
diff --git a/other/astyle/README.md b/other/astyle/README.md new file mode 100644 index 00000000..f68edf68 --- /dev/null +++ b/other/astyle/README.md | |||
@@ -0,0 +1,32 @@ | |||
1 | This directory can house various tools and utilities. | ||
2 | |||
3 | # How to use astyle | ||
4 | |||
5 | ## Manually | ||
6 | |||
7 | ### For all files | ||
8 | |||
9 | Run from ``toxcore`` directory: | ||
10 | ```bash | ||
11 | astyle --options=./other/astyle/astylerc ./toxcore/*.c ./toxcore/*.h ./toxdns/*.c ./toxdns/*.h ./testing/*.c ./toxav/*.c ./toxav/*.h ./other/*.c ./other/bootstrap_daemon/*.c ./toxencryptsave/*.c ./toxencryptsave/*.h ./auto_tests/*.c | ||
12 | ``` | ||
13 | |||
14 | ### For selected file | ||
15 | |||
16 | Run from ``toxcore`` directory, e.g. for [``tox.h``](/toxcore/tox.h) file: | ||
17 | ```bash | ||
18 | astyle --options=./other/astyle/astylerc ./toxcore/tox.h | ||
19 | ``` | ||
20 | |||
21 | |||
22 | ## Automatically, as pre-commit hook (*NIX only) | ||
23 | |||
24 | Copy [``astylerc``](/other/astyle/astylerc) to ``toxcore/.git/hooks`` | ||
25 | |||
26 | |||
27 | |||
28 | # Why | ||
29 | |||
30 | ``astylerc`` - this file can be used in the pre-commit hook to try its best at making the code conform to the coding style of toxcore. | ||
31 | |||
32 | Furthermore, it is being used to format ``tox.h`` after using [``apidsl``](/other/apidsl) to generate it. \ No newline at end of file | ||
diff --git a/toxcore/tox.h b/toxcore/tox.h index 14c9f616..fd0792f2 100644 --- a/toxcore/tox.h +++ b/toxcore/tox.h | |||
@@ -32,6 +32,15 @@ | |||
32 | extern "C" { | 32 | extern "C" { |
33 | #endif | 33 | #endif |
34 | 34 | ||
35 | |||
36 | /******************************************************************************* | ||
37 | * `tox.h` SHOULD *NOT* BE EDITED MANUALLY – any changes should be made to * | ||
38 | * `tox.in.h`, located in `other/apidsl/`. For instructions on how to * | ||
39 | * generate `tox.h` from `tox.in.h` please refer to `other/apidsl/README.md` * | ||
40 | ******************************************************************************/ | ||
41 | |||
42 | |||
43 | |||
35 | /** \page core Public core API for Tox clients. | 44 | /** \page core Public core API for Tox clients. |
36 | * | 45 | * |
37 | * Every function that can fail takes a function-specific error code pointer | 46 | * Every function that can fail takes a function-specific error code pointer |