Skip to content

Commit 5170530

Browse files
committed
Declare outputs for SmithyFormatTask and SmithyValidateTask
1 parent 6aa1edd commit 5170530

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed

smithy-base/src/main/java/software/amazon/smithy/gradle/tasks/SmithyFormatTask.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,10 @@
88
import java.io.File;
99
import javax.inject.Inject;
1010
import org.gradle.StartParameter;
11+
import org.gradle.api.file.FileCollection;
1112
import org.gradle.api.model.ObjectFactory;
13+
import org.gradle.api.provider.Property;
14+
import org.gradle.api.tasks.OutputDirectories;
1215
import org.gradle.api.tasks.TaskAction;
1316
import software.amazon.smithy.utils.ListUtils;
1417

@@ -34,6 +37,11 @@ public SmithyFormatTask(ObjectFactory objectFactory, StartParameter startParamet
3437
setDescription(DESCRIPTION);
3538
}
3639

40+
@OutputDirectories
41+
public Property<FileCollection> getFormattedModels() {
42+
return getModels();
43+
}
44+
3745
@TaskAction
3846
public void execute() {
3947
writeHeading("Running smithy format");

smithy-base/src/main/java/software/amazon/smithy/gradle/tasks/SmithyValidateTask.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import org.gradle.api.tasks.InputFiles;
1818
import org.gradle.api.tasks.Internal;
1919
import org.gradle.api.tasks.Optional;
20+
import org.gradle.api.tasks.OutputFiles;
2021
import org.gradle.api.tasks.TaskAction;
2122
import software.amazon.smithy.model.validation.Severity;
2223

@@ -74,6 +75,11 @@ public SmithyValidateTask(ObjectFactory objectFactory, StartParameter startParam
7475
@Optional
7576
public abstract Property<String> getSeverity();
7677

78+
@OutputFiles
79+
public Property<FileCollection> getValidatedSources() {
80+
return getSources();
81+
}
82+
7783
/**
7884
* Gets the classpath to use when executing the Smithy CLI.
7985
*

smithy-jar/src/main/java/software/amazon/smithy/gradle/SmithyJarPlugin.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,8 @@ private void addJavaTasksForSourceSet(SourceSet sourceSet, SmithyBuildTask build
137137
TaskProvider<SmithyValidateTask> validateTaskProvider = project.getTasks()
138138
.register(VALIDATE_JAR_TASK_NAME, SmithyValidateTask.class, validateTask -> {
139139
validateTask.dependsOn(jarTask);
140+
validateTask.mustRunAfter(buildTask);
141+
jarTask.finalizedBy(validateTask);
140142

141143
// Only enable validation if the jar Task is also enabled
142144
validateTask.setEnabled(jarTask.getEnabled());

0 commit comments

Comments
 (0)