Skip to content

v01d-gh/DoomaykaCheckStyleCriticPlugin

 
 

Repository files navigation

DoomaykaCheckStyleCriticPlugin (Плагин gradle для оценки качества кода на основе отчётов CheckStyle)

Возможности

Данная утилита имеет следующие возможности:

  • Автоматический поиск и чтение отчёта CheckStyle.
  • Конфигурация поиска отчёта.
  • Конфигурация системы подсчёта качества кода.
  • Конфигурация выводимых сообщений с результатами оценки.
  • Интеграция с gradle
  • Полуавтоматическая установка

Как запустить?

Зависимости

  • JDK 8 и выше
  • Gradle 8.0.1 и выше
  • Make 5.2 и выше

Запуск плагина

Для использования плагина необходимо скачать три файла (папка example):

  • build.gradle
  • downloadScript.gradle
  • Makefile

Затем данные файлы необходимо поместить в директорию приложения. Предварительно необходимо сохранить свой файл build.gradle в другой директории. Пример директории для размещения скриптов:

MyProject/app

Необходимо перенести содержимое своего build.gradle скрипта в новый с сохранением данных блоков:

buildscript {		
	repositories {
		flatDir { dirs 'build/tmp' }
		mavenCentral()
	}
    
	dependencies {
			classpath "de.undercouch:gradle-download-task:3.4.3"
			classpath "org.eclipse.persistence:org.eclipse.persistence.moxy:3.0.0"
			classpath 'jakarta.xml.bind:jakarta.xml.bind-api:3.0.0'
			classpath 'doomaykacheckstylecriticplugin:parseReport:1.0.0'
    }	
}

//...Плагины приложения

apply plugin: 'doomaykacheckstylecriticplugin.parseReport'

//...Скрипт пользователя

Затем необходимо запустить установку плагина. Для этого нужно выполнить команду:

make install

Для запуска нужно выполнить команду:

make checkApp

После очистки сборки проекта плагин нужно будет устанавливать заново.

Для получения справки по Make файлу нужно выполнить команду:

make help

Конфигурация

Для настройки плагина в скрипте build.gradle можно создать блок CheckStyleCritic. Размещать данный блок необходимо после подключения плагина.

Конфигурационный блок может содержать ряд параметров:

  • Параметр errorMultiplier отвечает за множитель оценки ошибок (принимает число).
  • Параметр warningMultiplier отвечает за множитель оценки предупреждений (принимает число).
  • Параметр refactorMultiplier отвечает за множитель оценки ошибок оформления кода (принимает число).
  • Параметр conventionMultiplier отвечает за множитель оценки ошибок стандартов кода (принимает число).
  • Параметр XMLpath отвечает за путь к XML файлу отчёта CheckStyle (принимает строку).
  • Параметр XMLname отвечает за имя XML файла отчёта CheckStyle (принимает строку).
  • Параметр errorMessages отвечает за виды ошибок, которые будут учитываться при получении оценки (принимает массив строк).
  • Параметр warningMessages отвечает за виды предупреждений, которые будут учитываться при получении оценки (принимает массив строк).
  • Параметр refactorMessages отвечает за виды ошибок оформления кода, которые будут учитываться при получении оценки (принимает массив строк).
  • Параметр conventionMessages отвечает за виды ошибок стандартов кода, которые будут учитываться при получении оценки (принимает массив строк).
  • Параметр messages отвечает за выводимые в консоль сообщения (принимает массив строк).

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

  • %lc (число обработанных строк)
  • %emp (множитель оценки ошибок)
  • %wmp (множитель оценки предупреждений)
  • %rmp (множитель оценки ошибок оформления кода)
  • %cmp (множитель оценки ошибок стандартов кода)
  • %ect (количество ошибок)
  • %wct (количество предупреждений)
  • %rct (количество ошибок оформления кода)
  • %cct (количество ошибок стандартов кода)
  • %r (оценка)

Пример конфигурационного блока:

//...

apply plugin: 'doomaykacheckstylecriticplugin.parseReport'

CheckStyleCritic{
	messages = ["\\\\Doomayka CheckStyle critic//"
				, "Lines prepared: %lc"
				, "By expression: 10-((%emp*%ect+%wmp*%wct+%rmp*%rct+%cmp*%cct)/%lc)*10"
				, "V01d result: %r"
				] as String[]
	conventionMultiplier = 1
}

//...

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 97.5%
  • Makefile 2.5%