Skip to content

Commit

Permalink
Update Gradle to 8.12
Browse files Browse the repository at this point in the history
Signed-off-by: Andriy Redko <[email protected]>
  • Loading branch information
reta committed Jan 6, 2025
1 parent 4a53ff2 commit 38c2092
Show file tree
Hide file tree
Showing 104 changed files with 460 additions and 307 deletions.
8 changes: 4 additions & 4 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,8 @@ subprojects {
name = 'Snapshots'
url = 'https://aws.oss.sonatype.org/content/repositories/snapshots'
credentials {
username "$System.env.SONATYPE_USERNAME"
password "$System.env.SONATYPE_PASSWORD"
username = "$System.env.SONATYPE_USERNAME"
password = "$System.env.SONATYPE_PASSWORD"
}
}
}
Expand Down Expand Up @@ -420,7 +420,7 @@ allprojects {
gradle.projectsEvaluated {
allprojects {
project.tasks.withType(JavaForkOptions) {
maxHeapSize project.property('options.forkOptions.memoryMaximumSize')
maxHeapSize = project.property('options.forkOptions.memoryMaximumSize')
}

if (project.path == ':test:framework') {
Expand Down Expand Up @@ -736,7 +736,7 @@ tasks.named(JavaBasePlugin.CHECK_TASK_NAME) {
}

tasks.register('checkCompatibility', CheckCompatibilityTask) {
description('Checks the compatibility with child components')
description = 'Checks the compatibility with child components'
}

allprojects { project ->
Expand Down
2 changes: 1 addition & 1 deletion buildSrc/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ dependencies {
api "org.apache.commons:commons-compress:${props.getProperty('commonscompress')}"
api 'org.apache.ant:ant:1.10.14'
api 'com.netflix.nebula:gradle-extra-configurations-plugin:10.0.0'
api 'com.netflix.nebula:nebula-publishing-plugin:21.0.0'
api 'com.netflix.nebula:nebula-publishing-plugin:21.1.0'
api 'com.netflix.nebula:gradle-info-plugin:12.1.6'
api 'org.apache.rat:apache-rat:0.15'
api "commons-io:commons-io:${props.getProperty('commonsio')}"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,14 +160,14 @@ class PluginBuildPlugin implements Plugin<Project> {
archiveBaseName = archiveBaseName.get() + "-client"
}
// always configure publishing for client jars
project.publishing.publications.nebula(MavenPublication).artifactId(extension.name + "-client")
project.publishing.publications.nebula(MavenPublication).artifactId = extension.name + "-client"
final BasePluginExtension base = project.getExtensions().findByType(BasePluginExtension.class)
project.tasks.withType(GenerateMavenPom.class).configureEach { GenerateMavenPom generatePOMTask ->
generatePOMTask.destination = "${project.buildDir}/distributions/${base.archivesName}-client-${project.versions.opensearch}.pom"
}
} else {
if (project.plugins.hasPlugin(MavenPublishPlugin)) {
project.publishing.publications.nebula(MavenPublication).artifactId(extension.name)
project.publishing.publications.nebula(MavenPublication).artifactId = extension.name
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ import org.apache.rat.anttasks.Report
import org.apache.rat.anttasks.SubstringLicenseMatcher
import org.apache.rat.license.SimpleLicenseFamily
import org.opensearch.gradle.AntTask
import org.gradle.api.Project
import org.gradle.api.file.FileCollection
import org.gradle.api.tasks.Input
import org.gradle.api.tasks.InputFiles
Expand All @@ -41,6 +42,8 @@ import org.gradle.api.tasks.PathSensitive
import org.gradle.api.tasks.PathSensitivity
import org.gradle.api.tasks.SkipWhenEmpty

import javax.inject.Inject;

import java.nio.file.Files

/**
Expand All @@ -65,14 +68,18 @@ class LicenseHeadersTask extends AntTask {
@Input
List<String> excludes = []

private final Project project

/**
* Additional license families that may be found. The key is the license category name (5 characters),
* followed by the family name and the value list of patterns to search for.
*/
protected Map<String, String> additionalLicenses = new HashMap<>()

LicenseHeadersTask() {
description = "Checks sources for missing, incorrect, or unacceptable license headers"
@Inject
LicenseHeadersTask(Project project) {
this.project = project
this.description = "Checks sources for missing, incorrect, or unacceptable license headers"
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
package org.opensearch.gradle;

import org.gradle.api.DefaultTask;
import org.gradle.api.Project;
import org.gradle.api.tasks.Input;
import org.gradle.api.tasks.Internal;
import org.gradle.api.tasks.TaskAction;
Expand All @@ -48,6 +49,12 @@ public class EmptyDirTask extends DefaultTask {

private File dir;
private int dirMode = 0755;
private final Project project;

@Inject
public EmptyDirTask(Project project) {
this.project = project;
}

/**
* Creates an empty directory with the configured permissions.
Expand Down Expand Up @@ -84,7 +91,7 @@ public void setDir(File dir) {
* @param dir The path of the directory to create. Takes a String and coerces it to a file.
*/
public void setDir(String dir) {
this.dir = getProject().file(dir);
this.dir = project.file(dir);
}

@Input
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@

import org.gradle.api.DefaultTask;
import org.gradle.api.GradleException;
import org.gradle.api.Project;
import org.gradle.api.file.DirectoryProperty;
import org.gradle.api.logging.Logger;
import org.gradle.api.logging.Logging;
Expand All @@ -42,6 +43,8 @@
import org.gradle.api.tasks.StopExecutionException;
import org.gradle.api.tasks.TaskAction;

import javax.inject.Inject;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
Expand All @@ -67,8 +70,9 @@ public class ExportOpenSearchBuildResourcesTask extends DefaultTask {

private DirectoryProperty outputDir;

public ExportOpenSearchBuildResourcesTask() {
outputDir = getProject().getObjects().directoryProperty();
@Inject
public ExportOpenSearchBuildResourcesTask(Project project) {
outputDir = project.getObjects().directoryProperty();
}

@OutputDirectory
Expand Down
6 changes: 4 additions & 2 deletions buildSrc/src/main/java/org/opensearch/gradle/LoggedExec.java
Original file line number Diff line number Diff line change
Expand Up @@ -70,15 +70,17 @@ public class LoggedExec extends Exec implements FileSystemOperationsAware {
private static final Logger LOGGER = Logging.getLogger(LoggedExec.class);
private Consumer<Logger> outputLogger;
private FileSystemOperations fileSystemOperations;
private final Project project;

interface InjectedExecOps {
@Inject
ExecOperations getExecOps();
}

@Inject
public LoggedExec(FileSystemOperations fileSystemOperations) {
public LoggedExec(FileSystemOperations fileSystemOperations, Project project) {
this.fileSystemOperations = fileSystemOperations;
this.project = project;
if (getLogger().isInfoEnabled() == false) {
setIgnoreExitValue(true);
setSpoolOutput(false);
Expand Down Expand Up @@ -111,7 +113,7 @@ public void execute(Task task) {
public void setSpoolOutput(boolean spoolOutput) {
final OutputStream out;
if (spoolOutput) {
File spoolFile = new File(getProject().getBuildDir() + "/buffered-output/" + this.getName());
File spoolFile = new File(project.getBuildDir() + "/buffered-output/" + this.getName());
out = new LazyFileOutputStream(spoolFile);
outputLogger = logger -> {
try {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
import org.opensearch.gradle.LoggedExec;
import org.gradle.api.DefaultTask;
import org.gradle.api.GradleException;
import org.gradle.api.Project;
import org.gradle.api.file.DirectoryProperty;
import org.gradle.api.file.RegularFileProperty;
import org.gradle.api.logging.Logger;
Expand All @@ -60,18 +61,22 @@ public class DockerBuildTask extends DefaultTask {
private static final Logger LOGGER = Logging.getLogger(DockerBuildTask.class);

private final WorkerExecutor workerExecutor;
private final RegularFileProperty markerFile = getProject().getObjects().fileProperty();
private final DirectoryProperty dockerContext = getProject().getObjects().directoryProperty();
private final RegularFileProperty markerFile;
private final DirectoryProperty dockerContext;

private String[] tags;
private boolean pull = true;
private boolean noCache = true;
private String[] baseImages;
private final Project project;

@Inject
public DockerBuildTask(WorkerExecutor workerExecutor) {
public DockerBuildTask(WorkerExecutor workerExecutor, Project project) {
this.workerExecutor = workerExecutor;
this.markerFile.set(getProject().getLayout().getBuildDirectory().file("markers/" + this.getName() + ".marker"));
this.project = project;
this.markerFile = project.getObjects().fileProperty();
this.dockerContext = project.getObjects().directoryProperty();
this.markerFile.set(project.getLayout().getBuildDirectory().file("markers/" + this.getName() + ".marker"));
}

@TaskAction
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
import org.gradle.api.DefaultTask;
import org.gradle.api.GradleException;
import org.gradle.api.InvalidUserDataException;
import org.gradle.api.Project;
import org.gradle.api.file.FileCollection;
import org.gradle.api.logging.Logger;
import org.gradle.api.logging.Logging;
Expand All @@ -48,6 +49,8 @@
import org.gradle.api.tasks.OutputDirectory;
import org.gradle.api.tasks.TaskAction;

import javax.inject.Inject;

import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
Expand Down Expand Up @@ -127,7 +130,7 @@ public class DependencyLicensesTask extends DefaultTask {
/**
* The directory to find the license and sha files in.
*/
private File licensesDir = new File(getProject().getProjectDir(), "licenses");
private File licensesDir;

/**
* A map of patterns to prefix, used to find the LICENSE and NOTICE file.
Expand All @@ -139,6 +142,14 @@ public class DependencyLicensesTask extends DefaultTask {
*/
private Set<String> ignoreShas = new HashSet<>();

private final Project project;

@Inject
public DependencyLicensesTask(Project project) {
this.project = project;
this.licensesDir = new File(project.getProjectDir(), "licenses");
}

/**
* Add a mapping from a regex pattern for the jar name, to a prefix to find
* the LICENSE and NOTICE file for that jar.
Expand All @@ -161,7 +172,7 @@ public void mapping(Map<String, String> props) {
@InputFiles
public Property<FileCollection> getDependencies() {
if (dependenciesProvider == null) {
dependenciesProvider = getProject().getObjects().property(FileCollection.class);
dependenciesProvider = project.getObjects().property(FileCollection.class);
}
return dependenciesProvider;
}
Expand Down Expand Up @@ -250,7 +261,7 @@ public void checkDependencies() throws IOException, NoSuchAlgorithmException {
// by this output but when successful we can safely mark the task as up-to-date.
@OutputDirectory
public File getOutputMarker() {
return new File(getProject().getBuildDir(), "dependencyLicense");
return new File(project.getBuildDir(), "dependencyLicense");
}

private void failIfAnyMissing(String item, Boolean exists, String type) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@
import org.opensearch.gradle.util.GradleUtils;
import org.gradle.api.DefaultTask;
import org.gradle.api.GradleException;
import org.gradle.api.Project;
import org.gradle.api.file.FileCollection;
import org.gradle.api.file.FileTree;
import org.gradle.api.tasks.IgnoreEmptyDirectories;
Expand All @@ -48,6 +49,8 @@
import org.gradle.api.tasks.util.PatternFilterable;
import org.gradle.api.tasks.util.PatternSet;

import javax.inject.Inject;

import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
Expand All @@ -71,10 +74,14 @@ public class FilePermissionsTask extends DefaultTask {
// exclude sh files that might have the executable bit set
.exclude("**/*.sh");

private File outputMarker = new File(getProject().getBuildDir(), "markers/filePermissions");
private final File outputMarker;
private final Project project;

public FilePermissionsTask() {
@Inject
public FilePermissionsTask(Project project) {
setDescription("Checks java source files for correct file permissions");
this.project = project;
this.outputMarker = new File(project.getBuildDir(), "markers/filePermissions");
}

private static boolean isExecutableFile(File file) {
Expand All @@ -98,11 +105,11 @@ private static boolean isExecutableFile(File file) {
@IgnoreEmptyDirectories
@PathSensitive(PathSensitivity.RELATIVE)
public FileCollection getFiles() {
return GradleUtils.getJavaSourceSets(getProject())
return GradleUtils.getJavaSourceSets(project)
.stream()
.map(sourceSet -> sourceSet.getAllSource().matching(filesFilter))
.reduce(FileTree::plus)
.orElse(getProject().files().getAsFileTree());
.orElse(project.files().getAsFileTree());
}

@TaskAction
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
import org.gradle.api.DefaultTask;
import org.gradle.api.GradleException;
import org.gradle.api.InvalidUserDataException;
import org.gradle.api.Project;
import org.gradle.api.file.FileCollection;
import org.gradle.api.file.FileTree;
import org.gradle.api.plugins.JavaPluginExtension;
Expand All @@ -48,6 +49,8 @@
import org.gradle.api.tasks.util.PatternFilterable;
import org.gradle.api.tasks.util.PatternSet;

import javax.inject.Inject;

import java.io.File;
import java.io.IOException;
import java.io.UncheckedIOException;
Expand Down Expand Up @@ -89,8 +92,10 @@ public class ForbiddenPatternsTask extends DefaultTask {
* The rules: a map from the rule name, to a rule regex pattern.
*/
private final Map<String, String> patterns = new HashMap<>();
private final Project project;

public ForbiddenPatternsTask() {
@Inject
public ForbiddenPatternsTask(Project project) {
setDescription("Checks source files for invalid patterns like nocommits or tabs");
getInputs().property("excludes", filesFilter.getExcludes());
getInputs().property("rules", patterns);
Expand All @@ -99,20 +104,22 @@ public ForbiddenPatternsTask() {
patterns.put("nocommit", "nocommit|NOCOMMIT");
patterns.put("nocommit should be all lowercase or all uppercase", "((?i)nocommit)(?<!(nocommit|NOCOMMIT))");
patterns.put("tab", "\t");

this.project = project;
}

@InputFiles
@SkipWhenEmpty
@IgnoreEmptyDirectories
@PathSensitive(PathSensitivity.RELATIVE)
public FileCollection getFiles() {
return getProject().getExtensions()
return project.getExtensions()
.getByType(JavaPluginExtension.class)
.getSourceSets()
.stream()
.map(sourceSet -> sourceSet.getAllSource().matching(filesFilter))
.reduce(FileTree::plus)
.orElse(getProject().files().getAsFileTree());
.orElse(project.files().getAsFileTree());
}

@TaskAction
Expand All @@ -131,7 +138,7 @@ public void checkInvalidPatterns() throws IOException {
.boxed()
.collect(Collectors.toList());

String path = getProject().getRootProject().getProjectDir().toURI().relativize(f.toURI()).toString();
String path = project.getRootProject().getProjectDir().toURI().relativize(f.toURI()).toString();
failures.addAll(
invalidLines.stream()
.map(l -> new AbstractMap.SimpleEntry<>(l + 1, lines.get(l)))
Expand All @@ -155,7 +162,7 @@ public void checkInvalidPatterns() throws IOException {

@OutputFile
public File getOutputMarker() {
return new File(getProject().getBuildDir(), "markers/" + getName());
return new File(project.getBuildDir(), "markers/" + getName());
}

@Input
Expand Down
Loading

0 comments on commit 38c2092

Please sign in to comment.