// 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.

// This file contains the dependencies required for the gradle build itself.

repositories {
  mavenCentral()
  maven { url "https://clojars.org/repo" } // Only used for the clojure plugin below.
  maven { url "https://plugins.gradle.org/m2/" }
}

// Manage plugin dependencies since the plugin block can't be used in included build scripts yet.
// For more details see: https://docs.gradle.org/current/userguide/plugins.html#plugins_dsl_limitations
dependencies {
  implementation "com.github.ben-manes:gradle-versions-plugin:0.51.0"
  implementation "gradle.plugin.com.github.johnrengelman:shadow:7.1.2"
  implementation "gradle.plugin.org.barfuin.gradle.jacocolog:gradle-jacoco-log:2.0.0"
  implementation "gradle.plugin.com.google.gradle:osdetector-gradle-plugin:1.7.3"
  implementation "com.google.protobuf:protobuf-gradle-plugin:0.8.18"
  implementation "com.netflix.nebula:nebula-clojure-plugin:14.2.2"
  implementation "gradle.plugin.com.github.spotbugs.snom:spotbugs-gradle-plugin:4.7.5"
  implementation "net.ltgt.gradle:gradle-errorprone-plugin:2.0.2"
  implementation "ru.vyarus:gradle-animalsniffer-plugin:1.7.2"
  implementation "com.google.code.gson:gson:2.11.0"
  implementation "gradle.plugin.cz.alenkacz:gradle-scalafmt:1.16.2"
  implementation "com.google.guava:guava:33.4.0-jre"
  implementation "me.champeau.gradle:jmh-gradle-plugin:0.5.3"
}

// Compiler configuration
tasks.withType(GroovyCompile) {
  options.compilerArgs << '-proc:none' // Ignore leaked annotation processors on the compile classpath.
}
