mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-06-06 11:57:10 +00:00
Merge branch 'stable'
This commit is contained in:
commit
533d3aae8b
9
.github/workflows/draft-release.yml
vendored
9
.github/workflows/draft-release.yml
vendored
@ -35,17 +35,18 @@ jobs:
|
|||||||
- name: Install Composer dependencies
|
- name: Install Composer dependencies
|
||||||
run: composer install --no-dev --prefer-dist --no-interaction --ignore-platform-reqs
|
run: composer install --no-dev --prefer-dist --no-interaction --ignore-platform-reqs
|
||||||
|
|
||||||
- name: Patch VersionInfo
|
- name: Calculate build number
|
||||||
|
id: build-number
|
||||||
run: |
|
run: |
|
||||||
BUILD_NUMBER=2000+$GITHUB_RUN_NUMBER #to stay above jenkins
|
BUILD_NUMBER=2000+$GITHUB_RUN_NUMBER #to stay above jenkins
|
||||||
echo "Build number: $BUILD_NUMBER"
|
echo "Build number: $BUILD_NUMBER"
|
||||||
sed -i "s/const BUILD_NUMBER = 0/const BUILD_NUMBER = ${BUILD_NUMBER}/" src/VersionInfo.php
|
echo ::set-output name=BUILD_NUMBER::$BUILD_NUMBER
|
||||||
|
|
||||||
- name: Minify BedrockData JSON files
|
- name: Minify BedrockData JSON files
|
||||||
run: php vendor/pocketmine/bedrock-data/.minify_json.php
|
run: php vendor/pocketmine/bedrock-data/.minify_json.php
|
||||||
|
|
||||||
- name: Build PocketMine-MP.phar
|
- name: Build PocketMine-MP.phar
|
||||||
run: php -dphar.readonly=0 build/server-phar.php --git ${{ github.sha }}
|
run: php -dphar.readonly=0 build/server-phar.php --git ${{ github.sha }} --build ${{ steps.build-number.outputs.BUILD_NUMBER }}
|
||||||
|
|
||||||
- name: Get PocketMine-MP release version
|
- name: Get PocketMine-MP release version
|
||||||
id: get-pm-version
|
id: get-pm-version
|
||||||
@ -56,7 +57,7 @@ jobs:
|
|||||||
echo ::set-output name=PM_VERSION_MD::$(php -r 'require "vendor/autoload.php"; echo str_replace(".", "", \pocketmine\VersionInfo::BASE_VERSION);')
|
echo ::set-output name=PM_VERSION_MD::$(php -r 'require "vendor/autoload.php"; echo str_replace(".", "", \pocketmine\VersionInfo::BASE_VERSION);')
|
||||||
|
|
||||||
- name: Generate build info
|
- name: Generate build info
|
||||||
run: php build/generate-build-info-json.php ${{ github.sha }} ${{ steps.get-pm-version.outputs.PM_VERSION }} ${{ github.repository }} > build_info.json
|
run: php build/generate-build-info-json.php ${{ github.sha }} ${{ steps.get-pm-version.outputs.PM_VERSION }} ${{ github.repository }} ${{ steps.build-number.outputs.BUILD_NUMBER }} > build_info.json
|
||||||
|
|
||||||
- name: Upload release artifacts
|
- name: Upload release artifacts
|
||||||
uses: actions/upload-artifact@v2
|
uses: actions/upload-artifact@v2
|
||||||
|
@ -23,15 +23,15 @@ declare(strict_types=1);
|
|||||||
|
|
||||||
require dirname(__DIR__) . '/vendor/autoload.php';
|
require dirname(__DIR__) . '/vendor/autoload.php';
|
||||||
|
|
||||||
if(count($argv) !== 4){
|
if(count($argv) !== 5){
|
||||||
fwrite(STDERR, "required args: <git hash> <tag name> <github repo (owner/name)>");
|
fwrite(STDERR, "required args: <git hash> <tag name> <github repo (owner/name)> <build number>");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
echo json_encode([
|
echo json_encode([
|
||||||
"php_version" => sprintf("%d.%d", PHP_MAJOR_VERSION, PHP_MINOR_VERSION),
|
"php_version" => sprintf("%d.%d", PHP_MAJOR_VERSION, PHP_MINOR_VERSION),
|
||||||
"base_version" => \pocketmine\VersionInfo::BASE_VERSION,
|
"base_version" => \pocketmine\VersionInfo::BASE_VERSION,
|
||||||
"build" => \pocketmine\VersionInfo::BUILD_NUMBER,
|
"build" => (int) $argv[4],
|
||||||
"is_dev" => \pocketmine\VersionInfo::IS_DEVELOPMENT_BUILD,
|
"is_dev" => \pocketmine\VersionInfo::IS_DEVELOPMENT_BUILD,
|
||||||
"channel" => \pocketmine\VersionInfo::BUILD_CHANNEL,
|
"channel" => \pocketmine\VersionInfo::BUILD_CHANNEL,
|
||||||
"git_commit" => $argv[1],
|
"git_commit" => $argv[1],
|
||||||
|
@ -134,13 +134,18 @@ function main() : void{
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
$opts = getopt("", ["out:", "git:"]);
|
$opts = getopt("", ["out:", "git:", "build:"]);
|
||||||
if(isset($opts["git"])){
|
if(isset($opts["git"])){
|
||||||
$gitHash = $opts["git"];
|
$gitHash = $opts["git"];
|
||||||
}else{
|
}else{
|
||||||
$gitHash = Git::getRepositoryStatePretty(dirname(__DIR__));
|
$gitHash = Git::getRepositoryStatePretty(dirname(__DIR__));
|
||||||
echo "Git hash detected as $gitHash" . PHP_EOL;
|
echo "Git hash detected as $gitHash" . PHP_EOL;
|
||||||
}
|
}
|
||||||
|
if(isset($opts["build"])){
|
||||||
|
$build = (int) $opts["build"];
|
||||||
|
}else{
|
||||||
|
$build = 0;
|
||||||
|
}
|
||||||
foreach(buildPhar(
|
foreach(buildPhar(
|
||||||
$opts["out"] ?? getcwd() . DIRECTORY_SEPARATOR . "PocketMine-MP.phar",
|
$opts["out"] ?? getcwd() . DIRECTORY_SEPARATOR . "PocketMine-MP.phar",
|
||||||
dirname(__DIR__) . DIRECTORY_SEPARATOR,
|
dirname(__DIR__) . DIRECTORY_SEPARATOR,
|
||||||
@ -150,7 +155,8 @@ function main() : void{
|
|||||||
'vendor'
|
'vendor'
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'git' => $gitHash
|
'git' => $gitHash,
|
||||||
|
'build' => $build
|
||||||
],
|
],
|
||||||
<<<'STUB'
|
<<<'STUB'
|
||||||
<?php
|
<?php
|
||||||
|
@ -25,13 +25,14 @@ namespace pocketmine;
|
|||||||
|
|
||||||
use pocketmine\utils\Git;
|
use pocketmine\utils\Git;
|
||||||
use pocketmine\utils\VersionString;
|
use pocketmine\utils\VersionString;
|
||||||
|
use function is_array;
|
||||||
|
use function is_int;
|
||||||
use function str_repeat;
|
use function str_repeat;
|
||||||
|
|
||||||
final class VersionInfo{
|
final class VersionInfo{
|
||||||
public const NAME = "PocketMine-MP";
|
public const NAME = "PocketMine-MP";
|
||||||
public const BASE_VERSION = "4.0.0-BETA14";
|
public const BASE_VERSION = "4.0.0-BETA14";
|
||||||
public const IS_DEVELOPMENT_BUILD = true;
|
public const IS_DEVELOPMENT_BUILD = true;
|
||||||
public const BUILD_NUMBER = 0;
|
|
||||||
public const BUILD_CHANNEL = "beta";
|
public const BUILD_CHANNEL = "beta";
|
||||||
|
|
||||||
private function __construct(){
|
private function __construct(){
|
||||||
@ -61,12 +62,29 @@ final class VersionInfo{
|
|||||||
return self::$gitHash;
|
return self::$gitHash;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static ?int $buildNumber = null;
|
||||||
|
|
||||||
|
public static function BUILD_NUMBER() : int{
|
||||||
|
if(self::$buildNumber === null){
|
||||||
|
self::$buildNumber = 0;
|
||||||
|
if(\Phar::running(true) !== ""){
|
||||||
|
$phar = new \Phar(\Phar::running(false));
|
||||||
|
$meta = $phar->getMetadata();
|
||||||
|
if(is_array($meta) && isset($meta["build"]) && is_int($meta["build"])){
|
||||||
|
self::$buildNumber = $meta["build"];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return self::$buildNumber;
|
||||||
|
}
|
||||||
|
|
||||||
/** @var VersionString|null */
|
/** @var VersionString|null */
|
||||||
private static $fullVersion = null;
|
private static $fullVersion = null;
|
||||||
|
|
||||||
public static function VERSION() : VersionString{
|
public static function VERSION() : VersionString{
|
||||||
if(self::$fullVersion === null){
|
if(self::$fullVersion === null){
|
||||||
self::$fullVersion = new VersionString(self::BASE_VERSION, self::IS_DEVELOPMENT_BUILD, self::BUILD_NUMBER);
|
self::$fullVersion = new VersionString(self::BASE_VERSION, self::IS_DEVELOPMENT_BUILD, self::BUILD_NUMBER());
|
||||||
}
|
}
|
||||||
return self::$fullVersion;
|
return self::$fullVersion;
|
||||||
}
|
}
|
||||||
|
@ -279,7 +279,7 @@ class CrashDump{
|
|||||||
$this->data->general = new CrashDumpDataGeneral(
|
$this->data->general = new CrashDumpDataGeneral(
|
||||||
name: $this->server->getName(),
|
name: $this->server->getName(),
|
||||||
base_version: VersionInfo::BASE_VERSION,
|
base_version: VersionInfo::BASE_VERSION,
|
||||||
build: VersionInfo::BUILD_NUMBER,
|
build: VersionInfo::BUILD_NUMBER(),
|
||||||
is_dev: VersionInfo::IS_DEVELOPMENT_BUILD,
|
is_dev: VersionInfo::IS_DEVELOPMENT_BUILD,
|
||||||
protocol: ProtocolInfo::CURRENT_PROTOCOL,
|
protocol: ProtocolInfo::CURRENT_PROTOCOL,
|
||||||
git: VersionInfo::GIT_HASH(),
|
git: VersionInfo::GIT_HASH(),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user