Skip to content

v01d-gh/DoomaykaCheckStyleCriticPlugin

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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%