From 3aa07714355907014afa00caf3657834d61dc966 Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Tue, 18 Aug 2026 20:34:36 +0200 Subject: [PATCH 1/5] Fix javadoc warnings --- .../gradle/OpenFastTracePlugin.java | 13 ++ .../gradle/config/TagConfig.java | 10 ++ .../gradle/config/TagPathConfiguration.java | 90 +++++++----- .../gradle/config/TracingConfig.java | 139 ++++++++++++++++++ .../gradle/task/CollectTask.java | 26 ++++ .../openfasttrace/gradle/task/TraceTask.java | 63 ++++++++ .../task/config/SerializableTagConfig.java | 37 +++++ .../config/SerializableTagPathConfig.java | 19 +++ 8 files changed, 361 insertions(+), 36 deletions(-) diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePlugin.java b/src/main/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePlugin.java index 5250b4a..13b379d 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePlugin.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/OpenFastTracePlugin.java @@ -21,11 +21,24 @@ import org.itsallcode.openfasttrace.gradle.task.config.SerializableTagPathConfig; import org.slf4j.Logger; +/** Gradle plugin that collects and traces requirements. */ public class OpenFastTracePlugin implements Plugin { private static final Logger LOG = Logging.getLogger(OpenFastTracePlugin.class); private static final String TASK_GROUP_NAME = "trace"; + /** Creates the plugin. */ + public OpenFastTracePlugin() + { + super(); + } + + /** + * Applies the plugin to the root project. + * + * @param rootProject + * the project receiving the plugin + */ @Override public void apply(final Project rootProject) { diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagConfig.java b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagConfig.java index 0378dc8..1088b74 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagConfig.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagConfig.java @@ -3,15 +3,20 @@ import org.gradle.api.Project; import org.gradle.api.file.FileCollection; +/** Configuration for one set of requirement tags. */ // Public fields are required for configuration via gradle @SuppressWarnings("squid:ClassVariableVisibilityCheck") public class TagConfig { private final Project project; + /** Files containing the tags. */ public FileCollection paths; + /** Artifact type of the covered requirements. */ public String coveredItemArtifactType; + /** Artifact type of the tags. */ public String tagArtifactType; + /** Prefix used when matching covered requirement names. */ public String coveredItemNamePrefix; TagConfig(final Project project) @@ -19,6 +24,11 @@ public class TagConfig this.project = project; } + /** + * Returns the name of the project to which this configuration belongs. + * + * @return the Gradle project name + */ public String getProjectName() { return project.getName(); diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagPathConfiguration.java b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagPathConfiguration.java index 48dc016..8d128f2 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagPathConfiguration.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TagPathConfiguration.java @@ -1,36 +1,54 @@ -package org.itsallcode.openfasttrace.gradle.config; - -import java.util.ArrayList; -import java.util.List; - -import org.gradle.api.Action; -import org.gradle.api.Project; - -public class TagPathConfiguration -{ - private final Project project; - private final List tagConfigs = new ArrayList<>(); - - public TagPathConfiguration(final Project project) - { - this.project = project; - } - - public void tag(final Action action) - { - final TagConfig tagConfig = new TagConfig(project); - action.execute(tagConfig); - tagConfigs.add(tagConfig); - } - - public List getPathConfig() - { - return tagConfigs; - } - - @Override - public String toString() - { - return "TagPathConfiguration [tagConfigs=" + tagConfigs + "]"; - } -} +package org.itsallcode.openfasttrace.gradle.config; + +import java.util.ArrayList; +import java.util.List; + +import org.gradle.api.Action; +import org.gradle.api.Project; + +/** Configuration of tag paths for a project. */ +public class TagPathConfiguration +{ + private final Project project; + private final List tagConfigs = new ArrayList<>(); + + /** + * Creates an empty tag path configuration. + * + * @param project + * the Gradle project owning the configuration + */ + public TagPathConfiguration(final Project project) + { + this.project = project; + } + + /** + * Adds a tag configuration. + * + * @param action + * action used to configure the tag + */ + public void tag(final Action action) + { + final TagConfig tagConfig = new TagConfig(project); + action.execute(tagConfig); + tagConfigs.add(tagConfig); + } + + /** + * Returns the configured tag paths. + * + * @return the tag configurations + */ + public List getPathConfig() + { + return tagConfigs; + } + + @Override + public String toString() + { + return "TagPathConfiguration [tagConfigs=" + tagConfigs + "]"; + } +} diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TracingConfig.java b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TracingConfig.java index 74af7ce..93cd06d 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/config/TracingConfig.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/config/TracingConfig.java @@ -11,6 +11,7 @@ import org.itsallcode.openfasttrace.api.DetailsSectionDisplay; import org.itsallcode.openfasttrace.api.report.ReportVerbosity; +/** Configuration of requirement collection and tracing. */ public class TracingConfig { private static final ReportVerbosity DEFAULT_REPORT_VERBOSITY = ReportVerbosity.FAILURE_DETAILS; @@ -28,6 +29,12 @@ public class TracingConfig private final Property detailsSectionDisplay; private final Property failBuild; + /** + * Creates a tracing configuration with the plugin defaults. + * + * @param project + * the Gradle project owning the configuration + */ public TracingConfig(final Project project) { this.inputDirectories = project.files(); @@ -48,121 +55,253 @@ public TracingConfig(final Project project) this.failBuild.set(true); } + /** + * Returns the report verbosity property. + * + * @return the verbosity property + */ public Property getReportVerbosity() { return reportVerbosity; } + /** + * Returns the report format property. + * + * @return the format property + */ public Property getReportFormat() { return reportFormat; } + /** + * Returns the directories containing requirements. + * + * @return the input directories + */ public ConfigurableFileCollection getInputDirectories() { return inputDirectories; } + /** + * Returns the optional report output file. + * + * @return the report file + */ public RegularFileProperty getReportFile() { return reportFile; } + /** + * Returns the external requirement dependencies. + * + * @return the imported requirements + */ public ListProperty getImportedRequirements() { return importedRequirements; } + /** + * Returns the tags to include in tracing. + * + * @return the tag filter + */ public SetProperty getFilteredTags() { return filteredTags; } + /** + * Returns the artifact types to include in tracing. + * + * @return the artifact type filter + */ public SetProperty getFilteredArtifactTypes() { return filteredArtifactTypes; } + /** + * Returns whether untagged items are included. + * + * @return the untagged item setting + */ public Property getFilterAcceptsItemsWithoutTag() { return filterAcceptsItemsWithoutTag; } + /** + * Returns the report details section display setting. + * + * @return the display setting + */ public Property getDetailsSectionDisplay() { return detailsSectionDisplay; } + /** + * Returns the statuses to include in tracing. + * + * @return the status filter + */ public SetProperty getFilterWantedStatuses() { return filterWantedStatuses; } + /** + * Sets the report verbosity by name. + * + * @param reportVerbosity + * verbosity name + */ public void setReportVerbosity(final String reportVerbosity) { setReportVerbosity(ReportVerbosity.valueOf(reportVerbosity)); } + /** + * Sets the report verbosity. + * + * @param reportVerbosity + * verbosity to use + */ public void setReportVerbosity(final ReportVerbosity reportVerbosity) { this.reportVerbosity.set(reportVerbosity); } + /** + * Sets the report format. + * + * @param reportFormat + * format to use + */ public void setReportFormat(final String reportFormat) { this.reportFormat.set(reportFormat); } + /** + * Sets the directories containing requirements. + * + * @param inputDirectories + * directories to use + */ public void setInputDirectories(final ConfigurableFileCollection inputDirectories) { this.inputDirectories.setFrom(inputDirectories); } + /** + * Sets the report output file. + * + * @param reportFile + * file to write + */ public void setReportFile(final RegularFileProperty reportFile) { this.reportFile.set(reportFile); } + /** + * Sets the external requirement dependencies. + * + * @param importedRequirements + * dependencies to import + */ public void setImportedRequirements(final List importedRequirements) { this.importedRequirements.set(importedRequirements); } + /** + * Sets the tags to include in tracing. + * + * @param filteredTags + * tags to include + */ public void setFilteredTags(final List filteredTags) { this.filteredTags.set(filteredTags); } + /** + * Sets the artifact types to include in tracing. + * + * @param filteredArtifactTypes + * artifact types to include + */ public void setFilteredArtifactTypes(final List filteredArtifactTypes) { this.filteredArtifactTypes.set(filteredArtifactTypes); } + /** + * Sets whether untagged items are included. + * + * @param filterAcceptsItemsWithoutTag + * whether to include untagged items + */ public void setFilterAcceptsItemsWithoutTag(final boolean filterAcceptsItemsWithoutTag) { this.filterAcceptsItemsWithoutTag.set(filterAcceptsItemsWithoutTag); } + /** + * Sets the report details section display setting by name. + * + * @param detailsSectionDisplay + * display setting name + */ public void setDetailsSectionDisplay(final String detailsSectionDisplay) { this.detailsSectionDisplay.set(DetailsSectionDisplay.valueOf(detailsSectionDisplay)); } + /** + * Sets the statuses to include in tracing. + * + * @param statuses + * statuses to include + */ public void setFilterWantedStatuses(final Set statuses) { this.filterWantedStatuses.set(statuses); } + /** + * Returns the tag path configuration. + * + * @return the tag path configuration + */ public TagPathConfiguration getTagPathConfig() { return ((ExtensionAware) this).getExtensions().getByType(TagPathConfiguration.class); } + /** + * Returns whether tracing defects fail the build. + * + * @return the fail-build property + */ public Property getFailBuild() { return failBuild; } + /** + * Sets whether tracing defects fail the build. + * + * @param failBuild + * whether defects should fail the build + */ public void setFailBuild(final boolean failBuild) { this.failBuild.set(failBuild); diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java b/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java index fe63310..e250432 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java @@ -19,19 +19,34 @@ import org.itsallcode.openfasttrace.core.*; import org.itsallcode.openfasttrace.gradle.task.config.SerializableTagPathConfig; +/** Gradle task that collects requirements into a specobject file. */ @CacheableTask public class CollectTask extends DefaultTask { + /** Creates the task. */ + public CollectTask() + { + super(); + } + // Possible 'this' escape before subclass is fully initialized + /** Directories from which requirements are collected. */ @SuppressWarnings("this-escape") public final SetProperty inputDirectories = getProject().getObjects() .setProperty(File.class); + /** Generated specobject file. */ @SuppressWarnings("this-escape") public final RegularFileProperty outputFile = getProject().getObjects().fileProperty(); + /** Configured tag path settings. */ @SuppressWarnings({ "this-escape" }) public final ListProperty pathConfig = getProject().getObjects() .listProperty(SerializableTagPathConfig.class); + /** + * Returns the directories from which requirements are collected. + * + * @return the input directories + */ @InputFiles @PathSensitive(PathSensitivity.ABSOLUTE) public SetProperty getInputDirectories() @@ -39,18 +54,29 @@ public SetProperty getInputDirectories() return inputDirectories; } + /** + * Returns the generated specobject file. + * + * @return the output file + */ @OutputFile public RegularFileProperty getOutputFile() { return outputFile; } + /** + * Returns the configured tag path settings. + * + * @return the path settings + */ @Input public ListProperty getPathConfig() { return pathConfig; } + /** Collects requirements and writes the specobject file. */ @TaskAction public void collectRequirements() { diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/task/TraceTask.java b/src/main/java/org/itsallcode/openfasttrace/gradle/task/TraceTask.java index 23e5664..10beffb 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/task/TraceTask.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/task/TraceTask.java @@ -19,10 +19,17 @@ import org.itsallcode.openfasttrace.core.Oft; import org.itsallcode.openfasttrace.core.OftRunner; +/** Gradle task that traces requirements and writes a report. */ @SuppressWarnings("this-escape") @CacheableTask public class TraceTask extends DefaultTask { + /** Creates the task. */ + public TraceTask() + { + super(); + } + private final RegularFileProperty requirementsFile = getProject().getObjects().fileProperty(); private final RegularFileProperty outputFile = getProject().getObjects().fileProperty(); private final Property reportVerbosity = getProject().getObjects() @@ -42,6 +49,11 @@ public class TraceTask extends DefaultTask private final SetProperty filterWantedStatuses = getProject().getObjects() .setProperty(ItemStatus.class); + /** + * Returns the collected requirements file. + * + * @return the requirements file + */ @InputFile @PathSensitive(PathSensitivity.ABSOLUTE) public RegularFileProperty getRequirementsFile() @@ -49,30 +61,55 @@ public RegularFileProperty getRequirementsFile() return requirementsFile; } + /** + * Returns the generated tracing report. + * + * @return the report file + */ @OutputFile public RegularFileProperty getOutputFile() { return outputFile; } + /** + * Returns the report verbosity property. + * + * @return the verbosity property + */ @Input public Property getReportVerbosity() { return reportVerbosity; } + /** + * Returns the report format property. + * + * @return the format property + */ @Input public Property getReportFormat() { return reportFormat; } + /** + * Returns the imported requirements property. + * + * @return the imported requirements property + */ @Input public SetProperty getImportedRequirements() { return importedRequirements; } + /** + * Returns the artifact type filter. + * + * @return the artifact type filter + */ @Input @Optional public SetProperty getFilteredArtifactTypes() @@ -80,30 +117,55 @@ public SetProperty getFilteredArtifactTypes() return filteredArtifactTypes; } + /** + * Returns the tag filter. + * + * @return the tag filter + */ @Input public SetProperty getFilteredTags() { return filteredTags; } + /** + * Returns whether items without tags are accepted. + * + * @return the untagged item setting + */ @Input public Property getFilterAcceptsItemsWithoutTag() { return filterAcceptsItemsWithoutTag; } + /** + * Returns the report details section display setting. + * + * @return the display setting + */ @Input public Property getDetailsSectionDisplay() { return detailsSectionDisplay; } + /** + * Returns whether tracing defects fail the build. + * + * @return the fail-build setting + */ @Input public Property getFailBuild() { return failBuild; } + /** + * Returns the status filter. + * + * @return the status filter + */ @Input @Optional public SetProperty getFilterWantedStatuses() @@ -116,6 +178,7 @@ private boolean shouldFailBuild() return failBuild.getOrElse(true); } + /** Traces the requirements and writes the report. */ @TaskAction public void trace() { diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagConfig.java b/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagConfig.java index 6f66a3b..487b271 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagConfig.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagConfig.java @@ -9,18 +9,30 @@ import org.itsallcode.openfasttrace.api.importer.tag.config.PathConfig; import org.itsallcode.openfasttrace.gradle.config.TagConfig; +/** Serializable form of a tag configuration used by a Gradle task. */ public class SerializableTagConfig implements Serializable { + /** Serialization identifier. */ private static final long serialVersionUID = 1L; // non-transient instance field of a serializable class declared with a // non-serializable type (Java 21) // We use only serializable types + /** Configured tag paths. */ @SuppressWarnings("serial") private final Set paths; + /** Covered requirement artifact type. */ private final String coveredItemArtifactType; + /** Tag artifact type. */ private final String tagArtifactType; + /** Covered requirement name prefix. */ private final String coveredItemNamePrefix; + /** + * Creates a serializable copy of a tag configuration. + * + * @param tagConfig + * configuration to copy + */ public SerializableTagConfig(final TagConfig tagConfig) { paths = tagConfig.paths.getFiles(); @@ -31,26 +43,51 @@ public SerializableTagConfig(final TagConfig tagConfig) : (tagConfig.getProjectName() + "."); } + /** + * Returns the configured tag paths. + * + * @return the configured paths + */ public List getPaths() { return paths.stream().map(File::toPath).toList(); } + /** + * Returns the covered requirement artifact type. + * + * @return the artifact type + */ public String getCoveredItemArtifactType() { return coveredItemArtifactType; } + /** + * Returns the tag artifact type. + * + * @return the artifact type + */ public String getTagArtifactType() { return tagArtifactType; } + /** + * Returns the covered requirement name prefix. + * + * @return the name prefix + */ public String getCoveredItemNamePrefix() { return coveredItemNamePrefix; } + /** + * Converts this value to an OpenFastTrace path configuration. + * + * @return the OpenFastTrace configuration + */ public PathConfig convert() { return PathConfig.builder() // diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagPathConfig.java b/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagPathConfig.java index 43d788a..95a98e7 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagPathConfig.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/task/config/SerializableTagPathConfig.java @@ -8,26 +8,45 @@ import org.itsallcode.openfasttrace.api.importer.tag.config.PathConfig; import org.itsallcode.openfasttrace.gradle.config.TagPathConfiguration; +/** Serializable form of a tag path configuration used by a Gradle task. */ public class SerializableTagPathConfig implements Serializable { + /** Serialization identifier. */ private static final long serialVersionUID = 1L; // non-transient instance field of a serializable class declared with a // non-serializable type (Java 21) // We use only serializable types + /** Configured tag paths. */ @SuppressWarnings("serial") private final List tagConfigs; + /** + * Creates a serializable copy of a tag path configuration. + * + * @param tagPathConfig + * configuration to copy + */ public SerializableTagPathConfig(final TagPathConfiguration tagPathConfig) { tagConfigs = tagPathConfig.getPathConfig().stream().map(SerializableTagConfig::new) .toList(); } + /** + * Returns all paths in this configuration. + * + * @return all configured paths + */ public Stream getPaths() { return tagConfigs.stream().map(SerializableTagConfig::getPaths).flatMap(List::stream); } + /** + * Returns the OpenFastTrace path configurations. + * + * @return the path configurations + */ public Stream getPathConfig() { return tagConfigs.stream().map(SerializableTagConfig::convert); From b2c64d53fc55c5cc50f53972d9d74805d1e7c4b6 Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Tue, 18 Aug 2026 20:36:00 +0200 Subject: [PATCH 2/5] Fail build on javadoc warnings --- build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle b/build.gradle index 380fb9c..5f32a3a 100644 --- a/build.gradle +++ b/build.gradle @@ -79,7 +79,7 @@ tasks.withType(JavaCompile) { javadoc { failOnError = true options.addBooleanOption('html5', true) - //options.addStringOption('Xwerror', '-quiet') + options.addBooleanOption('Xwerror', true) } task compileOft(type: Exec) { From 28c6280e820f1cefadd626a8a9ef299f5d3d9cd9 Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Thu, 20 Aug 2026 09:08:20 +0200 Subject: [PATCH 3/5] Fix sonar warnings --- .../openfasttrace/gradle/task/CollectTask.java | 14 +++++++------- .../openfasttrace/gradle/task/TraceTask.java | 12 ++++++------ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java b/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java index e250432..8aa184e 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java @@ -23,14 +23,8 @@ @CacheableTask public class CollectTask extends DefaultTask { - /** Creates the task. */ - public CollectTask() - { - super(); - } - - // Possible 'this' escape before subclass is fully initialized /** Directories from which requirements are collected. */ + // Possible 'this' escape before subclass is fully initialized @SuppressWarnings("this-escape") public final SetProperty inputDirectories = getProject().getObjects() .setProperty(File.class); @@ -42,6 +36,12 @@ public CollectTask() public final ListProperty pathConfig = getProject().getObjects() .listProperty(SerializableTagPathConfig.class); + /** Creates the task. */ + public CollectTask() + { + super(); + } + /** * Returns the directories from which requirements are collected. * diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/task/TraceTask.java b/src/main/java/org/itsallcode/openfasttrace/gradle/task/TraceTask.java index 10beffb..c7cc96e 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/task/TraceTask.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/task/TraceTask.java @@ -24,12 +24,6 @@ @CacheableTask public class TraceTask extends DefaultTask { - /** Creates the task. */ - public TraceTask() - { - super(); - } - private final RegularFileProperty requirementsFile = getProject().getObjects().fileProperty(); private final RegularFileProperty outputFile = getProject().getObjects().fileProperty(); private final Property reportVerbosity = getProject().getObjects() @@ -49,6 +43,12 @@ public TraceTask() private final SetProperty filterWantedStatuses = getProject().getObjects() .setProperty(ItemStatus.class); + /** Creates the task. */ + public TraceTask() + { + super(); + } + /** * Returns the collected requirements file. * From 86690d8eadb0c00436b5b524ce2b1d4869cc2fd6 Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Thu, 20 Aug 2026 09:12:52 +0200 Subject: [PATCH 4/5] Add changelog entry --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c7cf61..46519fe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +- [PR #80](https://github.com/itsallcode/openfasttrace-gradle/pull/80) + - Fix JavaDoc warnings and let build fail on warnings + ## [3.2.0] - 2026-08-18 - [PR #79](https://github.com/itsallcode/openfasttrace-gradle/pull/79) From d6db4965998f6202002eb95d6447f0264dd9fca1 Mon Sep 17 00:00:00 2001 From: kaklakariada Date: Thu, 20 Aug 2026 14:51:41 +0200 Subject: [PATCH 5/5] Implement review findings --- .../itsallcode/openfasttrace/gradle/task/CollectTask.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java b/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java index 8aa184e..963ab94 100644 --- a/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java +++ b/src/main/java/org/itsallcode/openfasttrace/gradle/task/CollectTask.java @@ -19,11 +19,11 @@ import org.itsallcode.openfasttrace.core.*; import org.itsallcode.openfasttrace.gradle.task.config.SerializableTagPathConfig; -/** Gradle task that collects requirements into a specobject file. */ +/** Gradle task that collects specification items into a specobject file. */ @CacheableTask public class CollectTask extends DefaultTask { - /** Directories from which requirements are collected. */ + /** Directories from which specification items are collected. */ // Possible 'this' escape before subclass is fully initialized @SuppressWarnings("this-escape") public final SetProperty inputDirectories = getProject().getObjects() @@ -43,7 +43,7 @@ public CollectTask() } /** - * Returns the directories from which requirements are collected. + * Returns the directories from which specification items are collected. * * @return the input directories */ @@ -76,7 +76,7 @@ public ListProperty getPathConfig() return pathConfig; } - /** Collects requirements and writes the specobject file. */ + /** Collects specification items and writes the specobject file. */ @TaskAction public void collectRequirements() {