You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This documentation describes how to create new or alter existing PHP module definitions.
3
+
This document describes how to create new or alter existing PHP module definitions.
4
4
5
-
All PHP modules/extensions (for all PHP versions and both for `amd64` and `arm64` platforms) are defined in here in their dedicated directory. These definitions are then transformed to Ansible group_vars and afterwards Ansible will generate the corresponding Dockerfiles (Stage: `mods`).
5
+
All PHP modules/extensions (for all PHP versions and both for `amd64` and `arm64` platforms) are defined in the `php_modules/` directory in their corresponding sub directory. These definitions are then transformed to Ansible group_vars and afterwards Ansible will generate the corresponding Dockerfiles (Stage: `mods`).
6
6
7
7
8
8
## How to add PHP modules?
@@ -11,32 +11,34 @@ All PHP modules/extensions (for all PHP versions and both for `amd64` and `arm64
11
11
1. Create a new directory with the name of the PHP module in `php_modules/`
12
12
2. Add `build.yml`, `options.yml` and `test.yml` into your newly created directory
13
13
3. Alter `build.yml`, `options.yml` and `test.yml` according to documentation below
14
-
4. Run `python3 modules-validate.py` to validate the created PHP module definitions
15
-
5. Run `python3 modules-generate.py` to create Ansible group_vars
16
14
17
15
2.**Inside the root of this git repository:**
18
-
1. Run `make gen-dockerfiles` to generate Dockerfiles via Ansible
19
-
2. Run `make build STAGE=mods VERSION=8.1 ARCH=linux/amd64` to build the `mods` Docker image with version `8.1` for platform `linux/amd64`
16
+
1. Run `make gen-modules` to create Ansible group_vars
17
+
2. Run `make gen-dockerfiles` to generate Dockerfiles via Ansible
18
+
3. Run `make build STAGE=mods VERSION=8.1 ARCH=linux/amd64` to build the `mods` Docker image with version `8.1` for platform `linux/amd64`
20
19
21
20
**Note:** If you want to test if your new module builds correctly, you can generate Dockerfiles which only contain your module and all others removed. This allows for much faster Docker builds and you don't have to wait for all other modules to be built. To do so you generate group_vars for your module only via:
22
21
23
22
```bash
23
+
# Commands shown here are executed from root of this repository
24
+
24
25
# Only generate group_vars for curl
25
-
# Note: if curl has other modules as requiredments to be built beforehand, those will also be added
26
-
python3 module-generate.py curl
26
+
# Note: if curl has other modules as requirements to be built beforehand, those will also be added
27
+
python3 ./bin/module-generate.py curl
28
+
make gen-dockerfiles
27
29
```
28
30
29
31
30
32
## Extension definition: `build.yml`
31
33
32
-
See **[README-build.yml.md](README-build.yml.md)** how to alter the `build.yml` file.
34
+
See **[PHP-EXT-build.yml.md](../doc/PHP-EXT-build.yml.md)** how to alter the `build.yml` file.
33
35
34
36
35
37
## Extension definition: `options.yml`
36
38
37
-
See **[README-options.yml.md](README-options.yml.md)** how to alter the `options.yml` file.
39
+
See **[PHP-EXT-options.yml.md](../doc/PHP-EXT-options.yml.md)** how to alter the `options.yml` file.
38
40
39
41
40
42
## Extension definition: `test.yml`
41
43
42
-
See **[README-test.yml.md](README-test.yml.md)** how to alter the `test.yml` file.
44
+
See **[PHP-EXT-test.yml.md](../doc/PHP-EXT-test.yml.md)** how to alter the `test.yml` file.
0 commit comments