<?php
# script à inclure pour implémenter .launcher.php
# les constantes suivantes doivent être définies AVANT de chager ce script:
# - NULIB_APP_app_params : paramètres du projet

use nur\sery\os\path;
use nur\sery\app;

if ($argc <= 1) die("invalid arguments");

app::init(NULIB_APP_app_params);

$app = $argv[1];
array_splice($argv, 0, 1); $argc--;
if (class_exists($app)) {
  # la configuration est celle actuellement chargée
  $app::run();
} elseif (is_executable($app)) {
  # la configuration est passée par une variable d'environnement
  app::params_putenv();
  pcntl_exec($app, array_slice($argv, 1));
} else {
  # la configuration est celle actuellement chargée
  $name = preg_replace('/\.php$/', "", path::basename($app));
  app::init([
    "name" => $name,
  ]);
  require $app;
}
