Class MirageApiDetectorExtension

java.lang.Object
com.arc_e_tect.gradle.mirage.MirageApiDetectorExtension

public abstract class MirageApiDetectorExtension extends Object
DSL extension for the Mirage API Detector Gradle plugin.
 mirageApiDetector {
     controllerDirs.from('src/main/java')                                    // default
     rootDocument   = file('src/main/resources/openapi/openapi.yaml')       // required
     // openApiDir  = rootDocument.get().asFile.parentFile                  // default
     failOnMirage   = false                                                  // default
     reportDir      = layout.buildDirectory.dir('reports/mirage-api-detector') // default
     reportFileName = 'mirage-apis.adoc'                                     // default
     // systemUnderTestVersion = 'v1.0.0'          // optional; default: project.version
 }
 
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    Default relative path of the directory searched for @RestController classes.
    static final String
    Default name of the generated AsciiDoc report file.
    static final String
    Extension DSL block name, i.e.
  • Constructor Summary

    Constructors
    Constructor
    Description
    For use by the Gradle-generated concrete subclass.
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract org.gradle.api.file.ConfigurableFileCollection
    Directories to search recursively for @RestController classes, used to determine which OpenAPI operations are implemented.
    abstract org.gradle.api.provider.Property<Boolean>
    Whether the build should fail when mirage APIs are found.
    abstract org.gradle.api.file.DirectoryProperty
    Directory where OpenAPI descriptions are stored.
    abstract org.gradle.api.file.DirectoryProperty
    Directory the AsciiDoc report is written to.
    abstract org.gradle.api.provider.Property<String>
    Name of the generated AsciiDoc report file (without path).
    abstract org.gradle.api.file.RegularFileProperty
    The root OpenAPI document describing the API.
    abstract org.gradle.api.provider.Property<String>
    Version of the system under test whose @RestController classes are scanned, printed in the generated report as e.g.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • NAME

      public static final String NAME
      Extension DSL block name, i.e. the name used to register the extension with the project.
      See Also:
    • DEFAULT_CONTROLLER_DIR

      public static final String DEFAULT_CONTROLLER_DIR
      Default relative path of the directory searched for @RestController classes.
      See Also:
    • DEFAULT_REPORT_FILE_NAME

      public static final String DEFAULT_REPORT_FILE_NAME
      Default name of the generated AsciiDoc report file.
      See Also:
  • Constructor Details

    • MirageApiDetectorExtension

      public MirageApiDetectorExtension()
      For use by the Gradle-generated concrete subclass.
  • Method Details

    • getControllerDirs

      public abstract org.gradle.api.file.ConfigurableFileCollection getControllerDirs()
      Directories to search recursively for @RestController classes, used to determine which OpenAPI operations are implemented. One or more directories may be configured. Defaults to "src/main/java".
      Returns:
      mutable file collection of controller source directories
    • getRootDocument

      public abstract org.gradle.api.file.RegularFileProperty getRootDocument()
      The root OpenAPI document describing the API. Required: every other OpenAPI document is expected to be reachable from this one via $ref links relative to it.
      Returns:
      mutable file property for the root OpenAPI document
    • getOpenApiDir

      public abstract org.gradle.api.file.DirectoryProperty getOpenApiDir()
      Directory where OpenAPI descriptions are stored. Used only to determine which files the task should track as inputs for up-to-date checks; every document actually consulted is discovered by following the $ref links reachable from getRootDocument(). Defaults to the root document's own parent directory.
      Returns:
      mutable directory property for the OpenAPI description directory
    • getFailOnMirage

      public abstract org.gradle.api.provider.Property<Boolean> getFailOnMirage()
      Whether the build should fail when mirage APIs are found. The report is written either way. Defaults to false.
      Returns:
      mutable boolean property controlling whether the build fails on mirage APIs
    • getReportDir

      public abstract org.gradle.api.file.DirectoryProperty getReportDir()
      Directory the AsciiDoc report is written to. Defaults to build/reports/mirage-api-detector.
      Returns:
      mutable directory property for the report output directory
    • getReportFileName

      public abstract org.gradle.api.provider.Property<String> getReportFileName()
      Name of the generated AsciiDoc report file (without path). Defaults to "mirage-apis.adoc".
      Returns:
      mutable string property for the report file name
    • getSystemUnderTestVersion

      public abstract org.gradle.api.provider.Property<String> getSystemUnderTestVersion()
      Version of the system under test whose @RestController classes are scanned, printed in the generated report as e.g. System Under Test version: v1.0.0. Defaults to the project's own version (as set in the build file or a properties file); set this property to override that default, e.g. when the controllers scanned belong to a different artifact than the one being built.
      Returns:
      mutable string property for the system-under-test version