Skip to content

Commit 1a04f6f

Browse files
committed
Add IPC basic stubs
1 parent bbcf790 commit 1a04f6f

36 files changed

+1256
-21
lines changed

.github/workflows/subsplit.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ jobs:
4747
split_repository: 'http-body-decoder'
4848
- local_path: 'component/http-static-provider'
4949
split_repository: 'http-static-provider'
50+
- local_path: 'component/ipc'
51+
split_repository: 'ipc'
5052
- local_path: 'component/os-info'
5153
split_repository: 'os-info'
5254
- local_path: 'component/pasm'

.php-cs-fixer.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
__DIR__ . '/libs/component/http/src',
1818
__DIR__ . '/libs/component/http-body-decoder/src',
1919
__DIR__ . '/libs/component/http-static-provider/src',
20+
__DIR__ . '/libs/component/ipc/src',
2021
__DIR__ . '/libs/component/os-info/src',
2122
__DIR__ . '/libs/component/pasm/src',
2223
__DIR__ . '/libs/component/runtime/src',

README.md

Lines changed: 22 additions & 21 deletions
Large diffs are not rendered by default.

composer.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"boson-php/http-bridge": "^0.20",
2222
"boson-php/http-contracts": "^0.20",
2323
"boson-php/http-static-provider": "^0.20",
24+
"boson-php/ipc": "^0.20",
2425
"boson-php/id-contracts": "^0.20",
2526
"boson-php/laravel-http-bridge": "^0.20",
2627
"boson-php/laravel-provider": "^0.20",

libs/component/ipc/.editorconfig

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
root = true
2+
3+
[*]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
indent_style = space
8+
indent_size = 4
9+
trim_trailing_whitespace = true
10+
11+
[*.md]
12+
trim_trailing_whitespace = false
13+
14+
[*.{yml,yaml,neon}]
15+
indent_size = 2

libs/component/ipc/.gitattributes

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
* text=auto eol=lf
2+
3+
# GIT
4+
.editorconfig export-ignore
5+
.gitattributes export-ignore
6+
.gitignore export-ignore
7+
8+
# Tools
9+
.php-cs-fixer.php export-ignore
10+
phpstan.neon export-ignore
11+
12+
# Tests + CI
13+
phpunit.xml export-ignore
14+
15+
/.github export-ignore
16+
/tests export-ignore
17+
18+
# JavaScript
19+
tsconfig.json export-ignore
20+
21+
vite.config.js export-ignore
22+
/resources/src export-ignore
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Tests
2+
3+
on:
4+
push:
5+
pull_request:
6+
7+
jobs:
8+
tests:
9+
name: Tests (${{matrix.php}}, ${{ matrix.os }}, ${{ matrix.stability }})
10+
runs-on: ${{ matrix.os }}
11+
strategy:
12+
fail-fast: false
13+
matrix:
14+
php: [ '8.4', '8.5' ]
15+
os: [ ubuntu-latest, macos-latest, windows-latest ]
16+
stability: [ prefer-lowest, prefer-stable ]
17+
steps:
18+
- name: Set Git To Use LF
19+
run: |
20+
git config --global core.autocrlf false
21+
git config --global core.eol lf
22+
- name: Checkout
23+
uses: actions/checkout@v4
24+
- name: Setup PHP ${{ matrix.php }}
25+
uses: shivammathur/setup-php@v2
26+
with:
27+
php-version: ${{ matrix.php }}
28+
extensions: ffi
29+
tools: pecl
30+
ini-values: "memory_limit=-1"
31+
- name: Validate Composer
32+
run: composer validate
33+
- name: Get Composer Cache Directory
34+
id: composer-cache
35+
run: echo "::set-output name=dir::$(composer config cache-files-dir)"
36+
- name: Restore Composer Cache
37+
uses: actions/cache@v3
38+
with:
39+
path: ${{ steps.composer-cache.outputs.dir }}
40+
key: ${{ runner.os }}-${{ matrix.php }}-composer-${{ hashFiles('**/composer.json') }}
41+
restore-keys: ${{ runner.os }}-${{ matrix.php }}-composer-
42+
- name: Install Dependencies
43+
uses: nick-invision/retry@v2
44+
with:
45+
timeout_minutes: 5
46+
max_attempts: 5
47+
command: composer update --${{ matrix.stability }} --ignore-platform-reqs --prefer-dist --no-interaction --no-progress
48+
- name: Execute Tests
49+
run: php vendor/bin/phpunit

