18 declare(strict_types=1);
35 public const PATH =
'./Services/ResourceStorage/artifacts/flavour_data.php';
48 foreach ($finder->getMatchingClassNames(FlavourMachine::class) as $machine_name) {
50 $machine =
new $machine_name();
51 $machine_id = $machine->getId();
53 if ($machine_name === $machine_id) {
55 "PLEASE beware that class-related magic constants are not recommended. Altering the implementation-name may result in lost flavours." 59 if (64 < strlen($machine_id)) {
60 throw new LogicException(
"ID of machine '$machine_name' exceeds 64 characters.");
63 if (isset($machines[$machine_id]) && $machines[$machine_id] !== $machine_name) {
65 "Machine '$default_machine_ids[$machine_id]' and '$machine_name' implement the same ID ($machine_id)." 69 $machines[$machine_id] = $machine_name;
74 foreach ($finder->getMatchingClassNames(FlavourDefinition::class) as $definition_name) {
80 $definition = $reflection->newInstanceWithoutConstructor();
81 $definition_id = $definition->getId();
87 if ($definition_name === $definition_id) {
89 "PLEASE beware that class-related magic constants are not recommended. Altering the implementation-name may result in lost flavours." 93 if (64 < strlen($definition_id)) {
94 throw new LogicException(
"ID of definition '$definition_name' exceeds 64 characters.");
97 if (isset($definitions[$definition_id]) && $definitions[$definition_id] !== $definition_name) {
99 "Definition '$definitions[$definition_id]' and '$definition_name' implement the same ID ($definition_id)." 103 $definitions[$definition_id] = $definition_name;
107 'machines' => $machines,
108 'definitions' => $definitions
build()
Build the artifact based.
This is an objective to build some artifact.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
An artifact is some file that is build on demand per installation and is not shipped with the ILIAS s...