Compare commits

..

No commits in common. "master" and "v1.8.1" have entirely different histories.

2 changed files with 14 additions and 11 deletions

View File

@ -1,5 +0,0 @@
## v1.8.1
- Adding null check in need_to_regen_any(..)
## v1.7.2
- Fixing weird lstat bug on Windows for rrmdir function for large amount of directory items

View File

@ -87,6 +87,8 @@ function find_files(string $dir, array $fnmatch_patterns = []) : array
return $results; return $results;
} }
//obsolete, use find_files instead
function scan_files_rec(array $dirs, array $only_extensions = [], int $mode = 1) : array function scan_files_rec(array $dirs, array $only_extensions = [], int $mode = 1) : array
{ {
$files = array(); $files = array();
@ -166,17 +168,23 @@ function json_make_pretty(string $json) : string
return prettyJSON($json); return prettyJSON($json);
} }
function need_to_regen(string $file, iterable $deps, bool $debug = false) : bool function need_to_regen(string $file, array $deps, bool $debug = false) : bool
{ {
if(!is_file($file)) if(is_file($file))
{
$fmtime = filemtime($file);
}
else if(is_dir($file))
{
$fmtime = filectime($file);
}
else
{ {
if($debug) if($debug)
echo "! $file\n"; echo "! $file\n";
return true; return true;
} }
$fmtime = filemtime($file);
foreach($deps as $dep) foreach($deps as $dep)
{ {
if($dep && is_file($dep) && (filemtime($dep) > $fmtime)) if($dep && is_file($dep) && (filemtime($dep) > $fmtime))
@ -1193,12 +1201,12 @@ function are_you_sure_ask() : bool
return $resp == "YES"; return $resp == "YES";
} }
function names_hash_changed(string $crc_file, iterable $names) : bool function names_hash_changed(string $crc_file, array $names) : bool
{ {
$ctx = hash_init('crc32'); $ctx = hash_init('crc32');
foreach($names as $name) foreach($names as $name)
hash_update($ctx, $name); hash_update($ctx, $name);
$names_crc = hash_final($ctx, false); $names_crc = hash_final($ctx, true);
$changed = !file_exists($crc_file) || ensure_read($crc_file) != $names_crc; $changed = !file_exists($crc_file) || ensure_read($crc_file) != $names_crc;
ensure_write($crc_file, $names_crc); ensure_write($crc_file, $names_crc);
return $changed; return $changed;