libs/component/ipc/.gitignore

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# IDE
2+
/.idea
3+
/.cursor
4+
5+
# Composer
6+
/composer.lock
7+
/vendor
8+
/node_modules
9+
/build
10+
11+
# Testing
12+
test.php
13+
14+
# Toolset
15+
*.phar

libs/component/ipc/LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) Nesmeyanov Kirill
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

libs/component/ipc/README.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
<a href="https://github.com/boson-php/boson">
2+
<img align="center" src="https://habrastorage.org/webt/-8/h1/5o/-8h15o6klbga13kzsltqqmk8jlm.png" />
3+
</a>
4+
5+
---
6+
7+
<p align="center">
8+
<a href="https://packagist.org/packages/boson-php/ipc"><img src="https://poser.pugx.org/boson-php/ipc/require/php?style=for-the-badge" alt="PHP 8.4+"></a>
9+
<a href="https://packagist.org/packages/boson-php/ipc"><img src="https://poser.pugx.org/boson-php/ipc/version?style=for-the-badge" alt="Latest Stable Version"></a>
10+
<a href="https://packagist.org/packages/boson-php/ipc"><img src="https://poser.pugx.org/boson-php/ipc/v/unstable?style=for-the-badge" alt="Latest Unstable Version"></a>
11+
<a href="https://raw.githubusercontent.com/boson-php/boson/blob/master/LICENSE"><img src="https://poser.pugx.org/boson-php/ipc/license?style=for-the-badge" alt="License MIT"></a>
12+
<a href="https://t.me/boson_php"><img src="https://img.shields.io/static/v1?label=&message=Join+To+Community&color=24A1DE&style=for-the-badge&logo=telegram&logoColor=white" alt="Telegram" /></a>
13+
</p>
14+
<p align="center">
15+
<a href="https://github.com/boson-php/ipc/actions/workflows/tests.yml"><img src="https://img.shields.io/github/actions/workflow/status/boson-php/boson/tests.yml?label=Tests&style=flat-square&logo=unpkg"></a>
16+
</p>
17+
18+
## Installation
19+
20+
Boson package is available as Composer repository and can
21+
be installed using the following command in a root of your project:
22+
23+
```bash
24+
composer require boson-php/ipc
25+
```
26+
27+
## Documentation
28+
29+
- You can learn more [about what a Boson is](https://bosonphp.com/doc/0.19/introduction).
30+
- Information [about the configs](https://bosonphp.com/doc/0.19/configuration) is
31+
available on the [corresponding pages](https://bosonphp.com/doc/0.19/application-configuration).
32+
- A more detailed description of working with the [application](https://bosonphp.com/doc/0.19/application),
33+
[windows](https://bosonphp.com/doc/0.19/window) and [webview](https://bosonphp.com/doc/0.19/webview)
34+
is also available.
35+
- Also, do not miss the detailed guide on additional apps for working with
36+
[function bindings](https://bosonphp.com/doc/0.19/bindings-api),
37+
[scripts](https://bosonphp.com/doc/0.19/scripts-api),
38+
[request interception](https://bosonphp.com/doc/0.19/schemes-api), and more.
39+
- If you want to build an application based on
40+
[Symfony](https://bosonphp.com/doc/0.19/symfony-adapter),
41+
[Laravel](https://bosonphp.com/doc/0.19/laravel-adapter) and
42+
[others](https://bosonphp.com/doc/0.19/psr7-adapter),
43+
then similar functionality is also available.
44+
45+
## Community
46+
47+
- Any questions left? You can ask them
48+
[in the chat `t.me/boson_php`](https://t.me/boson_php)!
49+
50+
## Contributing
51+
52+
Boson is an Open Source, [community-driven project](https://github.com/boson-php/boson/graphs/contributors).
53+
Join them [contributing code](https://bosonphp.com/doc/0.19/contribution).
54+

0 commit comments

Comments
 (0)