Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 3 additions & 8 deletions .github/workflows/code-quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,14 +53,9 @@ jobs:
app-name: apptemplate
php-version: "8.3"
php-test-versions: '["8.3", "8.4"]'
# The whole range `appinfo/info.xml` declares (min-version="32",
# max-version="34"), not just its top. With only `stable34` listed, 32 and
# 33 were advertised as supported and tested by nothing.
# `stable34` MUST stay FIRST: newman, playwright and journeydoc-capture
# each read `fromJSON(inputs.nextcloud-test-refs)[0]` as their single
# server, so element 0 is the ref those legs run against — it has to be
# the newest supported release, not whichever ref happens to sort first.
nextcloud-test-refs: '["stable34", "stable32", "stable33"]'
# No `nextcloud-test-refs` override: the shared quality.yml derives the
# Nextcloud matrix from appinfo/info.xml (min/max-version), so every
# declared major (32..35) gets a leg without editing this file.
enable-psalm: true
enable-phpstan: true
enable-phpmetrics: true
Expand Down
2 changes: 1 addition & 1 deletion appinfo/info.xml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
at top level, repair-steps precedes settings and navigations follows it. -->
<dependencies>
<php min-version="8.3"/>
<nextcloud min-version="32" max-version="34"/>
<nextcloud min-version="32" max-version="35"/>
</dependencies>

<!-- @spec openspec/architecture/adr-023-action-authorization.md -->
Expand Down
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"conduction/hydra-gates": "^1.18.0",
"cyclonedx/cyclonedx-php-composer": "^6.2",
"edgedesign/phpqa": "^1.27",
"nextcloud/ocp": "^34.0",
"nextcloud/ocp": "^35.0",
"phpcsstandards/phpcsextra": "^1.4",
"phpmd/phpmd": "^2.15",
"phpmetrics/phpmetrics": "^2.8",
Expand Down
266 changes: 255 additions & 11 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

12 changes: 12 additions & 0 deletions lib/AppInfo/Application.php
Original file line number Diff line number Diff line change
Expand Up @@ -74,8 +74,20 @@ public function __construct() {
* @param IRegistrationContext $context The registration context
*
* @return void
*
* @SuppressWarnings(PHPMD.StaticAccess) OpenRegisterAutoloader is a static
* prelude: this method is the composition root, so
* there is no container to inject it from yet.
*/
public function register(IRegistrationContext $context): void {
// `apptemplate` sorts before `openregister`, so Nextcloud has not put
// OpenRegister's PSR-4 prefix on the autoloader yet when this runs. Do
// it here, through public API only (NC 35 removed the private
// \OC_App::registerAutoloading()). Never throws; returns false when
// OpenRegister is absent. Keep any OCA\OpenRegister\ class USE below
// this line (a ::class constant alone does not autoload).
OpenRegisterAutoloader::register();

// Register deep link patterns with OpenRegister's unified search provider.
// Only fires when OpenRegister is installed and dispatches the event.
$context->registerEventListener(
Expand Down
Loading
Loading