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

pluginManagement {
    repositories {
        mavenCentral()
        gradlePluginPortal()
    }

    // the classpath of the included composite project is resolved independently.
    // so custom ecj versions are not found unless we repeat the same code
    // as in ecj-source.gradle
    apply from: file("build-tools/build-infra/ecj-source.gradle"), to: delegate

    includeBuild("build-tools/build-infra")
}

plugins {
    id "org.gradle.toolchains.foojay-resolver-convention" version "1.0.0"
    id 'com.gradle.develocity' version '3.19.2' apply false
    id 'com.gradle.common-custom-user-data-gradle-plugin' version '2.4.0' apply false
}

dependencyResolutionManagement {
    versionCatalogs {
        deps {
            from(files('gradle/libs.versions.toml'))
        }
    }
}

boolean isCIBuild = System.getenv().keySet().find { it ==~ /(?i)((JENKINS|HUDSON)(_\w+)?|CI)/ } != null
boolean enableDevelocity = Boolean.parseBoolean(providers.gradleProperty("gradle.ge").orElse("false").get()) || isCIBuild
if (enableDevelocity) {
    apply plugin: "com.gradle.develocity"
    apply plugin: "com.gradle.common-custom-user-data-gradle-plugin"
    apply from: file('gradle/develocity.gradle')
}

rootProject.name = "lucene-root"

include "lucene:analysis:common"
include "lucene:analysis:icu"
include "lucene:analysis:kuromoji"
include "lucene:analysis:morfologik"
include "lucene:analysis:morfologik.tests"
include "lucene:analysis:nori"
include "lucene:analysis:opennlp"
include "lucene:analysis:phonetic"
include "lucene:analysis:smartcn"
include "lucene:analysis:stempel"
include "lucene:analysis.tests"
include "lucene:backward-codecs"
include "lucene:benchmark"
include "lucene:benchmark-jmh"
include "lucene:classification"
include "lucene:codecs"
include "lucene:core"
include "lucene:core.tests"
include "lucene:demo"
include "lucene:distribution"
include "lucene:distribution.tests"
include "lucene:documentation"
include "lucene:expressions"
include "lucene:facet"
include "lucene:grouping"
include "lucene:highlighter"
include "lucene:join"
include "lucene:luke"
include "lucene:memory"
include "lucene:misc"
include "lucene:monitor"
include "lucene:queries"
include "lucene:queryparser"
include "lucene:replicator"
include "lucene:sandbox"
include "lucene:spatial3d"
include "lucene:spatial-extras"
include "lucene:spatial-test-fixtures"
include "lucene:suggest"
include "lucene:test-framework"

include "build-tools:missing-doclet"
include "build-tools:build-infra-shadow"
