У меня есть пользовательская задача NAnt для целей тестирования, и я хотел бы отменить процесс сборки NAnt, если задача не удалась.
Я создал пользовательский ErrorTask:
[NAnt.Core.Attributes.TaskName("errorTask")]
public class ErrorTask : NAnt.Core.Task
{
public ErrorTask()
{
FailOnError = true;
}
protected override void ExecuteTask()
{
Log(NAnt.Core.Level.Error, "Error!");
}
}
Вот что у меня есть в файле сборки NAnt:
<target name="errorTarget">
<errorTask failonerror="true" />
<errorTask failonerror="true" />
</target>
В результате (build.log) у меня есть:
errorTarget:
[errorTask] Error!
[errorTask] Error!
BUILD SUCCEEDED - 2 non-fatal error(s), 0 warning(s)
Total time: 0 seconds.
Итак, я вижу, что вторая задача также запущена, но я хотел бы отменить ее, потому что первый вызов возвращает «Ошибка!». Не могли бы вы помочь мне исправить это?
Кроме того, я предполагаю, что нет необходимости жестко кодировать значение FailOnError, его должно быть достаточно, чтобы использовать только атрибут failonerror в скрипте сборки, но он не работает для меня в любом случае.
Спасибо.