/** * Does the actual work. */ public function _touch() { if ($this->file !== null) { if (!$this->file->exists()) { $this->log("Creating " . $this->file->__toString(), $this->verbose ? Project::MSG_INFO : Project::MSG_VERBOSE); try { // try to create file $this->file->createNewFile($this->mkdirs); } catch (IOException $ioe) { throw new BuildException("Error creating new file " . $this->file->__toString(), $ioe, $this->location); } } } $resetMillis = false; if ($this->millis < 0) { $resetMillis = true; $this->millis = Phing::currentTimeMillis(); } if ($this->file !== null) { $this->touchFile($this->file); } // deal with the filesets foreach ($this->filesets as $fs) { $ds = $fs->getDirectoryScanner($this->getProject()); $fromDir = $fs->getDir($this->getProject()); $srcFiles = $ds->getIncludedFiles(); $srcDirs = $ds->getIncludedDirectories(); for ($j = 0, $_j = count($srcFiles); $j < $_j; $j++) { $this->touchFile(new PhingFile($fromDir, (string) $srcFiles[$j])); } for ($j = 0, $_j = count($srcDirs); $j < $_j; $j++) { $this->touchFile(new PhingFile($fromDir, (string) $srcDirs[$j])); } } if ($resetMillis) { $this->millis = -1; } }