public function isFresh(AssetTarget $target)
{
$buildName = $this->buildFileName($target);
$buildFile = $this->outputDir($target) . DIRECTORY_SEPARATOR . $buildName;
if (!file_exists($buildFile)) {
return false;
}
$buildTime = filemtime($buildFile);
if ($this->configTime && $this->configTime >= $buildTime) {
return false;
}
foreach ($target->files() as $file) {
$time = $file->modifiedTime();
if ($time === false || $time >= $buildTime) {
return false;
}
}
$filters = $this->filterRegistry->collection($target);
foreach ($filters->filters() as $filter) {
foreach ($filter->getDependencies($target) as $child) {
$time = $child->modifiedTime();
if ($time >= $buildTime) {
return false;
}
}
}
return true;
}