ext {
    forceBootifulArtifact = true
    mainClassName = "org.apereo.cas.CasCommandLineShellApplication"
    publishMetadata = true
    projectMetadata = [
        category: "Developer",
        title: "Command-line Shell",
        aliases: ["shell"],
        selectable: false
    ]
    publishable = false
}

apply from: rootProject.file("gradle/springboot.gradle")

description = "Apereo CAS Commandline Shell Support via Spring Shell"

dependencies {
    api project(":api:cas-server-core-api-services")

    implementation project(":core:cas-server-core-configuration-api")
    implementation project(":core:cas-server-core-authentication-api")
    implementation project(":core:cas-server-core-util-api")
    implementation project(":core:cas-server-core-audit-api")
    implementation project(":core:cas-server-core-services-api")
    implementation project(":core:cas-server-core-logging-api")

    implementation project(":support:cas-server-support-configuration-metadata-repository")
    implementation project(":support:cas-server-support-shell-core")
    implementation project(":support:cas-server-support-jpa-util")
    implementation project(":support:cas-server-support-jpa-hibernate")
    implementation project(":support:cas-server-support-oauth-services")
    implementation project(":support:cas-server-support-oidc-services")
    implementation project(":support:cas-server-support-oidc-core-api")
    implementation project(":support:cas-server-support-saml-core-api")
    implementation project(":support:cas-server-support-saml-core")
    implementation project(":support:cas-server-support-saml-idp-core")
    implementation project(":support:cas-server-support-ws-idp-api")
    implementation project(":support:cas-server-support-otp-mfa-core")
    implementation project(":support:cas-server-support-consent-api")
    
    implementation libraries.springbootconfigmetadata
    implementation libraries.springshell
    implementation libraries.pac4jcore
    implementation libraries.pac4jjwt
    implementation libraries.nimbus
    implementation libraries.snakeyaml
    implementation libraries.jasypt
    implementation libraries.jose4j
    implementation libraries.bouncycastle
    implementation libraries.opensaml
    implementation libraries.dropwizard
    implementation libraries.javaparser

    runtimeOnly project(":support:cas-server-support-jdbc-drivers")

    testImplementation project(":core:cas-server-core-scripting")
    
    testImplementation project(path: ":core:cas-server-core-services", configuration: "tests")
    testImplementation project(path: ":core:cas-server-core", configuration: "tests")
    testImplementation project(path: ":core:cas-server-core-authentication-api", configuration: "tests")
    testImplementation project(path: ":core:cas-server-core-authentication", configuration: "tests")
    testImplementation project(path: ":core:cas-server-core-util-api", configuration: "tests")
}
