Commit d4c68522 by Carsten Brandt

improved error handling of AssetConverter

issue #1140
parent 58589e03
......@@ -359,7 +359,7 @@ pre .diff .change{
}
?></h1>
<?php endif; ?>
<h2><?= $handler->htmlEncode($exception->getMessage()) ?></h2>
<h2><?= nl2br($handler->htmlEncode($exception->getMessage())) ?></h2>
<?= $handler->renderPreviousExceptions($exception) ?>
</div>
......
......@@ -15,7 +15,7 @@
<span><?= $handler->htmlEncode(get_class($exception)) ?></span>
<?php endif; ?>
</h2>
<h3><?= $handler->htmlEncode($exception->getMessage()) ?></h3>
<h3><?= nl2br($handler->htmlEncode($exception->getMessage())) ?></h3>
<p>in <span class="file"><?= $exception->getFile() ?></span> at line <span class="line"><?= $exception->getLine() ?></span></p>
<?= $handler->renderPreviousExceptions($exception) ?>
</div>
......@@ -9,6 +9,7 @@ namespace yii\web;
use Yii;
use yii\base\Component;
use yii\base\Exception;
/**
* AssetConverter supports conversion of several popular script formats into JS or CSS scripts.
......@@ -24,7 +25,7 @@ class AssetConverter extends Component implements AssetConverterInterface
* target script types (either "css" or "js") and the commands used for the conversion.
*/
public $commands = [
'less' => ['css', 'lessc {from} {to}'],
'less' => ['css', 'lessc {from} {to} --no-color'],
'scss' => ['css', 'sass {from} {to}'],
'sass' => ['css', 'sass {from} {to}'],
'styl' => ['js', 'stylus < {from} > {to}'],
......@@ -82,10 +83,12 @@ class AssetConverter extends Component implements AssetConverterInterface
}
$status = proc_close($proc);
if ($status !== 0) {
Yii::error("AssetConverter command '$command' failed with exit code $status:\nSTDOUT:\n$stdout\nSTDERR:\n$stderr\n");
} else {
if ($status === 0) {
Yii::trace("Converted $asset into $result:\nSTDOUT:\n$stdout\nSTDERR:\n$stderr", __METHOD__);
} elseif (YII_DEBUG) {
throw new Exception("AssetConverter command '$command' failed with exit code $status:\nSTDOUT:\n$stdout\nSTDERR:\n$stderr");
} else {
Yii::error("AssetConverter command '$command' failed with exit code $status:\nSTDOUT:\n$stdout\nSTDERR:\n$stderr");
}
return $status === 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment