Loading .build_composer.yml +42 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,47 @@ composer --optimize-autoloader --ignore-platform-reqs --no-scripts --prefer-dist install; fi .tune_autoload_prod: &tune_autoload_prod if [ !-e $COMPOSER_INSTALL_DIR/composer.json ] || [ -z "$DOC_ROOT_NAME" ] || [ "$DOC_ROOT_NAME" = "www" ]; then echo "No autoload adjustments are needed." exit 0 fi cat > fix_composer_autoload.php <<'PHP' <?php $composerFile = 'composer.json'; $docRootName = getenv('DOC_ROOT_NAME'); $json = file_get_contents($composerFile); if ($json === false) { fwrite(STDERR, "Could not read $composerFile\n"); exit(1); } $data = json_decode($json, true); if ($data === null) { fwrite(STDERR, "Invalid JSON in $composerFile\n"); exit(1); } function replace_www($path, $docRootName) { if (strpos($path, 'www/') === 0) { return $docRootName . '/' . substr($path, 4); } return $path; } if (isset($data['autoload']['psr-4'])) { foreach ($data['autoload']['psr-4'] as $ns => $path) { $data['autoload']['psr-4'][$ns] = replace_www($path, $docRootName); } } if (isset($data['autoload']['files'])) { foreach ($data['autoload']['files'] as $i => $file) { $data['autoload']['files'][$i] = replace_www($file, $docRootName); } } $newJson = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . "\n"; file_put_contents($composerFile, $newJson); echo "composer.json updated successfully.\n"; PHP php fix_composer_autoload.php .build_composer_dev: stage: prebuild image: registry.cetera.su/boilerplate/docker/php_composer:8.1 Loading Loading @@ -46,6 +87,7 @@ COMPOSER_INSTALL_DIR: ${CI_PROJECT_DIR} script: - *run_composer_audit - *tune_autoload_prod - *run_composer_install_prod only: refs: Loading Loading
.build_composer.yml +42 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,47 @@ composer --optimize-autoloader --ignore-platform-reqs --no-scripts --prefer-dist install; fi .tune_autoload_prod: &tune_autoload_prod if [ !-e $COMPOSER_INSTALL_DIR/composer.json ] || [ -z "$DOC_ROOT_NAME" ] || [ "$DOC_ROOT_NAME" = "www" ]; then echo "No autoload adjustments are needed." exit 0 fi cat > fix_composer_autoload.php <<'PHP' <?php $composerFile = 'composer.json'; $docRootName = getenv('DOC_ROOT_NAME'); $json = file_get_contents($composerFile); if ($json === false) { fwrite(STDERR, "Could not read $composerFile\n"); exit(1); } $data = json_decode($json, true); if ($data === null) { fwrite(STDERR, "Invalid JSON in $composerFile\n"); exit(1); } function replace_www($path, $docRootName) { if (strpos($path, 'www/') === 0) { return $docRootName . '/' . substr($path, 4); } return $path; } if (isset($data['autoload']['psr-4'])) { foreach ($data['autoload']['psr-4'] as $ns => $path) { $data['autoload']['psr-4'][$ns] = replace_www($path, $docRootName); } } if (isset($data['autoload']['files'])) { foreach ($data['autoload']['files'] as $i => $file) { $data['autoload']['files'][$i] = replace_www($file, $docRootName); } } $newJson = json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES) . "\n"; file_put_contents($composerFile, $newJson); echo "composer.json updated successfully.\n"; PHP php fix_composer_autoload.php .build_composer_dev: stage: prebuild image: registry.cetera.su/boilerplate/docker/php_composer:8.1 Loading Loading @@ -46,6 +87,7 @@ COMPOSER_INSTALL_DIR: ${CI_PROJECT_DIR} script: - *run_composer_audit - *tune_autoload_prod - *run_composer_install_prod only: refs: Loading