plugins {
    id "groovy"
}

group = "com.sonymusic"
version = "0.1.0"

ext {
    jenkinsVersion = '2.555.3'
}

repositories {
    mavenCentral()
    maven { url 'https://repo.jenkins-ci.org/public/' }
}

java {
    toolchain {
        languageVersion = JavaLanguageVersion.of(21)
    }
}

dependencies {
    implementation 'com.cloudbees:groovy-cps:1.31'
    implementation "org.jenkins-ci.main:jenkins-war:${jenkinsVersion}"

    testImplementation 'org.hamcrest:hamcrest:2.2'
    testImplementation "com.lesfurets:jenkins-pipeline-unit:1.17"
    testImplementation(platform("org.junit:junit-bom:5.12.1"))
    testImplementation "org.junit.jupiter:junit-jupiter"
    testImplementation "org.junit.platform:junit-platform-launcher"
    testImplementation "org.mockito:mockito-core:5.14.2"
    testImplementation "org.mockito:mockito-junit-jupiter:5.14.2"
}

test {
    ignoreFailures = false

    useJUnitPlatform()

    testLogging {
        events "passed", "skipped", "failed"
	}
    testLogging.showStandardStreams = true

    reports {
        junitXml {
            outputPerTestCase = true
            mergeReruns = true
        }
    }
}

sourceSets {
    main {
        groovy {
            srcDirs = ['src']
        }
    }
    test {
        groovy {
            srcDirs = ['test']
        }
    }
}
