plugins {
    id "java-gradle-plugin"
    id "java"
    id "groovy"
}

repositories {
    mavenCentral()
    gradlePluginPortal()
    maven {
        url 'https://repo.spring.io/plugins-release/'
    }
}

sourceCompatibility = JavaVersion.VERSION_17

sourceSets {
    main {
        java {
            srcDirs = []
        }
        groovy {
            srcDirs += [ "src/main/java" ]
        }
    }
}

gradlePlugin {
    plugins {
        managementConfiguration {
            id = "io.spring.convention.management-configuration"
            implementationClass = "io.spring.gradle.convention.ManagementConfigurationPlugin"
        }
        githubMilestone {
            id = "org.springframework.github.milestone"
            implementationClass = "org.springframework.gradle.github.milestones.GitHubMilestonePlugin"
        }
        propdeps {
            id = "org.springframework.propdeps"
            implementationClass = "org.springframework.gradle.propdeps.PropDepsPlugin"
        }
        sagan {
            id = "org.springframework.sagan"
            implementationClass = "org.springframework.gradle.sagan.SaganPlugin"
        }
    }
}

configurations {
    implementation {
        exclude module: 'groovy-all'
    }
}

dependencies {

    implementation localGroovy()

    implementation 'com.apollographql.apollo:apollo-runtime:2.4.5'
    implementation 'com.google.code.gson:gson:2.8.8'
    implementation 'io.github.gradle-nexus:publish-plugin:1.1.0'
    implementation 'io.spring.gradle:dependency-management-plugin:1.0.11.RELEASE'
    implementation 'io.spring.javaformat:spring-javaformat-checkstyle:0.0.29'
    implementation 'io.spring.nohttp:nohttp-checkstyle:0.0.10'
    implementation 'io.spring.nohttp:nohttp-gradle:0.0.10'
    implementation 'org.asciidoctor:asciidoctor-gradle-jvm:3.3.2'
    implementation 'org.asciidoctor:asciidoctor-gradle-jvm-pdf:3.3.2'
    implementation 'org.jfrog.buildinfo:build-info-extractor-gradle:4.27.1'
    implementation 'org.hidetake:gradle-ssh-plugin:2.10.1'
    implementation 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.7.1'

}
