N°8760 - be able to simulate extension removal by oerriding GetExtensionMap
be able to simulate SetupAudit errors in Setups for integration tests
fix rebase
N°8760 - Audit uninstall of extensions that declare classes - be able to trace DM classes created_in
N°8760 - be able to test with additional extensions installed in test SDK
N°8760 - provide a service dedicated to extension removal
N°8760 - compute all rules by default
add comment
adapt audit to both extension and mtp
AnalyzeInstallation refactoring
fix ci call to ModuleInstallationService
ci: fix code style
get rid of itop_version
refactoring: make code simpler
get rid of unused name_db
refactoring setup: rename version_db by installed_version
refactoring setup: rename version_code by available_version
code cleanup: avoid useless runtimeenv instanciation
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
* N°4789 - Parse datamodel module.xxx.php files instead of interpreting them - refactoring all in a dedicated service first
* N°4789 - fix broken setup + tests
* N°4789 - replace legacy eval by module file parsing
* N°4789 - handle constants and if conditional structures
* N°4789 - compute boolean expressions
* N°4789 - make autoselect and dependencies work as well
* cleanup
* N°4789 - fix BeforeWritingConfig calls during setup
* N°4789 - refactor and split in ModuleDiscoveryEvaluationService + handle ModuleInstallerAPI methods calls during setup
* N°4789 - PR review changes with Romain
* PR review + code cleanup + added usecases and test cover
* temp evaluation work
* replace eval by iTop custom evaluation classes
* move PhpParser/Evaluation classes in a specific namespave + composer dumpautoload
* fix broken setup
* fix broken setup
* complete Evaluators list + autoload
* cleanup useless testing resources
* cleanup + replace last eval call in VariableEvaluator
* fix few Evaluators code
* enhance nikic evaluators + test with/without nikic lib
* Evaluator fixes/enhancements + tests
* bump to nikic fork temporarly
* bump nikic-parser fork + use only nikic fork evaluation + cleanup itop redondant evaluators
* review with Romain: use distinct whitelists in setup time/runtime + move ModuleFileParser internal logic into ModuleFileReader
* PhpExpressionEvaluator used via constructor and not as a service
* dumpautoload again after rebase
* N°7306 - Use iTop configuration settings to run unattended installation (instead of XML file settings)
* 7306 - fix infinite loop with db_tls.ca null
* 7306 - complete fields to use from itop configuration instead of XML setup
* fix using default language from conf
* 6365 - temp work
* 6365 - add option to select modules from installation.xml
* 6365-select modules option in unattended install
* 6365 - pass env to service + debug failed test
* 6365 - debug ci again + separate process annotation
* 6365 - fix test + cleanup
* 6365 - ci using use_installation_xml mode
* 6365 - ci using use_installation_xml mode
* 6365 - pass selected_modules to unattended
* N°6365 - Compute selected modules based on selected extensions coming from XML setup
* switch constr parameters and fix call from unattended cli
* 6365 - use use_installation_xml for unattended install only when no selected modules already provided
* test ci XML setup including selected extensions but no modules
* test ci installing iTop without selected modules/extenesions: guess via installation.xml
* same but without even providing XML setup - comment it in ci_description.ini
* 7306 - cleanup requires
* use infra master
* N°6365 - make current unattended CLI work with any iTop version (CLIPage compatibility)
* N°6365 - log which modules will be installed during setup
* N°6365 - unattended documentation + bash helper
* 6365- fix warning due to copies index access
* 6365 - enhance traces feedback to understant which and how modules are computes
* 6365 - enhance bash CLI + doc
* 6365 - fix require clipage compatibility
* 6365 - add return for better cli ouput
* 6365 - enhance ouput messages
* Document the usage and harmonize argument names (still not perfect)
* 6365 - fix use of new param param-file
* 6365 - fix test + vardump cleanup
* N°6365 - use underscore for unattended install options as advices in the PR
* 6365 -enhance test by using PHP_BINARY
---------
Co-authored-by: Romain Quetiez <romain.quetiez@combodo.com>
The flag consists of the new `data/.compilation-symlinks` file, which is included in the code base (but not available in the Combodo packages).
It will be used and generated if and only if :
* we are on a dev env (`\utils::IsDevelopmentEnvironment`)
* the `symlink` PHP function exists
The flag is generated low level in the compiler (\MFCompiler::DoCompile)
In the setup, if the flag is present and all conditions are met then a new option will be displayed in the "Miscellaneous Parameters" wizard step. When unchecking/checking the flag will be updated accordingly by an ajax query.
All other compiler consumers (Designer / Hub connectors, Core Update, scripts using `RunTimeEnvironment` class) will :
* if they provide a value for the symlink option, it will be used
* otherwise the flag will be used instead, if conditions are met
In a4782942 a !empty() test was added but this was useless
The problem that was causing the issue was an undefined index when doing $aAvailableModules[$sModuleId]
* remove require() calls (now we have an autoloader \o/)
* change cache policy in utils::GetConfig
* set config in utils class from ApplicationInstaller