plugins {
    id 'java-platform'
}

apply from: rootProject.file( "gradle/base-information.gradle" )
apply from: rootProject.file( "gradle/publishing-pom.gradle" )

dependencies {
    constraints {
        api project( ":hibernate-core" )
        api project( ":hibernate-testing" )

        api project( ":hibernate-envers" )
        api project( ":hibernate-spatial" )

        api project( ":hibernate-agroal" )
        api project( ":hibernate-c3p0" )
        api project( ":hibernate-hikaricp" )
        api project( ":hibernate-proxool" )
        api project( ":hibernate-vibur" )

        api project( ":hibernate-jcache" )

        api project( ":hibernate-micrometer" )
        api project( ":hibernate-graalvm")

        api project( ":hibernate-jpamodelgen" )
        api project( ":hibernate-gradle-plugin" )
        api project( ":hibernate-enhance-maven-plugin" )
        api project( ":hibernate-ant" )

        api libs.hcann

        api jakartaLibs.jpa
        api jakartaLibs.jta

        runtime libs.antlr
        runtime libs.logging
        runtime libs.byteBuddy
        runtime libs.byteBuddyAgent
        runtime libs.jandex
        runtime libs.classmate

        runtime jakartaLibs.jaxb
        runtime jakartaLibs.jaxbApi
        runtime jakartaLibs.inject


        // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        // todo : imo these are questionable
        runtime libs.agroal
        runtime libs.agroalPool
        runtime libs.c3p0
        runtime libs.hikaricp
        runtime libs.proxool
        runtime libs.vibur

        runtime libs.jcache

        runtime libs.micrometer
        // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    }
}

publishing {
    publications {
        publishedArtifacts {
            from components.javaPlatform
        }
    }
}