mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-07-09 11:31:49 +00:00
Merge branch 'stable' into minor-next
This commit is contained in:
commit
8372c9efc2
4
.github/dependabot.yml
vendored
4
.github/dependabot.yml
vendored
@ -3,7 +3,7 @@ updates:
|
|||||||
- package-ecosystem: composer
|
- package-ecosystem: composer
|
||||||
directory: "/"
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
interval: daily
|
interval: weekly
|
||||||
time: "10:00"
|
time: "10:00"
|
||||||
open-pull-requests-limit: 10
|
open-pull-requests-limit: 10
|
||||||
ignore:
|
ignore:
|
||||||
@ -21,4 +21,4 @@ updates:
|
|||||||
- package-ecosystem: github-actions
|
- package-ecosystem: github-actions
|
||||||
directory: "/"
|
directory: "/"
|
||||||
schedule:
|
schedule:
|
||||||
interval: daily
|
interval: weekly
|
||||||
|
165
.github/workflows/main-php-matrix.yml
vendored
Normal file
165
.github/workflows/main-php-matrix.yml
vendored
Normal file
@ -0,0 +1,165 @@
|
|||||||
|
name: CI (all supported PHP versions)
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
inputs:
|
||||||
|
php:
|
||||||
|
description: 'PHP version in X.Y format'
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
|
|
||||||
|
#these are parameterized to ease updating
|
||||||
|
pm-version-major:
|
||||||
|
description: 'PocketMine-MP major version'
|
||||||
|
default: 5
|
||||||
|
type: number
|
||||||
|
image:
|
||||||
|
description: 'Runner image to use'
|
||||||
|
default: 'ubuntu-20.04'
|
||||||
|
type: string
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
phpstan:
|
||||||
|
name: PHPStan analysis
|
||||||
|
runs-on: ${{ inputs.image }}
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup PHP
|
||||||
|
uses: pmmp/setup-php-action@2.0.0
|
||||||
|
with:
|
||||||
|
php-version: ${{ inputs.php }}
|
||||||
|
install-path: "./bin"
|
||||||
|
pm-version-major: ${{ inputs.pm-version-major }}
|
||||||
|
|
||||||
|
- name: Restore Composer package cache
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cache/composer/files
|
||||||
|
~/.cache/composer/vcs
|
||||||
|
key: "composer-v2-cache-${{ inputs.php }}-${{ hashFiles('./composer.lock') }}"
|
||||||
|
restore-keys: |
|
||||||
|
composer-v2-cache-
|
||||||
|
|
||||||
|
- name: Install Composer dependencies
|
||||||
|
run: composer install --prefer-dist --no-interaction
|
||||||
|
|
||||||
|
- name: Run PHPStan
|
||||||
|
run: ./vendor/bin/phpstan analyze --no-progress --memory-limit=2G
|
||||||
|
|
||||||
|
phpunit:
|
||||||
|
name: PHPUnit tests
|
||||||
|
runs-on: ${{ inputs.image }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup PHP
|
||||||
|
uses: pmmp/setup-php-action@2.0.0
|
||||||
|
with:
|
||||||
|
php-version: ${{ inputs.php }}
|
||||||
|
install-path: "./bin"
|
||||||
|
pm-version-major: ${{ inputs.pm-version-major }}
|
||||||
|
|
||||||
|
- name: Restore Composer package cache
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cache/composer/files
|
||||||
|
~/.cache/composer/vcs
|
||||||
|
key: "composer-v2-cache-${{ inputs.php }}-${{ hashFiles('./composer.lock') }}"
|
||||||
|
restore-keys: |
|
||||||
|
composer-v2-cache-
|
||||||
|
|
||||||
|
- name: Install Composer dependencies
|
||||||
|
run: composer install --prefer-dist --no-interaction
|
||||||
|
|
||||||
|
- name: Run PHPUnit tests
|
||||||
|
run: ./vendor/bin/phpunit --bootstrap vendor/autoload.php --fail-on-warning tests/phpunit
|
||||||
|
|
||||||
|
integration:
|
||||||
|
name: Integration tests
|
||||||
|
runs-on: ${{ inputs.image }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
|
||||||
|
- name: Setup PHP
|
||||||
|
uses: pmmp/setup-php-action@2.0.0
|
||||||
|
with:
|
||||||
|
php-version: ${{ inputs.php }}
|
||||||
|
install-path: "./bin"
|
||||||
|
pm-version-major: ${{ inputs.pm-version-major }}
|
||||||
|
|
||||||
|
- name: Restore Composer package cache
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cache/composer/files
|
||||||
|
~/.cache/composer/vcs
|
||||||
|
key: "composer-v2-cache-${{ inputs.php }}-${{ hashFiles('./composer.lock') }}"
|
||||||
|
restore-keys: |
|
||||||
|
composer-v2-cache-
|
||||||
|
|
||||||
|
- name: Install Composer dependencies
|
||||||
|
run: composer install --no-dev --prefer-dist --no-interaction
|
||||||
|
|
||||||
|
- name: Run integration tests
|
||||||
|
run: ./tests/travis.sh -t4
|
||||||
|
|
||||||
|
codegen:
|
||||||
|
name: Generated Code consistency checks
|
||||||
|
runs-on: ${{ inputs.image }}
|
||||||
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup PHP
|
||||||
|
uses: pmmp/setup-php-action@2.0.0
|
||||||
|
with:
|
||||||
|
php-version: ${{ inputs.php }}
|
||||||
|
install-path: "./bin"
|
||||||
|
pm-version-major: ${{ inputs.pm-version-major }}
|
||||||
|
|
||||||
|
- name: Restore Composer package cache
|
||||||
|
uses: actions/cache@v3
|
||||||
|
with:
|
||||||
|
path: |
|
||||||
|
~/.cache/composer/files
|
||||||
|
~/.cache/composer/vcs
|
||||||
|
key: "composer-v2-cache-${{ inputs.php }}-${{ hashFiles('./composer.lock') }}"
|
||||||
|
restore-keys: |
|
||||||
|
composer-v2-cache-
|
||||||
|
|
||||||
|
- name: Install Composer dependencies
|
||||||
|
run: composer install --no-dev --prefer-dist --no-interaction
|
||||||
|
|
||||||
|
- name: Regenerate registry annotations
|
||||||
|
run: php build/generate-registry-annotations.php src
|
||||||
|
|
||||||
|
- name: Regenerate KnownTranslation APIs
|
||||||
|
run: php build/generate-known-translation-apis.php
|
||||||
|
|
||||||
|
- name: Regenerate BedrockData available files constants
|
||||||
|
run: php build/generate-bedrockdata-path-consts.php
|
||||||
|
|
||||||
|
- name: Regenerate YmlServerProperties constants
|
||||||
|
run: php build/generate-pocketmine-yml-property-consts.php
|
||||||
|
|
||||||
|
- name: Verify code is unchanged
|
||||||
|
run: |
|
||||||
|
git diff
|
||||||
|
git diff --quiet
|
155
.github/workflows/main.yml
vendored
155
.github/workflows/main.yml
vendored
@ -6,162 +6,17 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
phpstan:
|
all-php-versions:
|
||||||
name: PHPStan analysis
|
name: PHP ${{ matrix.php }}
|
||||||
runs-on: ${{ matrix.image }}
|
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
image: [ubuntu-20.04]
|
|
||||||
php: ["8.1", "8.2", "8.3"]
|
php: ["8.1", "8.2", "8.3"]
|
||||||
|
|
||||||
steps:
|
uses: ./.github/workflows/main-php-matrix.yml
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Setup PHP
|
|
||||||
uses: pmmp/setup-php-action@2.0.0
|
|
||||||
with:
|
with:
|
||||||
php-version: ${{ matrix.php }}
|
php: ${{ matrix.php }}
|
||||||
install-path: "./bin"
|
secrets: inherit
|
||||||
pm-version-major: "5"
|
|
||||||
|
|
||||||
- name: Restore Composer package cache
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.cache/composer/files
|
|
||||||
~/.cache/composer/vcs
|
|
||||||
key: "composer-v2-cache-${{ matrix.php }}-${{ hashFiles('./composer.lock') }}"
|
|
||||||
restore-keys: |
|
|
||||||
composer-v2-cache-
|
|
||||||
|
|
||||||
- name: Install Composer dependencies
|
|
||||||
run: composer install --prefer-dist --no-interaction
|
|
||||||
|
|
||||||
- name: Run PHPStan
|
|
||||||
run: ./vendor/bin/phpstan analyze --no-progress --memory-limit=2G
|
|
||||||
|
|
||||||
phpunit:
|
|
||||||
name: PHPUnit tests
|
|
||||||
runs-on: ${{ matrix.image }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
image: [ubuntu-20.04]
|
|
||||||
php: ["8.1", "8.2", "8.3"]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Setup PHP
|
|
||||||
uses: pmmp/setup-php-action@2.0.0
|
|
||||||
with:
|
|
||||||
php-version: ${{ matrix.php }}
|
|
||||||
install-path: "./bin"
|
|
||||||
pm-version-major: "5"
|
|
||||||
|
|
||||||
- name: Restore Composer package cache
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.cache/composer/files
|
|
||||||
~/.cache/composer/vcs
|
|
||||||
key: "composer-v2-cache-${{ matrix.php }}-${{ hashFiles('./composer.lock') }}"
|
|
||||||
restore-keys: |
|
|
||||||
composer-v2-cache-
|
|
||||||
|
|
||||||
- name: Install Composer dependencies
|
|
||||||
run: composer install --prefer-dist --no-interaction
|
|
||||||
|
|
||||||
- name: Run PHPUnit tests
|
|
||||||
run: ./vendor/bin/phpunit --bootstrap vendor/autoload.php --fail-on-warning tests/phpunit
|
|
||||||
|
|
||||||
integration:
|
|
||||||
name: Integration tests
|
|
||||||
runs-on: ${{ matrix.image }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
image: [ubuntu-20.04]
|
|
||||||
php: ["8.1", "8.2", "8.3"]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
submodules: true
|
|
||||||
|
|
||||||
- name: Setup PHP
|
|
||||||
uses: pmmp/setup-php-action@2.0.0
|
|
||||||
with:
|
|
||||||
php-version: ${{ matrix.php }}
|
|
||||||
install-path: "./bin"
|
|
||||||
pm-version-major: "5"
|
|
||||||
|
|
||||||
- name: Restore Composer package cache
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.cache/composer/files
|
|
||||||
~/.cache/composer/vcs
|
|
||||||
key: "composer-v2-cache-${{ matrix.php }}-${{ hashFiles('./composer.lock') }}"
|
|
||||||
restore-keys: |
|
|
||||||
composer-v2-cache-
|
|
||||||
|
|
||||||
- name: Install Composer dependencies
|
|
||||||
run: composer install --no-dev --prefer-dist --no-interaction
|
|
||||||
|
|
||||||
- name: Run integration tests
|
|
||||||
run: ./tests/travis.sh -t4
|
|
||||||
|
|
||||||
codegen:
|
|
||||||
name: Generated Code consistency checks
|
|
||||||
runs-on: ${{ matrix.image }}
|
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
image: [ubuntu-20.04]
|
|
||||||
php: ["8.1", "8.2", "8.3"]
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
- name: Setup PHP
|
|
||||||
uses: pmmp/setup-php-action@2.0.0
|
|
||||||
with:
|
|
||||||
php-version: ${{ matrix.php }}
|
|
||||||
install-path: "./bin"
|
|
||||||
pm-version-major: "5"
|
|
||||||
|
|
||||||
- name: Restore Composer package cache
|
|
||||||
uses: actions/cache@v3
|
|
||||||
with:
|
|
||||||
path: |
|
|
||||||
~/.cache/composer/files
|
|
||||||
~/.cache/composer/vcs
|
|
||||||
key: "composer-v2-cache-${{ matrix.php }}-${{ hashFiles('./composer.lock') }}"
|
|
||||||
restore-keys: |
|
|
||||||
composer-v2-cache-
|
|
||||||
|
|
||||||
- name: Install Composer dependencies
|
|
||||||
run: composer install --no-dev --prefer-dist --no-interaction
|
|
||||||
|
|
||||||
- name: Regenerate registry annotations
|
|
||||||
run: php build/generate-registry-annotations.php src
|
|
||||||
|
|
||||||
- name: Regenerate KnownTranslation APIs
|
|
||||||
run: php build/generate-known-translation-apis.php
|
|
||||||
|
|
||||||
- name: Regenerate BedrockData available files constants
|
|
||||||
run: php build/generate-bedrockdata-path-consts.php
|
|
||||||
|
|
||||||
- name: Regenerate YmlServerProperties constants
|
|
||||||
run: php build/generate-pocketmine-yml-property-consts.php
|
|
||||||
|
|
||||||
- name: Verify code is unchanged
|
|
||||||
run: |
|
|
||||||
git diff
|
|
||||||
git diff --quiet
|
|
||||||
|
|
||||||
codestyle:
|
codestyle:
|
||||||
name: Code Style checks
|
name: Code Style checks
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 73e5950eb90033a8de589044b92aa5e95de9c494
|
Subproject commit 6f619bf7a0b00e72a7c90915eec6e5a28866aa55
|
@ -32,6 +32,7 @@ use function getcwd;
|
|||||||
use function getopt;
|
use function getopt;
|
||||||
use function implode;
|
use function implode;
|
||||||
use function ini_get;
|
use function ini_get;
|
||||||
|
use function is_string;
|
||||||
use function microtime;
|
use function microtime;
|
||||||
use function preg_quote;
|
use function preg_quote;
|
||||||
use function realpath;
|
use function realpath;
|
||||||
@ -147,8 +148,17 @@ function main() : void{
|
|||||||
}else{
|
}else{
|
||||||
$build = 0;
|
$build = 0;
|
||||||
}
|
}
|
||||||
|
if(isset($opts["out"])){
|
||||||
|
if(!is_string($opts["out"])){
|
||||||
|
echo "--out cannot be specified multiple times" . PHP_EOL;
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
$pharPath = $opts["out"];
|
||||||
|
}else{
|
||||||
|
$pharPath = getcwd() . DIRECTORY_SEPARATOR . "PocketMine-MP.phar";
|
||||||
|
}
|
||||||
foreach(buildPhar(
|
foreach(buildPhar(
|
||||||
$opts["out"] ?? getcwd() . DIRECTORY_SEPARATOR . "PocketMine-MP.phar",
|
$pharPath,
|
||||||
dirname(__DIR__) . DIRECTORY_SEPARATOR,
|
dirname(__DIR__) . DIRECTORY_SEPARATOR,
|
||||||
[
|
[
|
||||||
'resources',
|
'resources',
|
||||||
|
@ -52,7 +52,7 @@
|
|||||||
"symfony/filesystem": "~6.4.0"
|
"symfony/filesystem": "~6.4.0"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpstan/phpstan": "1.10.50",
|
"phpstan/phpstan": "1.10.55",
|
||||||
"phpstan/phpstan-phpunit": "^1.1.0",
|
"phpstan/phpstan-phpunit": "^1.1.0",
|
||||||
"phpstan/phpstan-strict-rules": "^1.2.0",
|
"phpstan/phpstan-strict-rules": "^1.2.0",
|
||||||
"phpunit/phpunit": "~10.3.0 || ~10.2.0 || ~10.1.0"
|
"phpunit/phpunit": "~10.3.0 || ~10.2.0 || ~10.1.0"
|
||||||
|
90
composer.lock
generated
90
composer.lock
generated
@ -4,7 +4,7 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "894648a63ed7cd84303937208d1684af",
|
"content-hash": "d7a3fceea557add1b8cb461554db1ee7",
|
||||||
"packages": [
|
"packages": [
|
||||||
{
|
{
|
||||||
"name": "adhocore/json-comment",
|
"name": "adhocore/json-comment",
|
||||||
@ -1211,25 +1211,27 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "nikic/php-parser",
|
"name": "nikic/php-parser",
|
||||||
"version": "v4.18.0",
|
"version": "v5.0.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/nikic/PHP-Parser.git",
|
"url": "https://github.com/nikic/PHP-Parser.git",
|
||||||
"reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999"
|
"reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999",
|
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4a21235f7e56e713259a6f76bf4b5ea08502b9dc",
|
||||||
"reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999",
|
"reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
|
"ext-ctype": "*",
|
||||||
|
"ext-json": "*",
|
||||||
"ext-tokenizer": "*",
|
"ext-tokenizer": "*",
|
||||||
"php": ">=7.0"
|
"php": ">=7.4"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"ircmaxell/php-yacc": "^0.0.7",
|
"ircmaxell/php-yacc": "^0.0.7",
|
||||||
"phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
|
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
|
||||||
},
|
},
|
||||||
"bin": [
|
"bin": [
|
||||||
"bin/php-parse"
|
"bin/php-parse"
|
||||||
@ -1237,7 +1239,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-master": "4.9-dev"
|
"dev-master": "5.0-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@ -1261,9 +1263,9 @@
|
|||||||
],
|
],
|
||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/nikic/PHP-Parser/issues",
|
"issues": "https://github.com/nikic/PHP-Parser/issues",
|
||||||
"source": "https://github.com/nikic/PHP-Parser/tree/v4.18.0"
|
"source": "https://github.com/nikic/PHP-Parser/tree/v5.0.0"
|
||||||
},
|
},
|
||||||
"time": "2023-12-10T21:03:43+00:00"
|
"time": "2024-01-07T17:17:35+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phar-io/manifest",
|
"name": "phar-io/manifest",
|
||||||
@ -1378,16 +1380,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpstan/phpstan",
|
"name": "phpstan/phpstan",
|
||||||
"version": "1.10.50",
|
"version": "1.10.55",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/phpstan/phpstan.git",
|
"url": "https://github.com/phpstan/phpstan.git",
|
||||||
"reference": "06a98513ac72c03e8366b5a0cb00750b487032e4"
|
"reference": "9a88f9d18ddf4cf54c922fbeac16c4cb164c5949"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/06a98513ac72c03e8366b5a0cb00750b487032e4",
|
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/9a88f9d18ddf4cf54c922fbeac16c4cb164c5949",
|
||||||
"reference": "06a98513ac72c03e8366b5a0cb00750b487032e4",
|
"reference": "9a88f9d18ddf4cf54c922fbeac16c4cb164c5949",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -1436,7 +1438,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-12-13T10:59:42+00:00"
|
"time": "2024-01-08T12:32:40+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpstan/phpstan-phpunit",
|
"name": "phpstan/phpstan-phpunit",
|
||||||
@ -1541,23 +1543,23 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-code-coverage",
|
"name": "phpunit/php-code-coverage",
|
||||||
"version": "10.1.10",
|
"version": "10.1.11",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
|
||||||
"reference": "599109c8ca6bae97b23482d557d2874c25a65e59"
|
"reference": "78c3b7625965c2513ee96569a4dbb62601784145"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/599109c8ca6bae97b23482d557d2874c25a65e59",
|
"url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/78c3b7625965c2513ee96569a4dbb62601784145",
|
||||||
"reference": "599109c8ca6bae97b23482d557d2874c25a65e59",
|
"reference": "78c3b7625965c2513ee96569a4dbb62601784145",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"ext-dom": "*",
|
"ext-dom": "*",
|
||||||
"ext-libxml": "*",
|
"ext-libxml": "*",
|
||||||
"ext-xmlwriter": "*",
|
"ext-xmlwriter": "*",
|
||||||
"nikic/php-parser": "^4.15",
|
"nikic/php-parser": "^4.18 || ^5.0",
|
||||||
"php": ">=8.1",
|
"php": ">=8.1",
|
||||||
"phpunit/php-file-iterator": "^4.0",
|
"phpunit/php-file-iterator": "^4.0",
|
||||||
"phpunit/php-text-template": "^3.0",
|
"phpunit/php-text-template": "^3.0",
|
||||||
@ -1607,7 +1609,7 @@
|
|||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
|
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
|
||||||
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
|
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
|
||||||
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.10"
|
"source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.11"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -1615,7 +1617,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-12-11T06:28:43+00:00"
|
"time": "2023-12-21T15:38:30+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/php-file-iterator",
|
"name": "phpunit/php-file-iterator",
|
||||||
@ -2207,20 +2209,20 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/complexity",
|
"name": "sebastian/complexity",
|
||||||
"version": "3.1.0",
|
"version": "3.2.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/sebastianbergmann/complexity.git",
|
"url": "https://github.com/sebastianbergmann/complexity.git",
|
||||||
"reference": "68cfb347a44871f01e33ab0ef8215966432f6957"
|
"reference": "68ff824baeae169ec9f2137158ee529584553799"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68cfb347a44871f01e33ab0ef8215966432f6957",
|
"url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68ff824baeae169ec9f2137158ee529584553799",
|
||||||
"reference": "68cfb347a44871f01e33ab0ef8215966432f6957",
|
"reference": "68ff824baeae169ec9f2137158ee529584553799",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"nikic/php-parser": "^4.10",
|
"nikic/php-parser": "^4.18 || ^5.0",
|
||||||
"php": ">=8.1"
|
"php": ">=8.1"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
@ -2229,7 +2231,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "3.1-dev"
|
"dev-main": "3.2-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@ -2253,7 +2255,7 @@
|
|||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/sebastianbergmann/complexity/issues",
|
"issues": "https://github.com/sebastianbergmann/complexity/issues",
|
||||||
"security": "https://github.com/sebastianbergmann/complexity/security/policy",
|
"security": "https://github.com/sebastianbergmann/complexity/security/policy",
|
||||||
"source": "https://github.com/sebastianbergmann/complexity/tree/3.1.0"
|
"source": "https://github.com/sebastianbergmann/complexity/tree/3.2.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -2261,20 +2263,20 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-09-28T11:50:59+00:00"
|
"time": "2023-12-21T08:37:17+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/diff",
|
"name": "sebastian/diff",
|
||||||
"version": "5.0.3",
|
"version": "5.1.0",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/sebastianbergmann/diff.git",
|
"url": "https://github.com/sebastianbergmann/diff.git",
|
||||||
"reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b"
|
"reference": "fbf413a49e54f6b9b17e12d900ac7f6101591b7f"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/912dc2fbe3e3c1e7873313cc801b100b6c68c87b",
|
"url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/fbf413a49e54f6b9b17e12d900ac7f6101591b7f",
|
||||||
"reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b",
|
"reference": "fbf413a49e54f6b9b17e12d900ac7f6101591b7f",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -2287,7 +2289,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "5.0-dev"
|
"dev-main": "5.1-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@ -2320,7 +2322,7 @@
|
|||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/sebastianbergmann/diff/issues",
|
"issues": "https://github.com/sebastianbergmann/diff/issues",
|
||||||
"security": "https://github.com/sebastianbergmann/diff/security/policy",
|
"security": "https://github.com/sebastianbergmann/diff/security/policy",
|
||||||
"source": "https://github.com/sebastianbergmann/diff/tree/5.0.3"
|
"source": "https://github.com/sebastianbergmann/diff/tree/5.1.0"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -2328,7 +2330,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-05-01T07:48:21+00:00"
|
"time": "2023-12-22T10:55:06+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/environment",
|
"name": "sebastian/environment",
|
||||||
@ -2536,20 +2538,20 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/lines-of-code",
|
"name": "sebastian/lines-of-code",
|
||||||
"version": "2.0.1",
|
"version": "2.0.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
|
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
|
||||||
"reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d"
|
"reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/649e40d279e243d985aa8fb6e74dd5bb28dc185d",
|
"url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/856e7f6a75a84e339195d48c556f23be2ebf75d0",
|
||||||
"reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d",
|
"reference": "856e7f6a75a84e339195d48c556f23be2ebf75d0",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"nikic/php-parser": "^4.10",
|
"nikic/php-parser": "^4.18 || ^5.0",
|
||||||
"php": ">=8.1"
|
"php": ">=8.1"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
@ -2582,7 +2584,7 @@
|
|||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
|
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
|
||||||
"security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
|
"security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
|
||||||
"source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.1"
|
"source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.2"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -2590,7 +2592,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2023-08-31T09:25:50+00:00"
|
"time": "2023-12-21T08:38:20+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/object-enumerator",
|
"name": "sebastian/object-enumerator",
|
||||||
|
@ -24,7 +24,8 @@ declare(strict_types=1);
|
|||||||
namespace pocketmine\utils;
|
namespace pocketmine\utils;
|
||||||
|
|
||||||
use pocketmine\thread\Thread;
|
use pocketmine\thread\Thread;
|
||||||
use function time;
|
use function hrtime;
|
||||||
|
use function intdiv;
|
||||||
|
|
||||||
class ServerKiller extends Thread{
|
class ServerKiller extends Thread{
|
||||||
private bool $stopped = false;
|
private bool $stopped = false;
|
||||||
@ -34,13 +35,15 @@ class ServerKiller extends Thread{
|
|||||||
){}
|
){}
|
||||||
|
|
||||||
protected function onRun() : void{
|
protected function onRun() : void{
|
||||||
$start = time();
|
$start = hrtime(true);
|
||||||
$this->synchronized(function() : void{
|
$remaining = $this->time * 1_000_000;
|
||||||
if(!$this->stopped){
|
$this->synchronized(function() use (&$remaining, $start) : void{
|
||||||
$this->wait($this->time * 1000000);
|
while(!$this->stopped && $remaining > 0){
|
||||||
|
$this->wait($remaining);
|
||||||
|
$remaining -= intdiv(hrtime(true) - $start, 1000);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
if(time() - $start >= $this->time){
|
if($remaining <= 0){
|
||||||
echo "\nTook too long to stop, server was killed forcefully!\n";
|
echo "\nTook too long to stop, server was killed forcefully!\n";
|
||||||
@Process::kill(Process::pid());
|
@Process::kill(Process::pid());
|
||||||
}
|
}
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 411fd5bdc002edd82cf1ea658d170bb814d59483
|
Subproject commit c6dca357c7e8a37ce3479a1bedfe849451e072e3
|
Loading…
x
Reference in New Issue
Block a user