plugins {
    id "code-quality-conventions"
    id "java-conventions"
    id "sbom-conventions"
    id "release-conventions"
}

dependencies {
    annotationProcessor "org.springframework.boot:spring-boot-autoconfigure-processor"
    annotationProcessor "org.springframework.boot:spring-boot-configuration-processor"

    api project(":arconia-core")
    api("io.opentelemetry.instrumentation:opentelemetry-micrometer-1.5") {
        exclude group: "io.opentelemetry.instrumentation", module: "opentelemetry-instrumentation-api-incubator"
    }

    implementation "org.springframework.boot:spring-boot-starter"

    optional project(":arconia-observability:arconia-opentelemetry")
    optional "org.springframework.boot:spring-boot-starter-actuator"

    testImplementation "org.springframework.boot:spring-boot-starter-test"
    testRuntimeOnly "org.junit.platform:junit-platform-launcher"
}

dependencyManagement {
    imports {
        mavenBom "io.opentelemetry.instrumentation:opentelemetry-instrumentation-bom-alpha:${openTelemetryInstrumentationVersion}-alpha"
    }
}

publishing {
    publications {
        mavenJava(MavenPublication) {
            pom {
                name = "Arconia OpenTelemetry Micrometer Metrics Bridge"
                description = "Arconia OpenTelemetry Micrometer Metrics Bridge."
            }
        }
    }
}
