Class NarrativeTraceDoctorTask

java.lang.Object
org.gradle.api.internal.AbstractTask
org.gradle.api.DefaultTask
ai.narrativetrace.gradle.NarrativeTraceDoctorTask
All Implemented Interfaces:
Comparable<org.gradle.api.Task>, org.gradle.api.internal.DynamicObjectAware, org.gradle.api.internal.TaskInternal, org.gradle.api.Named, org.gradle.api.plugins.ExtensionAware, org.gradle.api.Task, org.gradle.util.Configurable<org.gradle.api.Task>

public abstract class NarrativeTraceDoctorTask extends org.gradle.api.DefaultTask
narrativetraceDoctor: runs the free narrativetrace-cli doctor's eleven checks against this project and writes its JSON report. Calls SnapshotBuilder, DoctorChecks and DoctorRender in-process — narrativetrace-cli is a project dependency baked into this plugin's own jar (see build.gradle.kts), not an external artifact resolved when the task runs, so this needs no network access beyond applying the plugin itself. DoctorSnapshot's own doc comment names this task as one of SnapshotBuilder's two callers, alongside the narrativetrace-cli bin/narrativetrace launcher.

Read-only and always safe to run: like the CLI's own doctor verb, a finding is a normal, expected outcome, never a build failure — this task never throws on the report's own exit code, only on a real I/O failure writing the file.

  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.gradle.api.Task

    org.gradle.api.Task.Namer
  • Field Summary

    Fields inherited from interface org.gradle.api.Task

    TASK_ACTION, TASK_CONSTRUCTOR_ARGS, TASK_DEPENDS_ON, TASK_DESCRIPTION, TASK_GROUP, TASK_NAME, TASK_OVERWRITE, TASK_TYPE
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract org.gradle.api.file.RegularFileProperty
    Where the JSON report lands — build/narrativetrace/doctor-report.json by default.
    abstract org.gradle.api.file.DirectoryProperty
    The project to diagnose — this project's own directory in real use.
    void
     

    Methods inherited from class org.gradle.api.DefaultTask

    compareTo, configure, dependsOn, doFirst, doFirst, doFirst, doLast, doLast, doLast, finalizedBy, getActions, getAnt, getDependsOn, getDescription, getDestroyables, getDidWork, getEnabled, getExtensions, getFinalizedBy, getGroup, getInputs, getLocalState, getLogger, getLogging, getMustRunAfter, getName, getOutputs, getPath, getProject, getShouldRunAfter, getState, getTaskDependencies, getTemporaryDir, getTimeout, hasProperty, mustRunAfter, onlyIf, onlyIf, onlyIf, property, setActions, setDependsOn, setDescription, setDidWork, setEnabled, setFinalizedBy, setGroup, setMustRunAfter, setOnlyIf, setOnlyIf, setOnlyIf, setProperty, setShouldRunAfter, shouldRunAfter, usesService

    Methods inherited from class org.gradle.api.internal.AbstractTask

    acceptServiceReferences, appendParallelSafeAction, doNotTrackState, getAsDynamicObject, getConvention, getIdentityPath, getImpliesSubProjects, getLifecycleDependencies, getOnlyIf, getReasonNotToTrackState, getReasonTaskIsIncompatibleWithConfigurationCache, getRequiredServices, getServices, getSharedResources, getStandardOutputCapture, getTaskActions, getTaskIdentity, getTemporaryDirFactory, hasTaskActions, injectIntoNewInstance, isCompatibleWithConfigurationCache, isEnabled, isHasCustomActions, notCompatibleWithConfigurationCache, prependParallelSafeAction, setImpliesSubProjects

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.gradle.api.Task

    doNotTrackState, getConvention, notCompatibleWithConfigurationCache
  • Constructor Details

    • NarrativeTraceDoctorTask

      public NarrativeTraceDoctorTask()
  • Method Details

    • getTargetDir

      @Internal public abstract org.gradle.api.file.DirectoryProperty getTargetDir()
      The project to diagnose — this project's own directory in real use.
    • getReportFile

      @OutputFile public abstract org.gradle.api.file.RegularFileProperty getReportFile()
      Where the JSON report lands — build/narrativetrace/doctor-report.json by default.
    • runDoctor

      public void runDoctor()