
buildscript {
    repositories {
        maven {
            url 'https://plugins.gradle.org/m2/'
        }
    }
    configurations.maybeCreate('pitest')
    dependencies {
        classpath 'com.adarshr:gradle-test-logger-plugin:1.6.0'
        classpath 'info.solidsoft.gradle.pitest:gradle-pitest-plugin:1.4.6'
        pitest 'org.pitest:pitest-junit5-plugin:0.8'
    }
}
plugins {
    id 'info.solidsoft.pitest' version '1.4.6'
}
apply plugin: 'com.adarshr.test-logger'
apply plugin: 'application'
apply plugin: 'java'
apply plugin: 'info.solidsoft.pitest'

sourceCompatibility = 1.8
targetCompatibility = 1.8

mainClassName = 'com.Main'

repositories {
    mavenCentral()
    maven { url 'https://oss.sonatype.org/content/groups/public/' }
}

dependencies {
  implementation 'org.slf4j:slf4j-api:1.7.25'
  implementation 'org.slf4j:slf4j-jdk14:1.7.25'

  testImplementation 'org.junit.jupiter:junit-jupiter-api:5.5.2'
  testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.5.2'
}

run {    
  systemProperties System.getProperties()
}

test {
    useJUnitPlatform()
}

testlogger {
    theme 'mocha'     
    showExceptions true
    slowThreshold 2000
    showSummary true
    showPassed true
    showSkipped true
    showFailed true
    showStandardStreams false
    showPassedStandardStreams true
    showSkippedStandardStreams true
    showFailedStandardStreams true
}

pitest {
    testPlugin = 'junit5'
    targetClasses = ['com.*']  //by default "${project.group}.*"
    pitestVersion = '1.4.1' //not needed when a default PIT version should be used
    threads = 4
    outputFormats = ['XML', 'HTML']
    timestampedReports = false
}