Skip to content

Commit 1596214

Browse files
committed
Chech submission branch too if writing comp-installers
1 parent a60c693 commit 1596214

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

contribution/extension/type.php

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -280,7 +280,7 @@ protected function repack(package $package, \titania_contribution $contrib, \tit
280280

281281
$ext_name = $data['name'];
282282
$data['type'] = 'phpbb-extension';
283-
$data = $this->update_phpbb_requirement($data);
283+
$data = $this->update_phpbb_requirement($data, $revision);
284284
$data = $this->set_version_check($data, $contrib);
285285

286286
$data = json_encode(
@@ -352,9 +352,10 @@ protected function set_version_check(array $data, \titania_contribution $contrib
352352
* Updates phpBB requirements in composer.json
353353
*
354354
* @param array $data composer.json data
355+
* @param \titania_revision $revision
355356
* @return array Returns $data array with phpBB requirement updated
356357
*/
357-
protected function update_phpbb_requirement(array $data)
358+
protected function update_phpbb_requirement(array $data, \titania_revision $revision)
358359
{
359360
if (!isset($data['require']['phpbb/phpbb']))
360361
{
@@ -374,7 +375,7 @@ protected function update_phpbb_requirement(array $data)
374375
if (!isset($data['require']['composer/installers']))
375376
{
376377
$installers_version = '~1.0';
377-
if (isset($data['require']['phpbb/phpbb']) && $this->requires_phpbb_4_or_higher($data['require']['phpbb/phpbb']))
378+
if ($this->is_phpbb_4_branch($revision) || (isset($data['require']['phpbb/phpbb']) && $this->requires_phpbb_4($data['require']['phpbb/phpbb'])))
378379
{
379380
$installers_version = '^1.0 || ^2.0';
380381
}
@@ -401,7 +402,7 @@ protected function is_stable_version($version)
401402
* @param string $constraint Version constraint
402403
* @return bool True if constraint requires phpBB 4.0.0+
403404
*/
404-
protected function requires_phpbb_4_or_higher($constraint)
405+
protected function requires_phpbb_4($constraint)
405406
{
406407
try
407408
{
@@ -418,6 +419,17 @@ protected function requires_phpbb_4_or_higher($constraint)
418419
}
419420
}
420421

422+
/**
423+
* Check if revision is submitted to phpBB 4.0+ branch
424+
*
425+
* @param \titania_revision $revision
426+
* @return bool True if submitted to phpBB 4.0+ branch
427+
*/
428+
protected function is_phpbb_4_branch(\titania_revision $revision)
429+
{
430+
return max(array_column($revision->phpbb_versions, 'phpbb_version_branch')) >= 40;
431+
}
432+
421433
/**
422434
* Get prevalidator
423435
*

0 commit comments

Comments
 (0)