Class TrackerLensPlugin

java.lang.Object
com.arc_e_tect.gradle.trackerlens.TrackerLensPlugin
All Implemented Interfaces:
org.gradle.api.Plugin<org.gradle.api.Project>

public class TrackerLensPlugin extends Object implements org.gradle.api.Plugin<org.gradle.api.Project>
Gradle plugin that generates a themeable, standalone HTML dashboard from Gherkin scenario and API contract lifecycle history.

Registers the trackerLens DSL extension, a lensStyle resolvable configuration that external style packs are declared against, the generateTrackerLensDashboard task, the listTrackerLensStyles task, and the initTrackerLens / bootstrapTrackerLensProject scaffolding tasks. None of these tasks is wired into check or build automatically - the dashboard is a report, not a verification gate, and the scaffolding tasks are one-time developer conveniences.

Usage

 plugins {
     id 'com.arc-e-tect.tracker-lens'
 }

 trackerLens {
     trackers {
         register("bdd-scenarios") { historyFiles.from(file("gherkin-progress-history.ndjson")); source = TrackerSourceKind.GHERKIN_SCENARIO }
     }
 }
 
  • Field Details

    • TASK_NAME

      public static final String TASK_NAME
      Name of the dashboard-generating task registered by this plugin.
      See Also:
    • LIST_STYLES_TASK_NAME

      public static final String LIST_STYLES_TASK_NAME
      Name of the lens-listing task registered by this plugin.
      See Also:
    • INIT_LENS_TASK_NAME

      public static final String INIT_LENS_TASK_NAME
      Name of the lens-boilerplate-generating task registered by this plugin.
      See Also:
    • BOOTSTRAP_PROJECT_TASK_NAME

      public static final String BOOTSTRAP_PROJECT_TASK_NAME
      Name of the project-scaffolding task registered by this plugin.
      See Also:
  • Constructor Details

    • TrackerLensPlugin

      public TrackerLensPlugin()
      Creates a new plugin instance. Instantiated by Gradle infrastructure.
  • Method Details

    • apply

      public void apply(org.gradle.api.Project project)
      Specified by:
      apply in interface org.gradle.api.Plugin<org.gradle.api.Project>