OK, last but not least I had to realize that including the bootstrap.php of the component is useless in my case.
This is how I do it now:
/* Define package name and namespace */
define('PKG_NAME', 'GoodNews');
define('PKG_NAMESPACE', strtolower(PKG_NAME));
$className = PKG_NAME . '\\' . PKG_NAME;
...
require_once $sources['root'] . 'config.core.php';
require_once MODX_CORE_PATH . 'vendor/autoload.php';
require_once $sources['includes'] . 'functions.php';
/* Load MODX */
$modx = new modX();
$modx->initialize('mgr');
if (!$modx->services->has('error')) {
$modx->services->add('error', function($c) use ($modx) {
return new modError($modx);
});
}
$modx->error = $modx->services->get('error');
$modx->setLogLevel(modX::LOG_LEVEL_INFO);
$modx->setLogTarget('ECHO');
...
/* Add package */
if ($modx->addPackage(PKG_NAME . '\Model', $sources['source_src'], null, PKG_NAME . '\\')) {
$modx->log(modX::LOG_LEVEL_ERROR, PKG_NAME . ' package added.');
} else {
$modx->log(modX::LOG_LEVEL_ERROR, PKG_NAME . ' package could not be added.');
$modx->log(modX::LOG_LEVEL_INFO, 'Building development environment failed!');
flush();
exit();
}
flush();
/* Add package service */
if (!$modx->services->has(PKG_NAMESPACE)) {
$modx->services->add(PKG_NAMESPACE, function($c) use ($modx, $className) {
return new $className($modx);
});
}
$service = $modx->services->get(PKG_NAMESPACE);
if ($service instanceof $className) {
$modx->log(modX::LOG_LEVEL_ERROR, PKG_NAME . ' service loaded.');
} else {
$modx->log(modX::LOG_LEVEL_ERROR, PKG_NAME . ' service could not be loaded.');
$modx->log(modX::LOG_LEVEL_INFO, 'Building development environment failed!');
flush();
exit();
}
flush();
Works perfectly and without any deprecation logs.