fix: add module services/provider.php and fix manifest packaging
Universal: Auto Version Bump / Version Bump (push) Successful in 14s
Universal: Pre-Release / Build Pre-Release (${{ inputs.stability || github.ref_name }}) (push) Successful in 19s

Both modules were missing services/provider.php — the Joomla 5 DI
entry point that registers the ModuleDispatcherFactory. Without it,
Joomla falls back to a mod_*.php entry point file that doesn't exist,
causing "No module file specified" on install.

Also moves access.xml into admin/ and adds it to the component
manifest so it gets included in the package ZIP.

Authored-by: Moko Consulting
This commit is contained in:
2026-06-27 15:23:31 -05:00
parent f0d8c7ecbf
commit 3efd423e74
6 changed files with 53 additions and 0 deletions
@@ -58,6 +58,7 @@
<administration>
<files folder="admin">
<filename>access.xml</filename>
<folder>forms</folder>
<folder>language</folder>
<folder>services</folder>
@@ -26,6 +26,7 @@
<namespace path="src">Moko\Module\MokoSuiteStoreLocatorMap</namespace>
<files>
<folder>services</folder>
<folder>src</folder>
<folder>tmpl</folder>
<folder>language</folder>
@@ -0,0 +1,25 @@
<?php
/**
* @package MokoSuiteStoreLocator
* @subpackage mod_mokosuitestorelocator_map
* @copyright Copyright (C) 2026 Moko Consulting. All rights reserved.
* @license GNU General Public License version 3 or later; see LICENSE
*/
defined('_JEXEC') or die;
use Joomla\CMS\Extension\Service\Provider\Module;
use Joomla\CMS\Extension\Service\Provider\ModuleDispatcherFactory;
use Joomla\CMS\Extension\Service\Provider\HelperFactory;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
return new class implements ServiceProviderInterface
{
public function register(Container $container): void
{
$container->registerServiceProvider(new ModuleDispatcherFactory('\\Moko\\Module\\MokoSuiteStoreLocatorMap'));
$container->registerServiceProvider(new HelperFactory('\\Moko\\Module\\MokoSuiteStoreLocatorMap\\Helper'));
$container->registerServiceProvider(new Module());
}
};
@@ -26,6 +26,7 @@
<namespace path="src">Moko\Module\MokoSuiteStoreLocatorSearch</namespace>
<files>
<folder>services</folder>
<folder>src</folder>
<folder>tmpl</folder>
<folder>language</folder>
@@ -0,0 +1,25 @@
<?php
/**
* @package MokoSuiteStoreLocator
* @subpackage mod_mokosuitestorelocator_search
* @copyright Copyright (C) 2026 Moko Consulting. All rights reserved.
* @license GNU General Public License version 3 or later; see LICENSE
*/
defined('_JEXEC') or die;
use Joomla\CMS\Extension\Service\Provider\Module;
use Joomla\CMS\Extension\Service\Provider\ModuleDispatcherFactory;
use Joomla\CMS\Extension\Service\Provider\HelperFactory;
use Joomla\DI\Container;
use Joomla\DI\ServiceProviderInterface;
return new class implements ServiceProviderInterface
{
public function register(Container $container): void
{
$container->registerServiceProvider(new ModuleDispatcherFactory('\\Moko\\Module\\MokoSuiteStoreLocatorSearch'));
$container->registerServiceProvider(new HelperFactory('\\Moko\\Module\\MokoSuiteStoreLocatorSearch\\Helper'));
$container->registerServiceProvider(new Module());
}
};