chore(legacy): Introduce public version ct plass and drop version methods from OC_Util
Signed-off-by: Julius Knorr <jus@bitgrid.net>pull/48152/head
parent
7ff911665e
commit
606241caeb
@ -0,0 +1,102 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
namespace OCP;
|
||||
|
||||
/**
|
||||
* @since 31.0.0
|
||||
*/
|
||||
class ServerVersion {
|
||||
|
||||
private array $version;
|
||||
private string $versionString;
|
||||
private string $build;
|
||||
/** @var 'beta'|'stable'|'enterprise'|'git' */
|
||||
private string $channel;
|
||||
|
||||
/**
|
||||
* @since 31.0.0
|
||||
*/
|
||||
public function __construct() {
|
||||
$versionFile = __DIR__ . '/../../version.php';
|
||||
require $versionFile;
|
||||
|
||||
/** @var int[] $OC_Version */
|
||||
$this->version = $OC_Version;
|
||||
/** @var string $OC_VersionString */
|
||||
$this->versionString = $OC_VersionString;
|
||||
/** @var string $OC_Build */
|
||||
$this->build = $OC_Build;
|
||||
/** @var string $OC_Channel */
|
||||
$this->channel = $OC_Channel;
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 31.0.0
|
||||
*/
|
||||
public function getMajorVersion(): int {
|
||||
return $this->version[0];
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 31.0.0
|
||||
*/
|
||||
public function getMinorVersion(): int {
|
||||
return $this->version[1];
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 31.0.0
|
||||
*/
|
||||
public function getPatchVersion(): int {
|
||||
return $this->version[2];
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 31.0.0
|
||||
*/
|
||||
public function getVersion(): array {
|
||||
return $this->version;
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 31.0.0
|
||||
*/
|
||||
public function getVersionString(): string {
|
||||
return $this->versionString;
|
||||
}
|
||||
|
||||
/**
|
||||
* @psalm-return 'beta'|'stable'|'enterprise'|'git'
|
||||
* @since 31.0.0
|
||||
*/
|
||||
public function getChannel(): string {
|
||||
return $this->channel;
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 31.0.0
|
||||
*/
|
||||
public function getBuild(): string {
|
||||
return $this->build;
|
||||
}
|
||||
|
||||
/**
|
||||
* @since 31.0.0
|
||||
*/
|
||||
public function getHumanVersion(): string {
|
||||
$version = $this->getVersionString();
|
||||
$build = $this->getBuild();
|
||||
if (!empty($build) && $this->getChannel() === 'daily') {
|
||||
$version .= ' Build:' . $build;
|
||||
}
|
||||
return $version;
|
||||
|
||||
}
|
||||
}
|
||||
@ -1,30 +0,0 @@
|
||||
<?php
|
||||
/**
|
||||
* SPDX-FileCopyrightText: 2018-2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
|
||||
namespace Test\PublicNamespace;
|
||||
|
||||
class UtilTest extends \Test\TestCase {
|
||||
/**
|
||||
* @dataProvider channelProvider
|
||||
*
|
||||
* @param string $channel
|
||||
*/
|
||||
public function testOverrideChannel($channel): void {
|
||||
\OCP\Util::setChannel($channel);
|
||||
$actual = \OCP\Util::getChannel($channel);
|
||||
$this->assertEquals($channel, $actual);
|
||||
}
|
||||
|
||||
public function channelProvider() {
|
||||
return [
|
||||
['daily'],
|
||||
['beta'],
|
||||
['stable'],
|
||||
['production']
|
||||
];
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue