Search Gradle plugins

Asyncwright brings contract-first AsyncAPI validation and model-based generation to Gradle builds and CI. It validates a defined subset of AsyncAPI 3.0.0 YAML and JSON documents, resolves local JSON Pointer references, and produces JSON and text diagnostic reports. A Groovy/Kotlin DSL configures specifications and project rules; validation integrates with the check task so contract errors fail the build. The Java extension API lets teams supply custom validation rules and generators that work with a typed model. Generation runs through explicitly invoked tasks using user-supplied generators. Validation and generation tasks support the Gradle build cache and configuration cache, and run in classloader-isolated Gradle workers without requiring Node.js. Custom extensions must declare their inputs and produce deterministic outputs for correct caching. The supported subset excludes external references, traits, YAML aliases and non-default schema formats. See the project documentation for setup, examples and the full validation scope.

https://github.com/sjacek/asyncwright

Sources: https://github.com/sjacek/asyncwright.git

Version 0.1.0 (latest)

Created 23 October 2026.

Asyncwright brings contract-first AsyncAPI validation and model-based generation to Gradle builds and CI. It validates a defined subset of AsyncAPI 3.0.0 YAML and JSON documents, resolves local JSON Pointer references, and produces JSON and text diagnostic reports. A Groovy/Kotlin DSL configures specifications and project rules; validation integrates with the check task so contract errors fail the build. The Java extension API lets teams supply custom validation rules and generators that work with a typed model. Generation runs through explicitly invoked tasks using user-supplied generators. Validation and generation tasks support the Gradle build cache and configuration cache, and run in classloader-isolated Gradle workers without requiring Node.js. Custom extensions must declare their inputs and produce deterministic outputs for correct caching. The supported subset excludes external references, traits, YAML aliases and non-default schema formats. See the project documentation for setup, examples and the full validation scope.

Add this plugin to your build using the plugins DSL:

plugins {
  id("io.github.sjacek.asyncwright") version "0.1.0"
}

See also:

  • Adding the plugin to build logic for usage in precompiled script plugins.

    See the relevant documentation for more information.

    Add this plugin as a dependency to <convention-plugins-build>/build.gradle(.kts):

    dependencies {
      implementation("io.github.sjacek.asyncwright:io.github.sjacek.asyncwright.gradle.plugin:0.1.0")
    }
    It can then be applied in the precompiled script plugin:
    plugins {
      id("io.github.sjacek.asyncwright")
    }
  • The legacy method of plugin application. See the relevant documentation for more information.
    buildscript {
      repositories {
        gradlePluginPortal()
      }
      dependencies {
        classpath("io.github.sjacek.asyncwright:io.github.sjacek.asyncwright.gradle.plugin:0.1.0")
      }
    }
    
    apply(plugin = "io.github.sjacek.asyncwright")
  • Applying plugins to all subprojects .