From 4afae6aaa8cd011488468919a7de75944d356e8f Mon Sep 17 00:00:00 2001 From: Dawid Weiss Date: Wed, 12 Jun 2024 21:26:48 +0200 Subject: [PATCH] Move buildSrc into a composite included build (build-infra). Expose a plugin with buildinfra extension. --- TODO.txt | 11 ++++ .../build-infra}/build.gradle | 23 ++++++- build-tools/build-infra/settings.gradle | 18 ++++++ .../org/apache/lucene/gradle/Checksum.java | 2 +- .../gradle/ErrorReportingTestListener.java | 0 .../gradle/GradlePropertiesGenerator.java | 0 .../apache/lucene/gradle/PrefixedWriter.java | 0 .../apache/lucene/gradle/ProfileResults.java | 0 .../org/apache/lucene/gradle/SpillWriter.java | 0 .../apache/lucene/gradle/StdOutTeeWriter.java | 0 .../lucene/gradle/WrapperDownloader.java | 0 .../gradle/buildinfra/BuildInfraPlugin.java | 62 +++++++++++++++++++ .../gradle/datasets/ExtractReuters.java | 0 .../missing-doclet/build.gradle | 0 .../missing-doclet/settings.gradle | 0 .../lucene/missingdoclet/MissingDoclet.java | 0 build.gradle | 1 + gradle/datasets/external-datasets.gradle | 4 +- gradle/generation/regenerate.gradle | 4 +- gradle/testing/defaults-tests.gradle | 3 +- gradle/testing/failed-tests-at-end.gradle | 6 +- gradle/validation/jar-checks.gradle | 4 +- gradle/validation/rat-sources.gradle | 6 +- gradlew | 4 +- gradlew.bat | 4 +- lucene/distribution/build.gradle | 6 +- settings.gradle | 4 +- 27 files changed, 130 insertions(+), 32 deletions(-) create mode 100644 TODO.txt rename {buildSrc => build-tools/build-infra}/build.gradle (70%) create mode 100644 build-tools/build-infra/settings.gradle rename {buildSrc => build-tools/build-infra}/src/main/java/org/apache/lucene/gradle/Checksum.java (99%) rename {buildSrc => build-tools/build-infra}/src/main/java/org/apache/lucene/gradle/ErrorReportingTestListener.java (100%) rename {buildSrc => build-tools/build-infra}/src/main/java/org/apache/lucene/gradle/GradlePropertiesGenerator.java (100%) rename {buildSrc => build-tools/build-infra}/src/main/java/org/apache/lucene/gradle/PrefixedWriter.java (100%) rename {buildSrc => build-tools/build-infra}/src/main/java/org/apache/lucene/gradle/ProfileResults.java (100%) rename {buildSrc => build-tools/build-infra}/src/main/java/org/apache/lucene/gradle/SpillWriter.java (100%) rename {buildSrc => build-tools/build-infra}/src/main/java/org/apache/lucene/gradle/StdOutTeeWriter.java (100%) rename {buildSrc => build-tools/build-infra}/src/main/java/org/apache/lucene/gradle/WrapperDownloader.java (100%) create mode 100644 build-tools/build-infra/src/main/java/org/apache/lucene/gradle/buildinfra/BuildInfraPlugin.java rename {buildSrc => build-tools/build-infra}/src/main/java/org/apache/lucene/gradle/datasets/ExtractReuters.java (100%) rename {dev-tools => build-tools}/missing-doclet/build.gradle (100%) rename {dev-tools => build-tools}/missing-doclet/settings.gradle (100%) rename {dev-tools => build-tools}/missing-doclet/src/main/java/org/apache/lucene/missingdoclet/MissingDoclet.java (100%) diff --git a/TODO.txt b/TODO.txt new file mode 100644 index 000000000000..48ab5d66d214 --- /dev/null +++ b/TODO.txt @@ -0,0 +1,11 @@ +- locate all other dependencies in build scripts and move them to toml. +- min java version -> toml + +- reuse version catalog from composite builds + +- configure configuration groups for versions.lock, add documentation to help/ +- configure and document updateVersions/ tidy versions file. + +- apply spotless to composite builds + +- upgrade spotless and other plugins diff --git a/buildSrc/build.gradle b/build-tools/build-infra/build.gradle similarity index 70% rename from buildSrc/build.gradle rename to build-tools/build-infra/build.gradle index 821bfaeedad6..04a76792d55e 100644 --- a/buildSrc/build.gradle +++ b/build-tools/build-infra/build.gradle @@ -15,18 +15,34 @@ * limitations under the License. */ +plugins { + id "java-gradle-plugin" +} + repositories { mavenCentral() } +group = "org.apache.lucene" + ext { - // Minimum Java version required to compile buildSrc. + // Minimum Java version required to compile. minJavaVersion = JavaVersion.VERSION_21 } +gradlePlugin { + automatedPublishing = false + + plugins { + buildInfra { + id = 'lucene.build-infra' + implementationClass = 'org.apache.lucene.gradle.buildinfra.BuildInfraPlugin' + } + } +} // Make sure the build environment is consistent. -apply from: file('../gradle/validation/check-environment.gradle') +// apply from: file('../gradle/validation/check-environment.gradle') dependencies { implementation gradleApi() @@ -34,7 +50,8 @@ dependencies { implementation "commons-codec:commons-codec:1.13" } -if (!rootProject.hasJavaFlightRecorder) { +def hasJavaFlightRecorder = ModuleLayer.boot().findModule('jdk.jfr').map(this.class.module::canRead).orElse(false) +if (!hasJavaFlightRecorder) { logger.warn('Module jdk.jfr is not available; skipping compilation of Java Flight Recorder support.') tasks.named('compileJava').configure { exclude('**/ProfileResults.java') diff --git a/build-tools/build-infra/settings.gradle b/build-tools/build-infra/settings.gradle new file mode 100644 index 000000000000..8cf602844fbe --- /dev/null +++ b/build-tools/build-infra/settings.gradle @@ -0,0 +1,18 @@ +/* + * 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. + */ + +rootProject.name = 'build-infra' \ No newline at end of file diff --git a/buildSrc/src/main/java/org/apache/lucene/gradle/Checksum.java b/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/Checksum.java similarity index 99% rename from buildSrc/src/main/java/org/apache/lucene/gradle/Checksum.java rename to build-tools/build-infra/src/main/java/org/apache/lucene/gradle/Checksum.java index f9487fe5a96f..4d4269a901a4 100644 --- a/buildSrc/src/main/java/org/apache/lucene/gradle/Checksum.java +++ b/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/Checksum.java @@ -48,7 +48,7 @@ public class Checksum extends DefaultTask { private FileCollection files; private File outputDir; - private Algorithm algorithm; + private Algorithm algorithm = Algorithm.SHA512; public enum Algorithm { MD5(new DigestUtils(DigestUtils.getMd5Digest())), diff --git a/buildSrc/src/main/java/org/apache/lucene/gradle/ErrorReportingTestListener.java b/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/ErrorReportingTestListener.java similarity index 100% rename from buildSrc/src/main/java/org/apache/lucene/gradle/ErrorReportingTestListener.java rename to build-tools/build-infra/src/main/java/org/apache/lucene/gradle/ErrorReportingTestListener.java diff --git a/buildSrc/src/main/java/org/apache/lucene/gradle/GradlePropertiesGenerator.java b/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/GradlePropertiesGenerator.java similarity index 100% rename from buildSrc/src/main/java/org/apache/lucene/gradle/GradlePropertiesGenerator.java rename to build-tools/build-infra/src/main/java/org/apache/lucene/gradle/GradlePropertiesGenerator.java diff --git a/buildSrc/src/main/java/org/apache/lucene/gradle/PrefixedWriter.java b/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/PrefixedWriter.java similarity index 100% rename from buildSrc/src/main/java/org/apache/lucene/gradle/PrefixedWriter.java rename to build-tools/build-infra/src/main/java/org/apache/lucene/gradle/PrefixedWriter.java diff --git a/buildSrc/src/main/java/org/apache/lucene/gradle/ProfileResults.java b/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/ProfileResults.java similarity index 100% rename from buildSrc/src/main/java/org/apache/lucene/gradle/ProfileResults.java rename to build-tools/build-infra/src/main/java/org/apache/lucene/gradle/ProfileResults.java diff --git a/buildSrc/src/main/java/org/apache/lucene/gradle/SpillWriter.java b/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/SpillWriter.java similarity index 100% rename from buildSrc/src/main/java/org/apache/lucene/gradle/SpillWriter.java rename to build-tools/build-infra/src/main/java/org/apache/lucene/gradle/SpillWriter.java diff --git a/buildSrc/src/main/java/org/apache/lucene/gradle/StdOutTeeWriter.java b/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/StdOutTeeWriter.java similarity index 100% rename from buildSrc/src/main/java/org/apache/lucene/gradle/StdOutTeeWriter.java rename to build-tools/build-infra/src/main/java/org/apache/lucene/gradle/StdOutTeeWriter.java diff --git a/buildSrc/src/main/java/org/apache/lucene/gradle/WrapperDownloader.java b/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/WrapperDownloader.java similarity index 100% rename from buildSrc/src/main/java/org/apache/lucene/gradle/WrapperDownloader.java rename to build-tools/build-infra/src/main/java/org/apache/lucene/gradle/WrapperDownloader.java diff --git a/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/buildinfra/BuildInfraPlugin.java b/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/buildinfra/BuildInfraPlugin.java new file mode 100644 index 000000000000..56d65a84d190 --- /dev/null +++ b/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/buildinfra/BuildInfraPlugin.java @@ -0,0 +1,62 @@ +/* + * 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. + */ +package org.apache.lucene.gradle.buildinfra; + +import org.apache.lucene.gradle.Checksum; +import org.apache.lucene.gradle.ErrorReportingTestListener; +import org.apache.lucene.gradle.datasets.ExtractReuters; +import org.gradle.api.tasks.testing.TestDescriptor; +import org.gradle.api.Plugin; +import org.gradle.api.Project; +import org.gradle.api.tasks.testing.logging.TestLogging; +import java.nio.file.Path; +import org.apache.commons.codec.digest.DigestUtils; + +public class BuildInfraPlugin implements Plugin { + @Override + public void apply(Project project) { + project + .getExtensions() + .create( + BuildInfraExtension.NAME, + BuildInfraExtension.class); + } + + public static class BuildInfraExtension { + public static final String NAME = "buildinfra"; + + public ErrorReportingTestListener newErrorReportingTestListener(TestLogging testLogging, Path spillDir, Path outputsDir, boolean verboseMode) { + return new ErrorReportingTestListener(testLogging, spillDir, outputsDir, verboseMode); + } + + public DigestUtils sha1Digest() { + return new DigestUtils(DigestUtils.getSha1Digest()); + } + + public void extractReuters(String reutersDir, String outputDir) throws Exception { + ExtractReuters.main(new String [] { reutersDir, outputDir } ); + } + + public String getOutputLogName(TestDescriptor suite) { + return ErrorReportingTestListener.getOutputLogName(suite); + } + + public Class checksumClass() { + return Checksum.class; + } + } +} \ No newline at end of file diff --git a/buildSrc/src/main/java/org/apache/lucene/gradle/datasets/ExtractReuters.java b/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/datasets/ExtractReuters.java similarity index 100% rename from buildSrc/src/main/java/org/apache/lucene/gradle/datasets/ExtractReuters.java rename to build-tools/build-infra/src/main/java/org/apache/lucene/gradle/datasets/ExtractReuters.java diff --git a/dev-tools/missing-doclet/build.gradle b/build-tools/missing-doclet/build.gradle similarity index 100% rename from dev-tools/missing-doclet/build.gradle rename to build-tools/missing-doclet/build.gradle diff --git a/dev-tools/missing-doclet/settings.gradle b/build-tools/missing-doclet/settings.gradle similarity index 100% rename from dev-tools/missing-doclet/settings.gradle rename to build-tools/missing-doclet/settings.gradle diff --git a/dev-tools/missing-doclet/src/main/java/org/apache/lucene/missingdoclet/MissingDoclet.java b/build-tools/missing-doclet/src/main/java/org/apache/lucene/missingdoclet/MissingDoclet.java similarity index 100% rename from dev-tools/missing-doclet/src/main/java/org/apache/lucene/missingdoclet/MissingDoclet.java rename to build-tools/missing-doclet/src/main/java/org/apache/lucene/missingdoclet/MissingDoclet.java diff --git a/build.gradle b/build.gradle index 4e0bbc7fc161..553cba59c388 100644 --- a/build.gradle +++ b/build.gradle @@ -20,6 +20,7 @@ import java.time.format.DateTimeFormatter plugins { id "base" + id "lucene.build-infra" alias(deps.plugins.dependencychecks) alias(deps.plugins.spotless) apply false diff --git a/gradle/datasets/external-datasets.gradle b/gradle/datasets/external-datasets.gradle index 2d6ae8e13d57..b0d8e8757532 100644 --- a/gradle/datasets/external-datasets.gradle +++ b/gradle/datasets/external-datasets.gradle @@ -1,5 +1,3 @@ -import org.apache.lucene.gradle.datasets.ExtractReuters - import java.nio.file.Files /* @@ -164,7 +162,7 @@ configure(project(":lucene:benchmark")) { logger.lifecycle("Extracting ${ext.name} into ${ext.dst}...") ext.dst.deleteDir() - ExtractReuters.main(untarPath.toString(), ext.dst.toString()) + buildinfra.extractReuters(untarPath.toString(), ext.dst.toString()) } } diff --git a/gradle/generation/regenerate.gradle b/gradle/generation/regenerate.gradle index 06640a8619b1..d23cfd7d54f0 100644 --- a/gradle/generation/regenerate.gradle +++ b/gradle/generation/regenerate.gradle @@ -1,7 +1,5 @@ import groovy.json.JsonOutput import groovy.json.JsonSlurper -import org.apache.commons.codec.digest.DigestUtils - import java.util.function.Function /* @@ -58,7 +56,7 @@ def computeChecksummedEntries = { Task sourceTask -> allFiles.files.forEach { file -> allEntries.put( sourceTask.project.rootDir.relativePath(file), - file.exists() ? new DigestUtils(DigestUtils.sha1Digest).digestAsHex(file).trim() : "--") + file.exists() ? buildinfra.sha1Digest().digestAsHex(file).trim() : "--") } return allEntries diff --git a/gradle/testing/defaults-tests.gradle b/gradle/testing/defaults-tests.gradle index db121a109881..1f3a7d8b1a07 100644 --- a/gradle/testing/defaults-tests.gradle +++ b/gradle/testing/defaults-tests.gradle @@ -18,7 +18,6 @@ import org.apache.tools.ant.taskdefs.condition.Os import org.apache.tools.ant.types.Commandline import org.gradle.api.tasks.testing.logging.* -import org.apache.lucene.gradle.ErrorReportingTestListener def resources = scriptResources(buildscript) def verboseModeHookInstalled = false @@ -201,7 +200,7 @@ allprojects { } def spillDir = getTemporaryDir().toPath() - def listener = new ErrorReportingTestListener(test.testLogging, spillDir, testOutputsDir.toPath(), verboseMode) + def listener = buildinfra.newErrorReportingTestListener(test.testLogging, spillDir, testOutputsDir.toPath(), verboseMode) addTestOutputListener(listener) addTestListener(listener) diff --git a/gradle/testing/failed-tests-at-end.gradle b/gradle/testing/failed-tests-at-end.gradle index 13a1d5c720fa..c514046b029c 100644 --- a/gradle/testing/failed-tests-at-end.gradle +++ b/gradle/testing/failed-tests-at-end.gradle @@ -15,8 +15,6 @@ * limitations under the License. */ -import org.apache.lucene.gradle.ErrorReportingTestListener - // Display all failed tests at the end of the build. def failedTests = [] @@ -28,7 +26,7 @@ allprojects { failedTests << [ "name": "${desc.className}.${desc.name}", "project": "${test.project.path}", - "output": file("${task.testOutputsDir}/${ErrorReportingTestListener.getOutputLogName(desc.parent)}"), + "output": file("${task.testOutputsDir}/${buildinfra.getOutputLogName(desc.parent)}"), "reproduce": "gradlew ${project.path}:test --tests \"${desc.className}.${desc.name}\" ${task.project.testOptionsForReproduceLine}" ] } @@ -39,7 +37,7 @@ allprojects { failedTests << [ "name": "${desc.name}", "project": "${test.project.path}", - "output": file("${task.testOutputsDir}/${ErrorReportingTestListener.getOutputLogName(desc)}"), + "output": file("${task.testOutputsDir}/${buildinfra.getOutputLogName(desc)}"), "reproduce": "gradlew ${project.path}:test --tests \"${desc.name}\" ${task.project.testOptionsForReproduceLine}" ] } diff --git a/gradle/validation/jar-checks.gradle b/gradle/validation/jar-checks.gradle index 7fa6cd3b487e..7f47cd48404f 100644 --- a/gradle/validation/jar-checks.gradle +++ b/gradle/validation/jar-checks.gradle @@ -20,8 +20,6 @@ // 2) notice file // 3) checksum validation/ generation. -import org.apache.commons.codec.digest.DigestUtils - // This should be false only for debugging. def failOnError = true @@ -136,7 +134,7 @@ subprojects { jarName : file.toPath().getFileName().toString(), path : file, module : resolvedArtifact.moduleVersion, - checksum : provider { new DigestUtils(DigestUtils.sha1Digest).digestAsHex(file).trim() }, + checksum : provider { buildinfra.sha1Digest.digestAsHex(file).trim() }, // We keep track of the files referenced by this dependency (sha, license, notice, etc.) // so that we can determine unused dangling files later on. referencedFiles: [] diff --git a/gradle/validation/rat-sources.gradle b/gradle/validation/rat-sources.gradle index 79f2e79ca303..35c95c10f080 100644 --- a/gradle/validation/rat-sources.gradle +++ b/gradle/validation/rat-sources.gradle @@ -78,10 +78,10 @@ allprojects { // Exclude github stuff (templates, workflows). exclude ".github" - // The root project also includes patterns for the boostrap (buildSrc) and composite + // The root project also includes patterns for the include composite // projects. Include their sources in the scan. - include "buildSrc/src/**" - include "dev-tools/missing-doclet/src/**" + include "build-tools/build-infra/src/**" + include "build-tools/missing-doclet/src/**" // do not let RAT attempt to scan a python venv, it gets lost and confused... exclude "dev-tools/aws-jmh/build/**" diff --git a/gradlew b/gradlew index 7f9fe6edf7ce..e46ae37da346 100755 --- a/gradlew +++ b/gradlew @@ -158,7 +158,7 @@ fi GRADLE_WRAPPER_JAR="$APP_HOME/gradle/wrapper/gradle-wrapper.jar" if [ ! -e "$GRADLE_WRAPPER_JAR" ]; then - "$JAVACMD" $JAVA_OPTS "$APP_HOME/buildSrc/src/main/java/org/apache/lucene/gradle/WrapperDownloader.java" "$GRADLE_WRAPPER_JAR" + "$JAVACMD" $JAVA_OPTS "$APP_HOME/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/WrapperDownloader.java" "$GRADLE_WRAPPER_JAR" WRAPPER_STATUS=$? if [ "$WRAPPER_STATUS" -eq 1 ]; then echo "ERROR: Something went wrong. Make sure you're using Java version of exactly 21." @@ -173,7 +173,7 @@ CLASSPATH=$GRADLE_WRAPPER_JAR # START OF LUCENE CUSTOMIZATION # Generate gradle.properties if they don't exist if [ ! -e "$APP_HOME/gradle.properties" ]; then - "$JAVACMD" $JAVA_OPTS "$APP_HOME/buildSrc/src/main/java/org/apache/lucene/gradle/GradlePropertiesGenerator.java" "$APP_HOME/gradle/template.gradle.properties" "$APP_HOME/gradle.properties" + "$JAVACMD" $JAVA_OPTS "$APP_HOME/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/GradlePropertiesGenerator.java" "$APP_HOME/gradle/template.gradle.properties" "$APP_HOME/gradle.properties" GENERATOR_STATUS=$? if [ "$GENERATOR_STATUS" -ne 0 ]; then exit $GENERATOR_STATUS diff --git a/gradlew.bat b/gradlew.bat index 8202f430e1ef..bb1983444812 100644 --- a/gradlew.bat +++ b/gradlew.bat @@ -76,7 +76,7 @@ goto fail @rem LUCENE-9266: verify and download the gradle wrapper jar if we don't have one. set GRADLE_WRAPPER_JAR=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar IF NOT EXIST "%GRADLE_WRAPPER_JAR%" ( - "%JAVA_EXE%" %JAVA_OPTS% "%APP_HOME%/buildSrc/src/main/java/org/apache/lucene/gradle/WrapperDownloader.java" "%GRADLE_WRAPPER_JAR%" + "%JAVA_EXE%" %JAVA_OPTS% "%APP_HOME%/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/WrapperDownloader.java" "%GRADLE_WRAPPER_JAR%" IF %ERRORLEVEL% EQU 1 goto failWithJvmMessage IF %ERRORLEVEL% NEQ 0 goto fail ) @@ -89,7 +89,7 @@ set CLASSPATH=%GRADLE_WRAPPER_JAR% IF NOT EXIST "%APP_HOME%\gradle.properties" ( @rem local expansion is needed to check ERRORLEVEL inside control blocks. setlocal enableDelayedExpansion - "%JAVA_EXE%" %JAVA_OPTS% "%APP_HOME%/buildSrc/src/main/java/org/apache/lucene/gradle/GradlePropertiesGenerator.java" "%APP_HOME%\gradle\template.gradle.properties" "%APP_HOME%\gradle.properties" + "%JAVA_EXE%" %JAVA_OPTS% "%APP_HOME%/build-tools/build-infra/src/main/java/org/apache/lucene/gradle/GradlePropertiesGenerator.java" "%APP_HOME%\gradle\template.gradle.properties" "%APP_HOME%\gradle.properties" IF %ERRORLEVEL% NEQ 0 goto fail endlocal ) diff --git a/lucene/distribution/build.gradle b/lucene/distribution/build.gradle index 9da62f001752..d1f70a1abf9f 100644 --- a/lucene/distribution/build.gradle +++ b/lucene/distribution/build.gradle @@ -15,8 +15,6 @@ * limitations under the License. */ -import org.apache.lucene.gradle.Checksum - import java.nio.charset.StandardCharsets import java.nio.file.Files @@ -60,9 +58,7 @@ dependencies { // Compute checksums for release archives. -task computeChecksums(type: Checksum) { - algorithm = Checksum.Algorithm.SHA512 - +task computeChecksums(type: buildinfra.checksumClass()) { files = objects.fileCollection() [ tasks.assembleSourceTgz, diff --git a/settings.gradle b/settings.gradle index 8c2e022843e8..1d46e776a8c0 100644 --- a/settings.gradle +++ b/settings.gradle @@ -20,6 +20,8 @@ pluginManagement { mavenCentral() gradlePluginPortal() } + + includeBuild("build-tools/build-infra") } plugins { @@ -40,7 +42,7 @@ apply from: file('gradle/ge.gradle') rootProject.name = "lucene-root" -includeBuild("dev-tools/missing-doclet") +includeBuild("build-tools/missing-doclet") include "lucene:analysis:common" include "lucene:analysis:icu"