Предположим, что Countif - это способ подсчета количества экземпляров «Bad» или «Missing»:
=countif(Sheet2!B3:C17,"Bad")+countif(Sheet2!B3:C17,"Missing")
. Если вы хотите сообщить об этом как TRUE, если результат больше чем ноль или ЛОЖЬ, если нет, вам нужно изменить его на:
=(countif(Sheet2!B3:C17,"Bad")+countif(Sheet2!B3:C17,"Missing"))>0
Примечание
Внешние скобки не являются необходимыми в приведенной выше формуле, поскольку <,> и т. д. имеют наименьший приоритет, но может улучшить читаемость.
Альтернатива:
=countif(Sheet2!B3:C17,"Bad")+countif(Sheet2!B3:C17,"Missing")>0
И задача Ant и сам javadoc инструмент не имеют никакого способа отключить предупреждения глобально.
Одно возможное обходное решение, о котором я могу думать, должно выполнить javadoc задачу как отдельный вызов муравья от остальной части сборки. Вы могли использовать - аргумент файла журнала муравью для перенаправления вывода к файлу журнала, а не консоли.
Я просто обнаружил, что был немного лучший вариант того, что я описал в своем предыдущем ответе. Вместо того, чтобы редактировать errors.xsl, отредактируйте buildresults.xsl. Этот файл содержит комментарий:
for traditional cc display of only compile errors and warnings
comment out mode="errors" and uncomment mode="compile" and mode="javadoc"
Если Вы следуете совету того комментария (прокомментируйте эти две строки, которые он упоминает, и не прокомментируйте одну строку, которую он упоминает), Вы получаете тот же точный эффект, но с включенными ошибками компиляции.
Почему беспокойство с этим методом по моему предыдущему? Хорошо я думаю (я действительно должен был протестировать это лучше, но я стал ленивым), что мой предыдущий метод ест ошибки компиляции; этот метод сохраняет их.
Ответ Mark's звучит хорошим мне и вероятно работал бы отлично для любого не использование Круиз-контроля непрерывная система сборки. Однако я обнаружил, что для любого, кто (как я) использует ту систему, существует иначе.
Круиз-контроль собирает свои отчеты при помощи нескольких таблиц стилей XSLT. В нашем случае эти таблицы стилей находились в:
~/applications/cruisecontrol-bin-2.7.3/webapps/cruisecontrol/xsl
но так как я не устанавливал нашу установку, я не знаю, является ли это стандартным путем или нет. Независимо, необходимо смочь найти эквивалентный каталог в установке. В том каталоге файл, названный errors.xsl. Для избавлений от предупреждений, необходимо будет внести два изменения в тот файл, оба из которых включают комментирование существующих правил.
Замена:
<xsl:variable name="total.errorMessage.count" select="count($warn.messages) + count($error.messages)"/>
с:
<!-- <xsl:variable name="total.errorMessage.count" select="count($warn.messages) + count($error.messages)"/>-->
<xsl:variable name="total.errorMessage.count" select="count($error.messages)"/>
Это проведет "ошибочный подсчет" быть количеством фактических ошибок, а не количеством ошибок + предупреждения.
Затем замена:
<xsl:template match="message[@priority='warn']" mode="errors">
<xsl:if test="not(starts-with(text(),'cvs update'))">
<xsl:value-of select="text()"/><br class="none"/>
</xsl:if>
</xsl:template>
с:
<!--<xsl:template match="message[@priority='warn']" mode="errors">
<xsl:if test="not(starts-with(text(),'cvs update'))">
<xsl:value-of select="text()"/><br class="none"/>
</xsl:if>
</xsl:template>-->
Это скроет сами фактические предупреждения. Кроме того, Вы могли всегда просто удалять закомментированный код, но затем необходимо действительно создать резервную копию файла сначала, в случае, если Вы когда-либо хотите вернуть свои предупреждения. Кроме того, XSLT игнорирует любую non-XSLT разметку, таким образом, Вы могли сделать другие вещи с предупреждениями помимо устранения их полностью: например, Вы могли перенести все предупреждения в DIV и затем использовать CSS/Javascript для "сворачивания" предупреждений вместо того, чтобы удалить их полностью.
Хотя я в конечном счете должен был обнаружить это решение сам, все ответы здесь помогли мне понять то, что продолжалось, так спасибо все для справки.