/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

plugins {
    `java-platform`
    id("airflow-publish")
}

val projectVersion: String by project
val airflowSupervisorSchemaVersion: String by project

dependencies {
    constraints {
        api("org.apache.airflow:airflow-sdk:$projectVersion")
        api("org.apache.airflow:airflow-sdk-jul:$projectVersion")
        api("org.apache.airflow:airflow-sdk-log4j2:$projectVersion")
        api("org.apache.airflow:airflow-sdk-processor:${projectVersion}")
        api("org.apache.airflow:airflow-sdk-slf4j:$projectVersion")
    }
}

publishing {
    publications {
        create<MavenPublication>("mavenBom") {
            artifactId = "airflow-sdk-bom"
            from(components["javaPlatform"])
            pom {
                name = "Apache Airflow Java SDK BOM"
                description = "Bill of Materials for the Apache Airflow Java SDK."
                properties.put("airflow.supervisor.schema.version", airflowSupervisorSchemaVersion)
            }
        }
    }
}
