Class GenerationSpec

java.lang.Object
com.ennovativesolutions.modelina.gradle.GenerationSpec

public abstract class GenerationSpec extends Object
Configuration for a single Modelina generation. Multiple generations can be declared inside the modelina { generations { ... } } block, each producing its own generation task.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract org.gradle.api.provider.MapProperty<String,Object>
    Options passed to generateToFiles, e.g.
    abstract org.gradle.api.file.RegularFileProperty
    The input document to generate models from.
    abstract org.gradle.api.provider.Property<String>
    Target output language.
    The name of this generation, as declared in the DSL.
    abstract org.gradle.api.provider.Property<String>
    Convenience for the namespace complete-model option (C#).
    abstract org.gradle.api.provider.MapProperty<String,Object>
    Options passed to the generator constructor, e.g.
    abstract org.gradle.api.file.DirectoryProperty
    Directory the generated source files are written to.
    abstract org.gradle.api.provider.Property<String>
    Convenience for the packageName complete-model option (Java, Kotlin, Scala, Go, Python, ...).
    abstract org.gradle.api.provider.ListProperty<String>
    Names of the Modelina presets to apply, e.g.

    Methods inherited from class Object

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

    • GenerationSpec

      @Inject public GenerationSpec(String name)
  • Method Details

    • getName

      public String getName()
      The name of this generation, as declared in the DSL. Used to derive the task name.
    • getLanguage

      public abstract org.gradle.api.provider.Property<String> getLanguage()
      Target output language. One of: java, typescript, csharp, cplusplus, dart, go, kotlin, javascript, php, python, rust, scala.
    • getInputFile

      public abstract org.gradle.api.file.RegularFileProperty getInputFile()
      The input document to generate models from. May be an AsyncAPI, OpenAPI, JSON Schema, Avro, Swagger or Meta-model document, in JSON or YAML.
    • getOutputDir

      public abstract org.gradle.api.file.DirectoryProperty getOutputDir()
      Directory the generated source files are written to.
    • getPresets

      public abstract org.gradle.api.provider.ListProperty<String> getPresets()
      Names of the Modelina presets to apply, e.g. JAVA_JACKSON_PRESET. These map to the preset constants exported by the @asyncapi/modelina package.
    • getOptions

      public abstract org.gradle.api.provider.MapProperty<String,Object> getOptions()
      Options passed to the generator constructor, e.g. [collectionType: 'List'] for Java or [moduleSystem: 'ESM'] for TypeScript.
    • getCompleteOptions

      public abstract org.gradle.api.provider.MapProperty<String,Object> getCompleteOptions()
      Options passed to generateToFiles, e.g. [exportType: 'named'] for TypeScript. For the common packageName / namespace cases prefer the dedicated convenience properties below.
    • getPackageName

      public abstract org.gradle.api.provider.Property<String> getPackageName()
      Convenience for the packageName complete-model option (Java, Kotlin, Scala, Go, Python, ...). Merged into getCompleteOptions().
    • getNamespace

      public abstract org.gradle.api.provider.Property<String> getNamespace()
      Convenience for the namespace complete-model option (C#). Merged into getCompleteOptions().