mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
Merge branch 'develop-ascraeus' into develop
* develop-ascraeus: [ticket/12783] Move phpbb requirement to extra->soft-require [ticket/12783] Correctly use dataProviders and mark tests as incomplete [ticket/12783] Move phpbb/phpbb require version to extra
This commit is contained in:
commit
05bd866cb3
7 changed files with 143 additions and 239 deletions
|
@ -306,7 +306,7 @@ class metadata_manager
|
||||||
*/
|
*/
|
||||||
public function validate_require_phpbb()
|
public function validate_require_phpbb()
|
||||||
{
|
{
|
||||||
if (!isset($this->metadata['require']['phpbb/phpbb']))
|
if (!isset($this->metadata['extra']['soft-require']['phpbb/phpbb']))
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -369,7 +369,7 @@ class metadata_manager
|
||||||
'META_REQUIRE_PHP' => (isset($this->metadata['require']['php'])) ? htmlspecialchars($this->metadata['require']['php']) : '',
|
'META_REQUIRE_PHP' => (isset($this->metadata['require']['php'])) ? htmlspecialchars($this->metadata['require']['php']) : '',
|
||||||
'META_REQUIRE_PHP_FAIL' => !$this->validate_require_php(),
|
'META_REQUIRE_PHP_FAIL' => !$this->validate_require_php(),
|
||||||
|
|
||||||
'META_REQUIRE_PHPBB' => (isset($this->metadata['require']['phpbb/phpbb'])) ? htmlspecialchars($this->metadata['require']['phpbb/phpbb']) : '',
|
'META_REQUIRE_PHPBB' => (isset($this->metadata['extra']['soft-require']['phpbb/phpbb'])) ? htmlspecialchars($this->metadata['extra']['soft-require']['phpbb/phpbb']) : '',
|
||||||
'META_REQUIRE_PHPBB_FAIL' => !$this->validate_require_phpbb(),
|
'META_REQUIRE_PHPBB_FAIL' => !$this->validate_require_phpbb(),
|
||||||
|
|
||||||
'META_DISPLAY_NAME' => (isset($this->metadata['extra']['display-name'])) ? htmlspecialchars($this->metadata['extra']['display-name']) : '',
|
'META_DISPLAY_NAME' => (isset($this->metadata['extra']['display-name'])) ? htmlspecialchars($this->metadata['extra']['display-name']) : '',
|
||||||
|
|
|
@ -13,10 +13,12 @@
|
||||||
"role": "N/A"
|
"role": "N/A"
|
||||||
}],
|
}],
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.3",
|
"php": ">=5.3"
|
||||||
"phpbb/phpbb": "3.1.*@dev"
|
|
||||||
},
|
},
|
||||||
"extra": {
|
"extra": {
|
||||||
"display-name": "phpBB BarFoo Extension"
|
"display-name": "phpBB BarFoo Extension",
|
||||||
|
"soft-require": {
|
||||||
|
"phpbb/phpbb": "3.1.*@dev"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
8
tests/extension/ext/vendor/moo/composer.json
vendored
8
tests/extension/ext/vendor/moo/composer.json
vendored
|
@ -13,10 +13,12 @@
|
||||||
"role": "N/A"
|
"role": "N/A"
|
||||||
}],
|
}],
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.3",
|
"php": ">=5.3"
|
||||||
"phpbb/phpbb": "3.1.*@dev"
|
|
||||||
},
|
},
|
||||||
"extra": {
|
"extra": {
|
||||||
"display-name": "phpBB Moo Extension"
|
"display-name": "phpBB Moo Extension",
|
||||||
|
"soft-require": {
|
||||||
|
"phpbb/phpbb": "3.1.*@dev"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,10 +12,12 @@
|
||||||
"role": "N/A"
|
"role": "N/A"
|
||||||
}],
|
}],
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.3",
|
"php": ">=5.3"
|
||||||
"phpbb/phpbb": "3.1.*@dev"
|
|
||||||
},
|
},
|
||||||
"extra": {
|
"extra": {
|
||||||
"display-name": "phpBB Bar Extension"
|
"display-name": "phpBB Bar Extension",
|
||||||
|
"soft-require": {
|
||||||
|
"phpbb/phpbb": "3.1.*@dev"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -12,10 +12,12 @@
|
||||||
"role": "N/A"
|
"role": "N/A"
|
||||||
}],
|
}],
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.3",
|
"php": ">=5.3"
|
||||||
"phpbb/phpbb": "3.1.*@dev"
|
|
||||||
},
|
},
|
||||||
"extra": {
|
"extra": {
|
||||||
"display-name": "phpBB Foo Extension"
|
"display-name": "phpBB Foo Extension",
|
||||||
|
"soft-require": {
|
||||||
|
"phpbb/phpbb": "3.1.*@dev"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -19,8 +19,11 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
|
||||||
protected $cache;
|
protected $cache;
|
||||||
protected $config;
|
protected $config;
|
||||||
protected $db;
|
protected $db;
|
||||||
|
protected $db_tools;
|
||||||
|
protected $table_prefix;
|
||||||
protected $phpbb_root_path;
|
protected $phpbb_root_path;
|
||||||
protected $phpEx;
|
protected $phpEx;
|
||||||
|
protected $migrator;
|
||||||
protected $template;
|
protected $template;
|
||||||
protected $user;
|
protected $user;
|
||||||
|
|
||||||
|
@ -70,7 +73,7 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
|
||||||
new \phpbb\db\migration\helper()
|
new \phpbb\db\migration\helper()
|
||||||
);
|
);
|
||||||
$container = new phpbb_mock_container_builder();
|
$container = new phpbb_mock_container_builder();
|
||||||
$container->set('migrator', $migrator);
|
$container->set('migrator', $this->migrator);
|
||||||
|
|
||||||
$this->extension_manager = new \phpbb\extension\manager(
|
$this->extension_manager = new \phpbb\extension\manager(
|
||||||
$container,
|
$container,
|
||||||
|
@ -96,9 +99,10 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
|
||||||
{
|
{
|
||||||
$manager->get_metadata();
|
$manager->get_metadata();
|
||||||
}
|
}
|
||||||
catch(\phpbb\extension\exception $e){}
|
catch (\phpbb\extension\exception $e)
|
||||||
|
{
|
||||||
$this->assertEquals((string) $e, $this->user->lang('FILE_NOT_FOUND', $this->phpbb_root_path . $this->extension_manager->get_extension_path($ext_name) . 'composer.json'));
|
$this->assertEquals((string) $e, $this->user->lang('FILE_NOT_FOUND', $this->phpbb_root_path . $this->extension_manager->get_extension_path($ext_name) . 'composer.json'));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Should be the same as a direct json_decode of the composer.json file
|
// Should be the same as a direct json_decode of the composer.json file
|
||||||
|
@ -112,7 +116,7 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
|
||||||
{
|
{
|
||||||
$metadata = $manager->get_metadata();
|
$metadata = $manager->get_metadata();
|
||||||
}
|
}
|
||||||
catch(\phpbb\extension\exception $e)
|
catch (\phpbb\extension\exception $e)
|
||||||
{
|
{
|
||||||
$this->fail($e);
|
$this->fail($e);
|
||||||
}
|
}
|
||||||
|
@ -122,64 +126,42 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
|
||||||
$this->assertEquals($metadata, $json);
|
$this->assertEquals($metadata, $json);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function test_validator_non_existant()
|
public function validator_non_existing_data()
|
||||||
{
|
{
|
||||||
$ext_name = 'validator';
|
return array(
|
||||||
|
array('name'),
|
||||||
|
array('type'),
|
||||||
|
array('license'),
|
||||||
|
array('version'),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
$manager = $this->get_metadata_manager($ext_name);
|
/**
|
||||||
|
* @dataProvider validator_non_existing_data
|
||||||
// Non-existant data
|
*/
|
||||||
|
public function test_validator_non_existing($field_name)
|
||||||
|
{
|
||||||
|
$manager = $this->get_metadata_manager('validator');
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
$manager->validate('name');
|
$manager->validate($field_name);
|
||||||
|
|
||||||
$this->fail('Exception not triggered');
|
$this->fail('Exception not triggered');
|
||||||
}
|
}
|
||||||
catch(\phpbb\extension\exception $e)
|
catch(\phpbb\extension\exception $e)
|
||||||
{
|
{
|
||||||
$this->assertEquals((string) $e, $this->user->lang('META_FIELD_NOT_SET', 'name'));
|
$this->assertEquals((string) $e, $this->user->lang('META_FIELD_NOT_SET', $field_name));
|
||||||
}
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
$manager->validate('type');
|
|
||||||
|
|
||||||
$this->fail('Exception not triggered');
|
|
||||||
}
|
|
||||||
catch(\phpbb\extension\exception $e)
|
|
||||||
{
|
|
||||||
$this->assertEquals((string) $e, $this->user->lang('META_FIELD_NOT_SET', 'type'));
|
|
||||||
}
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
$manager->validate('license');
|
|
||||||
|
|
||||||
$this->fail('Exception not triggered');
|
|
||||||
}
|
|
||||||
catch(\phpbb\extension\exception $e)
|
|
||||||
{
|
|
||||||
$this->assertEquals((string) $e, $this->user->lang('META_FIELD_NOT_SET', 'license'));
|
|
||||||
}
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
$manager->validate('version');
|
|
||||||
|
|
||||||
$this->fail('Exception not triggered');
|
|
||||||
}
|
|
||||||
catch(\phpbb\extension\exception $e)
|
|
||||||
{
|
|
||||||
$this->assertEquals((string) $e, $this->user->lang('META_FIELD_NOT_SET', 'version'));
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_validator_non_existing_authors()
|
||||||
|
{
|
||||||
|
$manager = $this->get_metadata_manager('validator');
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
$manager->validate_authors();
|
$manager->validate_authors();
|
||||||
|
|
||||||
$this->fail('Exception not triggered');
|
$this->fail('Exception not triggered');
|
||||||
}
|
}
|
||||||
catch(\phpbb\extension\exception $e)
|
catch (\phpbb\extension\exception $e)
|
||||||
{
|
{
|
||||||
$this->assertEquals((string) $e, $this->user->lang('META_FIELD_NOT_SET', 'authors'));
|
$this->assertEquals((string) $e, $this->user->lang('META_FIELD_NOT_SET', 'authors'));
|
||||||
}
|
}
|
||||||
|
@ -193,72 +175,44 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
$manager->validate_authors();
|
$manager->validate_authors();
|
||||||
|
|
||||||
$this->fail('Exception not triggered');
|
$this->fail('Exception not triggered');
|
||||||
}
|
}
|
||||||
catch(\phpbb\extension\exception $e)
|
catch (\phpbb\extension\exception $e)
|
||||||
{
|
{
|
||||||
$this->assertEquals((string) $e, $this->user->lang('META_FIELD_NOT_SET', 'author name'));
|
$this->assertEquals((string) $e, $this->user->lang('META_FIELD_NOT_SET', 'author name'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function validator_invalid_data()
|
||||||
public function test_validator_invalid()
|
|
||||||
{
|
{
|
||||||
$ext_name = 'validator';
|
return array(
|
||||||
|
array('name', 'asdf'),
|
||||||
|
array('type', 'asdf'),
|
||||||
|
array('license', ''),
|
||||||
|
array('version', ''),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
$manager = $this->get_metadata_manager($ext_name);
|
/**
|
||||||
|
* @dataProvider validator_invalid_data
|
||||||
|
*/
|
||||||
|
public function test_validator_invalid($field_name, $field_value)
|
||||||
|
{
|
||||||
|
$manager = $this->get_metadata_manager('validator');
|
||||||
|
|
||||||
// Invalid data
|
// Invalid data
|
||||||
$manager->set_metadata(array(
|
$manager->set_metadata(array(
|
||||||
'name' => 'asdf',
|
$field_name => $field_value,
|
||||||
'type' => 'asdf',
|
|
||||||
'license' => '',
|
|
||||||
'version' => '',
|
|
||||||
));
|
));
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
$manager->validate('name');
|
$manager->validate($field_name);
|
||||||
|
|
||||||
$this->fail('Exception not triggered');
|
$this->fail('Exception not triggered');
|
||||||
}
|
}
|
||||||
catch(\phpbb\extension\exception $e)
|
catch(\phpbb\extension\exception $e)
|
||||||
{
|
{
|
||||||
$this->assertEquals((string) $e, $this->user->lang('META_FIELD_INVALID', 'name'));
|
$this->assertEquals((string) $e, $this->user->lang('META_FIELD_INVALID', $field_name));
|
||||||
}
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
$manager->validate('type');
|
|
||||||
|
|
||||||
$this->fail('Exception not triggered');
|
|
||||||
}
|
|
||||||
catch(\phpbb\extension\exception $e)
|
|
||||||
{
|
|
||||||
$this->assertEquals((string) $e, $this->user->lang('META_FIELD_INVALID', 'type'));
|
|
||||||
}
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
$manager->validate('license');
|
|
||||||
|
|
||||||
$this->fail('Exception not triggered');
|
|
||||||
}
|
|
||||||
catch(\phpbb\extension\exception $e)
|
|
||||||
{
|
|
||||||
$this->assertEquals((string) $e, $this->user->lang('META_FIELD_INVALID', 'license'));
|
|
||||||
}
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
$manager->validate('version');
|
|
||||||
|
|
||||||
$this->fail('Exception not triggered');
|
|
||||||
}
|
|
||||||
catch(\phpbb\extension\exception $e)
|
|
||||||
{
|
|
||||||
$this->assertEquals((string) $e, $this->user->lang('META_FIELD_INVALID', 'version'));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -286,143 +240,83 @@ class phpbb_extension_metadata_manager_test extends phpbb_database_test_case
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function validator_requirements_data()
|
||||||
public function test_validator_requirements()
|
|
||||||
{
|
{
|
||||||
$ext_name = 'validator';
|
return array(
|
||||||
|
array(
|
||||||
|
'10.0.0',
|
||||||
|
'100.2.0',
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
'Versions are not compared at the moment',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'5.3.0',
|
||||||
|
'3.1.0-beta',
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'>' . phpversion(),
|
||||||
|
'>3.1.0',
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
'Versions are not compared at the moment',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'<' . phpversion(),
|
||||||
|
'<3.1.0',
|
||||||
|
false,
|
||||||
|
false,
|
||||||
|
'Versions are not compared at the moment',
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
phpversion(),
|
||||||
|
'3.1.0',
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'>=' . phpversion(),
|
||||||
|
'>=3.1.0',
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
),
|
||||||
|
array(
|
||||||
|
'<=' . phpversion(),
|
||||||
|
'<=3.1.0',
|
||||||
|
true,
|
||||||
|
true,
|
||||||
|
),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @dataProvider validator_requirements_data
|
||||||
|
*/
|
||||||
|
public function test_validator_requirements($php_version, $phpbb_version, $expected_php, $expected_phpbb, $incomplete_reason = '')
|
||||||
|
{
|
||||||
|
if ($incomplete_reason)
|
||||||
|
{
|
||||||
|
$this->markTestIncomplete($incomplete_reason);
|
||||||
|
}
|
||||||
|
|
||||||
|
$ext_name = 'validator';
|
||||||
$manager = $this->get_metadata_manager($ext_name);
|
$manager = $this->get_metadata_manager($ext_name);
|
||||||
// Too high of requirements
|
// Too high of requirements
|
||||||
$manager->merge_metadata(array(
|
$manager->merge_metadata(array(
|
||||||
'require' => array(
|
'require' => array(
|
||||||
'php' => '10.0.0',
|
'php' => $php_version,
|
||||||
'phpbb/phpbb' => '3.2.0', // config is set to 3.1.0
|
),
|
||||||
|
'extra' => array(
|
||||||
|
'soft-require' => array(
|
||||||
|
'phpbb/phpbb' => $phpbb_version, // config is set to 3.1.0
|
||||||
|
),
|
||||||
),
|
),
|
||||||
));
|
));
|
||||||
|
|
||||||
try
|
$this->assertEquals($expected_php, $manager->validate_require_php());
|
||||||
{
|
$this->assertEquals($expected_phpbb, $manager->validate_require_phpbb());
|
||||||
//$this->assertEquals(false, $manager->validate_require_php());
|
|
||||||
//$this->assertEquals(false, $manager->validate_require_phpbb());
|
|
||||||
}
|
|
||||||
catch(\phpbb\extension\exception $e)
|
|
||||||
{
|
|
||||||
$this->fail($e);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Too high of requirements
|
|
||||||
$manager->merge_metadata(array(
|
|
||||||
'require' => array(
|
|
||||||
'php' => '5.3.0',
|
|
||||||
'phpbb/phpbb' => '3.1.0-beta', // config is set to 3.1.0
|
|
||||||
),
|
|
||||||
));
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
$this->assertEquals(true, $manager->validate_require_php());
|
|
||||||
$this->assertEquals(true, $manager->validate_require_phpbb());
|
|
||||||
}
|
|
||||||
catch(\phpbb\extension\exception $e)
|
|
||||||
{
|
|
||||||
$this->fail($e);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Too high of requirements
|
|
||||||
$manager->merge_metadata(array(
|
|
||||||
'require' => array(
|
|
||||||
'php' => '>' . phpversion(),
|
|
||||||
'phpbb/phpbb' => '>3.1.0', // config is set to 3.1.0
|
|
||||||
),
|
|
||||||
));
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
//$this->assertEquals(false, $manager->validate_require_php());
|
|
||||||
//$this->assertEquals(false, $manager->validate_require_phpbb());
|
|
||||||
}
|
|
||||||
catch(\phpbb\extension\exception $e)
|
|
||||||
{
|
|
||||||
$this->fail($e);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Too high of current install
|
|
||||||
$manager->merge_metadata(array(
|
|
||||||
'require' => array(
|
|
||||||
'php' => '<' . phpversion(),
|
|
||||||
'phpbb/phpbb' => '<3.1.0', // config is set to 3.1.0
|
|
||||||
),
|
|
||||||
));
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
//$this->assertEquals(false, $manager->validate_require_php());
|
|
||||||
//$this->assertEquals(false, $manager->validate_require_phpbb());
|
|
||||||
}
|
|
||||||
catch(\phpbb\extension\exception $e)
|
|
||||||
{
|
|
||||||
$this->fail($e);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Matching requirements
|
|
||||||
$manager->merge_metadata(array(
|
|
||||||
'require' => array(
|
|
||||||
'php' => phpversion(),
|
|
||||||
'phpbb/phpbb' => '3.1.0', // config is set to 3.1.0
|
|
||||||
),
|
|
||||||
));
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
$this->assertEquals(true, $manager->validate_require_php());
|
|
||||||
$this->assertEquals(true, $manager->validate_require_phpbb());
|
|
||||||
}
|
|
||||||
catch(\phpbb\extension\exception $e)
|
|
||||||
{
|
|
||||||
$this->fail($e);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Matching requirements
|
|
||||||
$manager->merge_metadata(array(
|
|
||||||
'require' => array(
|
|
||||||
'php' => '>=' . phpversion(),
|
|
||||||
'phpbb/phpbb' => '>=3.1.0', // config is set to 3.1.0
|
|
||||||
),
|
|
||||||
));
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
$this->assertEquals(true, $manager->validate_require_php());
|
|
||||||
$this->assertEquals(true, $manager->validate_require_phpbb());
|
|
||||||
}
|
|
||||||
catch(\phpbb\extension\exception $e)
|
|
||||||
{
|
|
||||||
$this->fail($e);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Matching requirements
|
|
||||||
$manager->merge_metadata(array(
|
|
||||||
'require' => array(
|
|
||||||
'php' => '<=' . phpversion(),
|
|
||||||
'phpbb/phpbb' => '<=3.1.0', // config is set to 3.1.0
|
|
||||||
),
|
|
||||||
));
|
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
$this->assertEquals(true, $manager->validate_require_php());
|
|
||||||
$this->assertEquals(true, $manager->validate_require_phpbb());
|
|
||||||
}
|
|
||||||
catch(\phpbb\extension\exception $e)
|
|
||||||
{
|
|
||||||
$this->fail($e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -13,10 +13,12 @@
|
||||||
"role": "Developer"
|
"role": "Developer"
|
||||||
}],
|
}],
|
||||||
"require": {
|
"require": {
|
||||||
"php": ">=5.3",
|
"php": ">=5.3"
|
||||||
"phpbb/phpbb": "3.1.*@dev"
|
|
||||||
},
|
},
|
||||||
"extra": {
|
"extra": {
|
||||||
"display-name": "phpBB 3.1 Extension Testing"
|
"display-name": "phpBB 3.1 Extension Testing",
|
||||||
|
"soft-require": {
|
||||||
|
"phpbb/phpbb": "3.1.*@dev"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue