mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-08-11 14:02:05 +00:00
Added support for Composer (#323)
This commit is contained in:
parent
3b9689674d
commit
25adac8859
2
.gitignore
vendored
2
.gitignore
vendored
@ -28,3 +28,5 @@ Desktop.ini
|
|||||||
# Sphinx-doc
|
# Sphinx-doc
|
||||||
/docs/build/
|
/docs/build/
|
||||||
!/docs/requirements.txt
|
!/docs/requirements.txt
|
||||||
|
|
||||||
|
vendor/*
|
||||||
|
@ -14,6 +14,7 @@ before_script:
|
|||||||
- make install
|
- make install
|
||||||
- cd ..
|
- cd ..
|
||||||
- echo "extension=pthreads.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
- echo "extension=pthreads.so" >> ~/.phpenv/versions/$(phpenv version-name)/etc/php.ini
|
||||||
|
- composer install
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- ./tests/travis.sh
|
- ./tests/travis.sh
|
||||||
|
33
composer.json
Normal file
33
composer.json
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"name": "pmmp/pocketmine-mp",
|
||||||
|
"description": "A server software for Minecraft: Pocket Edition written in PHP",
|
||||||
|
"type": "project",
|
||||||
|
"homepage": "https://pmmp.io",
|
||||||
|
"license": "LGPL-3.0",
|
||||||
|
"require": {
|
||||||
|
"php": ">=7.2",
|
||||||
|
"ext-bcmath": "*",
|
||||||
|
"ext-curl": "*",
|
||||||
|
"ext-hash": "*",
|
||||||
|
"ext-json": "*",
|
||||||
|
"ext-mbstring": "*",
|
||||||
|
"ext-openssl": "*",
|
||||||
|
"ext-pcre": "*",
|
||||||
|
"ext-phar": "*",
|
||||||
|
"ext-pthreads": ">=3.1.7dev",
|
||||||
|
"ext-reflection": "*",
|
||||||
|
"ext-sockets": "*",
|
||||||
|
"ext-spl": "*",
|
||||||
|
"ext-yaml": ">=2.0.0",
|
||||||
|
"ext-zip": "*",
|
||||||
|
"ext-zlib": ">=1.2.11"
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"exclude-from-classmap": [
|
||||||
|
"src/spl/stubs"
|
||||||
|
],
|
||||||
|
"psr-0": {
|
||||||
|
"": ["src", "src/spl"]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
36
composer.lock
generated
Normal file
36
composer.lock
generated
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"_readme": [
|
||||||
|
"This file locks the dependencies of your project to a known state",
|
||||||
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||||
|
"This file is @generated automatically"
|
||||||
|
],
|
||||||
|
"content-hash": "d4fecad9dce5314493052c870c8cf059",
|
||||||
|
"packages": [],
|
||||||
|
"packages-dev": [],
|
||||||
|
"aliases": [],
|
||||||
|
"minimum-stability": "stable",
|
||||||
|
"stability-flags": {
|
||||||
|
"ext-pthreads": 20
|
||||||
|
},
|
||||||
|
"prefer-stable": false,
|
||||||
|
"prefer-lowest": false,
|
||||||
|
"platform": {
|
||||||
|
"php": ">=7.2",
|
||||||
|
"ext-bcmath": "*",
|
||||||
|
"ext-curl": "*",
|
||||||
|
"ext-hash": "*",
|
||||||
|
"ext-json": "*",
|
||||||
|
"ext-mbstring": "*",
|
||||||
|
"ext-openssl": "*",
|
||||||
|
"ext-pcre": "*",
|
||||||
|
"ext-phar": "*",
|
||||||
|
"ext-pthreads": ">=3.1.7dev",
|
||||||
|
"ext-reflection": "*",
|
||||||
|
"ext-sockets": "*",
|
||||||
|
"ext-spl": "*",
|
||||||
|
"ext-yaml": ">=2.0.0",
|
||||||
|
"ext-zip": "*",
|
||||||
|
"ext-zlib": ">=1.2.11"
|
||||||
|
},
|
||||||
|
"platform-dev": []
|
||||||
|
}
|
@ -70,6 +70,7 @@ namespace {
|
|||||||
}
|
}
|
||||||
|
|
||||||
namespace pocketmine {
|
namespace pocketmine {
|
||||||
|
|
||||||
use pocketmine\utils\Binary;
|
use pocketmine\utils\Binary;
|
||||||
use pocketmine\utils\MainLogger;
|
use pocketmine\utils\MainLogger;
|
||||||
use pocketmine\utils\ServerKiller;
|
use pocketmine\utils\ServerKiller;
|
||||||
@ -134,15 +135,26 @@ namespace pocketmine {
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(is_file(\pocketmine\PATH . "vendor/autoload.php")){
|
||||||
|
require_once(\pocketmine\PATH . "vendor/autoload.php");
|
||||||
|
}else{
|
||||||
|
echo "[CRITICAL] Composer autoloader not found" . PHP_EOL;
|
||||||
|
echo "[CRITICAL] Please initialize composer dependencies before running." . PHP_EOL;
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
if(!class_exists("ClassLoader", false)){
|
if(!class_exists("ClassLoader", false)){
|
||||||
require_once(\pocketmine\PATH . "src/spl/ClassLoader.php");
|
require_once(\pocketmine\PATH . "src/spl/ClassLoader.php");
|
||||||
require_once(\pocketmine\PATH . "src/spl/BaseClassLoader.php");
|
require_once(\pocketmine\PATH . "src/spl/BaseClassLoader.php");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* We now use the Composer autoloader, but this autoloader is still used by RakLib and for loading plugins.
|
||||||
|
*/
|
||||||
$autoloader = new \BaseClassLoader();
|
$autoloader = new \BaseClassLoader();
|
||||||
$autoloader->addPath(\pocketmine\PATH . "src");
|
$autoloader->addPath(\pocketmine\PATH . "src");
|
||||||
$autoloader->addPath(\pocketmine\PATH . "src" . DIRECTORY_SEPARATOR . "spl");
|
$autoloader->addPath(\pocketmine\PATH . "src" . DIRECTORY_SEPARATOR . "spl");
|
||||||
$autoloader->register(true);
|
$autoloader->register(false);
|
||||||
|
|
||||||
if(!class_exists(RakLib::class)){
|
if(!class_exists(RakLib::class)){
|
||||||
echo "[CRITICAL] Unable to find the RakLib library." . PHP_EOL;
|
echo "[CRITICAL] Unable to find the RakLib library." . PHP_EOL;
|
||||||
|
@ -51,12 +51,13 @@ abstract class Thread extends \Thread{
|
|||||||
* (unless you are using a custom autoloader).
|
* (unless you are using a custom autoloader).
|
||||||
*/
|
*/
|
||||||
public function registerClassLoader(){
|
public function registerClassLoader(){
|
||||||
|
require(\pocketmine\PATH . "vendor/autoload.php");
|
||||||
if(!interface_exists("ClassLoader", false)){
|
if(!interface_exists("ClassLoader", false)){
|
||||||
require(\pocketmine\PATH . "src/spl/ClassLoader.php");
|
require(\pocketmine\PATH . "src/spl/ClassLoader.php");
|
||||||
require(\pocketmine\PATH . "src/spl/BaseClassLoader.php");
|
require(\pocketmine\PATH . "src/spl/BaseClassLoader.php");
|
||||||
}
|
}
|
||||||
if($this->classLoader !== null){
|
if($this->classLoader !== null){
|
||||||
$this->classLoader->register(true);
|
$this->classLoader->register(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -52,12 +52,13 @@ abstract class Worker extends \Worker{
|
|||||||
* (unless you are using a custom autoloader).
|
* (unless you are using a custom autoloader).
|
||||||
*/
|
*/
|
||||||
public function registerClassLoader(){
|
public function registerClassLoader(){
|
||||||
|
require(\pocketmine\PATH . "vendor/autoload.php");
|
||||||
if(!interface_exists("ClassLoader", false)){
|
if(!interface_exists("ClassLoader", false)){
|
||||||
require(\pocketmine\PATH . "src/spl/ClassLoader.php");
|
require(\pocketmine\PATH . "src/spl/ClassLoader.php");
|
||||||
require(\pocketmine\PATH . "src/spl/BaseClassLoader.php");
|
require(\pocketmine\PATH . "src/spl/BaseClassLoader.php");
|
||||||
}
|
}
|
||||||
if($this->classLoader !== null){
|
if($this->classLoader !== null){
|
||||||
$this->classLoader->register(true);
|
$this->classLoader->register(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@ cd tests/plugins/PocketMine-DevTools
|
|||||||
"$PHP_BINARY" -dphar.readonly=0 ./src/DevTools/ConsoleScript.php --make ./ --relative ./ --out ../../../DevTools.phar
|
"$PHP_BINARY" -dphar.readonly=0 ./src/DevTools/ConsoleScript.php --make ./ --relative ./ --out ../../../DevTools.phar
|
||||||
cd ../../..
|
cd ../../..
|
||||||
|
|
||||||
"$PHP_BINARY" -dphar.readonly=0 DevTools.phar --make src --relative ./ --entry src/pocketmine/PocketMine.php --out PocketMine-MP.phar
|
"$PHP_BINARY" -dphar.readonly=0 DevTools.phar --make src,vendor --relative ./ --entry src/pocketmine/PocketMine.php --out PocketMine-MP.phar
|
||||||
if [ -f PocketMine-MP.phar ]; then
|
if [ -f PocketMine-MP.phar ]; then
|
||||||
echo Server phar created successfully.
|
echo Server phar created successfully.
|
||||||
else
|
else
|
||||||
|
Loading…
x
Reference in New Issue
Block a user