Skip to content

Commit f45c1d5

Browse files
authored
Add explicit dependency to validatePom and generatePom tasks (opensearch-project#12909)
Signed-off-by: Zelin Hao <zelinhao@amazon.com>
1 parent 641a185 commit f45c1d5

File tree

4 files changed

+18
-8
lines changed

4 files changed

+18
-8
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
55

66
## [Unreleased 2.x]
77
### Added
8+
- Add explicit dependency to validatePom and generatePom tasks ([#12909](https://github.com/opensearch-project/OpenSearch/pull/12909))
89

910
### Dependencies
1011
- Bump `asm` from 9.6 to 9.7 ([#12908](https://github.com/opensearch-project/OpenSearch/pull/12908))

buildSrc/src/main/java/org/opensearch/gradle/pluginzip/Publish.java

+5-4
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,6 @@ public void apply(Project project) {
9191
addLocalMavenRepo(project);
9292
addZipArtifact(project);
9393
Task validatePluginZipPom = project.getTasks().findByName("validatePluginZipPom");
94-
if (validatePluginZipPom != null) {
95-
validatePluginZipPom.dependsOn("generatePomFileForNebulaPublication");
96-
}
9794

9895
// There are number of tasks prefixed by 'publishPluginZipPublication', f.e.:
9996
// publishPluginZipPublicationToZipStagingRepository, publishPluginZipPublicationToMavenLocal
@@ -102,7 +99,11 @@ public void apply(Project project) {
10299
.filter(t -> t.getName().startsWith("publishPluginZipPublicationTo"))
103100
.collect(Collectors.toSet());
104101
if (!publishPluginZipPublicationToTasks.isEmpty()) {
105-
publishPluginZipPublicationToTasks.forEach(t -> t.dependsOn("generatePomFileForNebulaPublication"));
102+
if (validatePluginZipPom != null) {
103+
publishPluginZipPublicationToTasks.forEach(t -> t.dependsOn(validatePluginZipPom));
104+
} else {
105+
publishPluginZipPublicationToTasks.forEach(t -> t.dependsOn("generatePomFileForNebulaPublication"));
106+
}
106107
}
107108
} else {
108109
project.getLogger()

buildSrc/src/main/java/org/opensearch/gradle/precommit/PomValidationPrecommitPlugin.java

+11-4
Original file line numberDiff line numberDiff line change
@@ -53,12 +53,19 @@ public TaskProvider<? extends Task> createTask(Project project) {
5353
TaskProvider<PomValidationTask> validateTask = project.getTasks()
5454
.register("validate" + publicationName + "Pom", PomValidationTask.class);
5555
validatePom.configure(t -> t.dependsOn(validateTask));
56+
TaskProvider<GenerateMavenPom> generateMavenPom = project.getTasks()
57+
.withType(GenerateMavenPom.class)
58+
.named("generatePomFileFor" + publicationName + "Publication");
5659
validateTask.configure(task -> {
57-
GenerateMavenPom generateMavenPom = project.getTasks()
58-
.withType(GenerateMavenPom.class)
59-
.getByName("generatePomFileFor" + publicationName + "Publication");
6060
task.dependsOn(generateMavenPom);
61-
task.getPomFile().fileValue(generateMavenPom.getDestination());
61+
task.getPomFile().fileProvider(generateMavenPom.map(GenerateMavenPom::getDestination));
62+
publishing.getPublications().all(publicationForPomGen -> {
63+
task.mustRunAfter(
64+
project.getTasks()
65+
.withType(GenerateMavenPom.class)
66+
.getByName("generatePomFileFor" + Util.capitalize(publicationForPomGen.getName()) + "Publication")
67+
);
68+
});
6269
});
6370
});
6471

buildSrc/src/main/java/org/opensearch/gradle/precommit/PomValidationTask.java

+1
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,7 @@ private <T> void validateNonNull(String element, T value, Runnable validator) {
106106

107107
private void validateString(String element, String value) {
108108
validateNonNull(element, value, () -> validateNonEmpty(element, value, s -> s.trim().isEmpty()));
109+
getLogger().info(element + " with value " + value + " is validated.");
109110
}
110111

111112
private <T> void validateCollection(String element, Collection<T> value, Consumer<T> validator) {

0 commit comments

Comments
 (0)