function targetFinished(BuildEvent $event) { $msg .= PHP_EOL . "Target time: " . self::formatTime(Phing::currentTimeMillis() - $this->targetStartTime) . PHP_EOL; $event->setMessage($msg, Project::MSG_INFO); $this->messageLogged($event); $this->targetName = null; }
/** * Fired when the build finishes, this adds the time taken and any * error stacktrace to the build element and writes the document to disk. * * @param BuildEvent $event An event with any relevant extra information. * Will not be <code>null</code>. * @throws BuildException */ public function buildFinished(BuildEvent $event) { $elapsedTime = Phing::currentTimeMillis() - $this->getBuildTimerStart(); $this->getBuildElement()->setAttribute(XmlLogger::TIME_ATTR, DefaultLogger::formatTime($elapsedTime)); if ($event->getException() != null) { $this->getBuildElement()->setAttribute(XmlLogger::ERROR_ATTR, $event->getException()->getMessage()); $errText = $this->getDoc()->createCDATASection($event->getException()->getTraceAsString()); $stacktrace = $this->getDoc()->createElement(XmlLogger::STACKTRACE_TAG); $stacktrace->appendChild($errText); $this->getBuildElement()->appendChild($stacktrace); } $this->getDoc()->appendChild($this->getBuildElement()); $outFilename = $event->getProject()->getProperty("JsonLogger.file"); if ($outFilename == null) { $outFilename = "log.json"; } try { $stream = $this->getOut(); if ($stream === null) { $stream = new FileOutputStream($outFilename); } $writer = new OutputStreamWriter($stream); $writer->write($this->xml2js(simplexml_import_dom($this->getDoc()))); $writer->close(); } catch (IOException $exc) { try { $stream->close(); // in case there is a stream open still ... } catch (Exception $x) { } throw new BuildException("Unable to write log file.", $exc); } // cleanup:remove the buildElement $this->setBuildElement(null); array_pop($this->getElementStack()); array_pop($this->getTimesStack()); }
/** * Logs whether the build succeeded or failed, and any errors that * occured during the build. Also outputs the total build-time. * * @param BuildEvent The BuildEvent * * @see BuildEvent::getException() */ public function buildFinished(BuildEvent $event) { $error = $event->getException(); if ($error === null) { $msg = "Finished successful build."; } else { $msg = "Build failed. [reason: " . $error->getMessage() . "]"; } $this->logger()->log($msg . " Total time: " . DefaultLogger::formatTime(Phing::currentTimeMillis() - $this->startTime)); }
/** * Prints whether the build succeeded or failed, and any errors that * occured during the build. Also outputs the total build-time. * * @param object The BuildEvent * @see BuildEvent::getException() */ public function buildFinished(BuildEvent $event) { $error = $event->getException(); if ($error === null) { $msg = PHP_EOL . $this->getBuildSuccessfulMessage() . PHP_EOL; } else { $msg = PHP_EOL . $this->getBuildFailedMessage() . PHP_EOL; if (Project::MSG_VERBOSE <= $this->msgOutputLevel || !$error instanceof BuildException) { $msg .= $error->__toString() . PHP_EOL; } else { $msg .= $error->getMessage(); } } $msg .= PHP_EOL . "Total time: " . self::formatTime(Phing::currentTimeMillis() - $this->startTime) . PHP_EOL; if ($error === null) { $this->printMessage($msg, $this->out, Project::MSG_VERBOSE); } else { $this->printMessage($msg, $this->err, Project::MSG_ERR); } }
/** * Does the actual work. */ public function _touch() { if ($this->file !== null) { if (!$this->file->exists()) { $this->log("Creating " . $this->file->__toString(), Project::MSG_INFO); try { // try to create file $this->file->createNewFile(); } 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; } }
/** {@inheritDoc}. */ public function targetFinished(BuildEvent $event) { $this->log("<< TARGET FINISHED -- " . $event->getTarget()->getName(), Project::MSG_DEBUG); $time = $this->formatTime(Phing::currentTimeMillis() - $this->targetStartTime); $this->log($event->getTarget()->getName() . ": duration " . $time, Project::MSG_VERBOSE); flush(); }
/** * Fired when a task finishes building, this adds the time taken * to the appropriate task element in the log. * * @param BuildEvent $event An event with any relevant extra information. * Will not be <code>null</code>. */ public function taskFinished(BuildEvent $event) { $taskTimerStart = array_pop($this->timesStack); $taskElement = array_pop($this->elementStack); $elapsedTime = Phing::currentTimeMillis() - $taskTimerStart; $taskElement->setAttribute(XmlLogger::TIME_ATTR, DefaultLogger::formatTime($elapsedTime)); $parentElement = $this->elementStack[count($this->elementStack) - 1]; $parentElement->appendChild($taskElement); }
/** * Prints whether the build failed, and any errors that occured during the build. Also outputs the total build-time on completion. * * @param object The BuildEvent * @access public * @see BuildEvent::getException() */ function buildFinished(BuildEvent $event) { $error = $event->getException(); if ($error !== null) { print $this->lSep . "BUILD FAILED" . $this->lSep; if (PROJECT_MSG_VERBOSE <= $this->msgOutputLevel || !$error instanceof BuildException) { print $error->__toString() . $this->lSep; } else { print $error->getMessage(); } } print $this->lSep . "Total time: " . $this->_formatTime(Phing::currentTimeMillis() - $this->startTime) . $this->lSep; }
private function logFinish(BuildEvent $event, $start, $name) { $msg = null; if ($start != null) { $diff = self::formatTime(Phing::currentTimeMillis() - $start); $msg = Phing::getProperty("line.separator") . $name . ": finished " . date(self::$dateFormat, time()) . " (" . $diff . ")"; } else { $msg = Phing::getProperty("line.separator") . $name . ": finished " . date(self::$dateFormat, time()) . " (unknown duration, start not detected)"; } $this->printMessage($msg, $this->out, $event->getPriority()); }
/** * Fired when a task finishes building, this adds the time taken * to the appropriate task element in the log. * * @param BuildEvent An event with any relevant extra information. * Will not be <code>null</code>. */ function taskFinished(BuildEvent $event) { $task = $event->getTask(); $elapsedTime = Phing::currentTimeMillis() - $this->taskTimerStart; $this->taskElement->setAttribute(XmlLogger::TIME_ATTR, DefaultLogger::_formatTime($elapsedTime)); $this->targetElement->appendChild($this->taskElement); }