FlexPMD Violations Viewer - как просмотреть результаты напрямую - PullRequest
0 голосов
/ 01 марта 2012

Итак, я начал использовать FlexPMD для статического анализа кода и хочу добавить его в процесс сборки моей команды.У меня он хорошо работает из сценария оболочки, и я могу просмотреть результаты, нажав кнопку и загрузив нужный выходной файл (pmd.xml) в Violations Viewer, который поставляется с ним (обратите внимание, что здесь также есть один онлайн: http://opensource.adobe.com/svn/opensource/flexpmd/bin/flex-pmd-violations-viewer.html).

Но я бы хотел просмотреть результаты напрямую, не делая дополнительного шага, нажав кнопку загрузки. Я предполагаю, что есть какой-то черный URL-параметр, который работает, но (если так), что это?Этот сайт:

http://blogs.adobe.com/xagnetti/2009/09/load_pmd_results_directly_in_t.html

упоминает ссылку на pmd.xml с параметром URL-адреса report, например:

http://opensource.adobe.com/svn/opensource/flexpmd/bin/flex-pmd-violations-viewer.html?report=path/to/my/pmd.xml

, ноэто не работает для меня. Кто-нибудь сталкивался с этой проблемой и победил случайно?

РЕДАКТИРОВАТЬ: Подробнее ... Последняя (opensource.adobe.com ...) веб-страница имеет следующий JavaScript:

function getReport()
{
    if ( window.location.href.indexOf('=') == -1 )
    {
        return "";
    }
    var hashes = window.location.href.slice(window.location.href.indexOf('=') + 1);

    return hashes;
}

var report = getReport();

, который он передает во flashvars. Возможно, формат, с которым я передаю pmd.xml, неверен?

1 Ответ

0 голосов
/ 01 марта 2012

Ладно, разобрался. Версия средства просмотра нарушений, которая поставляется с FlexPMD с открытым исходным кодом, не позволяет автоматически просматривать отчеты (оболочка HTML не передает путь к файлу отчета и SWF-файл не принимает его). Решение, которое сработало для меня, состояло в том, чтобы загрузить файлы из онлайн-просмотра нарушений здесь:

http://opensource.adobe.com/svn/opensource/flexpmd/bin/flex-pmd-violations-viewer.html?report=path/to/my/pmd.xml

с помощью браузера просто сохранить веб-страницу, а затем свернуться, чтобы сохранить SWF-файл (прямая попытка сохранения из браузера не будет работать - похоже, перенаправить на нулевой адрес), например:

завиток -O http://opensource.adobe.com/svn/opensource/flexpmd/bin/flex-pmd-violations-viewer-1.1.swf

и поместите в тот же каталог, что и загруженный HTML-файл средства просмотра нарушений. Тогда вы можете читать ваши отчеты автоматически! Вот пример (абсолютный путь к файлу на Mac):

Файл: ///path/to/your/violations-viewer/ViolationsViewer.html отчет = / Users / joverton / некоторые / проект / путь / бен-отлаживать / pmd_reports / pmd.xml

...