Files
iTop/datamodels/2.x/itop-portal-base/module.itop-portal-base.php
odain 24048d2b9c N°8724 - Enhance setup feedback in case of module dependency issue (#700)
code style

last test cleanup

review + enhance UI output and display only failed module dependencies

real life test cleanup

review: add more tests + refacto

code review: enhance algo and APIs

review: renaming

enhance test coverage

refactoring

renaming + reorder functions/tests

compute GetDependencyResolutionFeedback in Module class

review2 : renaming things

fix rebase + code formatting

fix code formatting

review changes

refactoring: code cleanup/standardization/remove all prototype stuffs

refactoring: code cleanup/standardization/remove all prototype stuffs

add deps validation to extension ci job

fix ci

fix ci: test broken when dir to scan did not exist like production-modules

fix tests

module dependency validation moved in a core folder + cleanup dedicated unit/integration tests

forget dependency computation optimization seen as too risky + keep only user friendly sort in case of setup error

rebase on develop + split new sort computation apart from modulediscovery

revert to previous legacy order + gather new module computation classes in a dedicated folder

make validation work (dirty way) + cleanup

make setup deterministic: complete dependency order with alphabetical one when 2 module elements are at same position

final deps validation bases on DM and PHP classes

init in beforeclass + read defined classes/interfaces by module

module discovery classes renaming to avoid collision with customer DM definitions

read module file data apart from ModuleDiscovery

cleanup

cleanup

fix inconsistent module dependencies

fix integration check

save tmp work before trying to fetch other wml deps

fix module dependencies

fix DM filename typo

rename ModuleXXX classes by iTopCoreModuleXXX to reduce collisions with extensions

add phpdoc + add more tests

module dependency optimization - refacto + dependency new sort order

module dependency optimization - stop computation when no new dependency is resolved

enhance module dependency computation for optimization and admin feedback
2025-11-26 19:23:26 +01:00

67 lines
2.6 KiB
PHP

<?php
/**
* Copyright (C) 2013-2024 Combodo SAS
*
* This file is part of iTop.
*
* iTop is free software; you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* iTop is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
*/
/** @noinspection PhpUnhandledExceptionInspection */
SetupWebPage::AddModule(
__FILE__, // Path to the current file, all other file names are relative to the directory containing this file
'itop-portal-base/3.3.0',
[
// Identification
'label' => 'Portal Development Library',
'category' => 'Portal',
// Setup
'dependencies' => [
'itop-attachments/3.2.1', //CMDBChangeOpAttachmentRemoved
],
'mandatory' => true,
'visible' => false,
// Components
'datamodel' => [
// Note: The autoloader is there instead of portal/config/bootstrap.php in order to be available for other modules with a dependency on this one.
// eg. If a module has a class extending \Combodo\iTop\Portal\Controller\AbstractController, it needs to find it even if the portal kernel is not loaded.
'portal/vendor/autoload.php',
],
'webservice' => [
//'webservices.itop-portal-base.php',
],
'dictionary' => [
],
'data.struct' => [
//'data.struct.itop-portal-base.xml',
],
'data.sample' => [
//'data.sample.itop-portal-base.xml',
],
// Documentation
'doc.manual_setup' => '',
'doc.more_information' => '',
// Default settings
'settings' => [
],
]
);
// ____ _ _ _ __ _ _ _ _ _______
// | _ \| | ___ __ _ ___ ___ | |_ __ _| | _____ ___ __ _ _ __ ___ ___ / _| | |_| |__ ___ _ __ ___ _ __| |_ __ _| | / /___ /
// | |_) | |/ _ \/ _` / __|/ _ \ | __/ _` | |/ / _ \ / __/ _` | '__/ _ \ / _ \| |_ | __| '_ \ / _ \ | '_ \ / _ \| '__| __/ _` | | / / |_ \
// | __/| | __/ (_| \__ \ __/ | || (_| | < __/ | (_| (_| | | | __/ | (_) | _| | |_| | | | __/ | |_) | (_) | | | || (_| | | \ \ ___) |
// |_| |_|\___|\__,_|___/\___| \__\__,_|_|\_\___| \___\__,_|_| \___| \___/|_| \__|_| |_|\___| | .__/ \___/|_| \__\__,_|_| \_\____/
// |_|