<pman>Intégration de la branche dev74

This commit is contained in:
Jephté Clain 2025-06-03 10:21:42 +04:00
commit 5b3d915a2b
5 changed files with 59 additions and 6 deletions

View File

@ -1,3 +1,9 @@
## Release 0.6.1p74 du 03/06/2025-10:21
* `51ce95e` maj doc
* `be6b737` ajout file::try_ext
* `341a9ba` élargir la plage de remplacement
## Release 0.6.0p82 du 30/05/2025-22:37
## Release 0.6.0p74 du 30/05/2025-22:35

View File

@ -4,17 +4,28 @@
## Release
Exemple: release de la version 0.6.0
Ouvrir deux consoles
* console "74" avec le checkout de la version php7.4
* console "82" avec le checkout de la version php8.2
~~~sh
## dans les deux consoles
version=0.6.0
## branche dev74
## console 74
git checkout dev74
prel -v$version
_merge82
## branche dev82
## console 82
pu
git checkout dev82
prel -C
@ -22,10 +33,19 @@ prel -C
commit="$(git log --grep="Init changelog . version ${version}p82" --format=%H)" &&
echo "commit=$commit"
## console 74
# reprendre la valeur affichée par la précédente commande
commit=XXX
git checkout dev74
git cherry-pick "$commit"
pp -a
## console 82
pu
~~~
-*- coding: utf-8 mode: markdown -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8:noeol:binary

View File

@ -1 +1 @@
0.6.0
0.6.1

View File

@ -15,7 +15,7 @@
}
},
"replace": {
"nulib/php": "<0.6.0"
"nulib/php": "*"
},
"require": {
"symfony/yaml": "^7.1",
@ -44,8 +44,6 @@
"config": {
"vendor-dir": "php/vendor"
},
"scripts": {
},
"authors": [
{
"name": "Jephte Clain",

View File

@ -7,6 +7,7 @@ use nulib\file\MemoryStream;
use nulib\file\SharedFile;
use nulib\file\TempStream;
use nulib\file\TmpfileWriter;
use nulib\os\path;
/**
* Class file: outils pour gérer les fichiers
@ -17,6 +18,34 @@ class file {
return $file;
}
/**
* si le fichier $file existe, le retourner.
* sinon, essayer avec l'une des extensions spécifiées, jusqu'à ce qu'un
* fichier soit trouvé.
* si aucun fichier n'est trouvé, retourner null
*
* par exemple, si le fichier "file.yaml" n'existe pas et que le fichier
* "file.yml" existe, alors <code>file::try("file.yaml", ".yml")</code>
* retourne "file.yml"
*
* par défaut, $replace_ext est initialisé à l'extension de $file. utiliser []
* pour désactiver cette fonctionnalité
*
* @param string|array $exts
* @param string|array $replace_ext
*/
static function try_ext(string $file, $exts=null, $replace_ext=null): ?string {
if (file_exists($file)) return $file;
if ($exts !== null) {
$replace_ext ??= path::ext($file);
foreach (cl::with($exts) as $ext) {
$tmpfile = path::ensure_ext($file, $ext, $replace_ext);
if (file_exists($tmpfile)) return $tmpfile;
}
}
return null;
}
static function reader($input, ?callable $func=null): FileReader {
$file = new FileReader(self::fix_dash($input));
if ($func !== null) {