plugins {
    id 'org.springframework.boot' version '2.6.2'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
    id 'com.adarshr.test-logger' version '2.1.1'
    id 'org.owasp.dependencycheck' version '6.5.1'
}

group = 'com.example'
version = '1.0.0-SNAPSHOT'
sourceCompatibility = '11'

configurations {
    compileOnly {
        extendsFrom annotationProcessor
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-security'
    implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
    implementation 'org.springframework.boot:spring-boot-starter-validation'
    implementation 'org.springdoc:springdoc-openapi-ui:1.6.2'
    implementation 'com.nimbusds:nimbus-jose-jwt:9.15.2'
    implementation 'org.apache.commons:commons-lang3'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    runtimeOnly 'com.h2database:h2'
    runtimeOnly 'mysql:mysql-connector-java'
    runtimeOnly 'org.postgresql:postgresql'
    annotationProcessor 'org.springframework.boot:spring-boot-configuration-processor'
    testImplementation('org.springframework.boot:spring-boot-starter-test')
    testImplementation 'org.springframework.security:spring-security-test'
    testImplementation 'io.rest-assured:spring-mock-mvc'
}

test {
    useJUnitPlatform()
}

dependencyCheck {
    analyzedTypes = ['jar']
    failBuildOnCVSS=8
    format='ALL'
    suppressionFile=file("$projectDir/dependency-check-suppressions.xml")
    analyzers {
        experimentalEnabled = false
        assemblyEnabled = false
        nuspecEnabled = false
        nodeEnabled = false
        nodeAuditEnabled = false
        nexusEnabled = false
    }
}

