2014-09-13 2 views
0

У меня есть сборка нескольких проектов Gradle, где каждый подпроект создает собственный отчет CodeNarc.Как создать единый отчет CodeNarc для сборки с несколькими проектами Gradle

Возможно ли создать единый отчет анализа CodeNarc для всех проектов в моей сборке вместо отдельного отчета для каждого из них?

ответ

1

Вы можете создать свою собственную задачу CodeNarc и настроить ее с помощью исходников всех своих подпроектов следующим образом.

task supernarc(type: CodeNarc) { 
    def allGroovySourceDirs = subprojects.collect { Project p -> p.sourceSets.main.allGroovy.getSrcDirs() }.flatten() 

    allGroovySourceDirs.each { 
    source(it) 
    } 

    // BTW, if you know you have some violations and don't want the builds to fail because of too many violations, you can increase the threshold as follows 
    maxPriority1Violations = 5 
    maxPriority2Violations = 5 
    maxPriority3Violations = 5 

}

Я создал этот sample on Github для вас, чтобы вы могли увидеть проект, используя его.

Помогло ли это?

Приветствие Kon

+1

Это выглядит здорово, но, к сожалению, я получаю сообщение об ошибке 'Не удалось найти свойство«allGroovy»на множестве источника«main''. Может быть, проблема с версией Gradle? Я использую Gradle 2.1 – pditommaso

+1

Я тоже использую 2.1. Вы применяете плагин codenarc к корневому проекту и подпроектам? – neversleepz

+0

да, это работает! Благодарю. – pditommaso

Смежные вопросы