Search Gradle plugins
Plugin | Latest Version |
---|---|
com.guidedbyte.openapi-modelgenA comprehensive Gradle plugin for generating Java DTOs from multiple OpenAPI specifications with enhanced features: ## Requirements • Java 17+ • Gradle 8.0+ • OpenAPI Generator 7.14.0+ (automatically managed) ## Features • Multi-spec support with individual task generation • Lombok annotation integration (@Data, @Builder, @SuperBuilder, etc.) • Custom Mustache template support with precedence resolution • Template variable expansion (nested variables like {{currentYear}} in {{copyright}}) • Incremental build support for optimal performance • Configuration validation with detailed error reporting • Parallel template processing for large template sets • Content-based template change detection using SHA-256 hashing ## Usage Examples ### Basic Configuration ```groovy plugins { id 'com.guidedbyte.openapi-modelgen' version '1.0.0' } openapiModelgen { defaults { outputDir "build/generated-sources/openapi" modelNameSuffix "Dto" generateModelTests false validateSpec true } specs { pets { inputSpec "src/main/resources/openapi-spec/pets.yaml" modelPackage "com.example.model.pets" } orders { inputSpec "src/main/resources/openapi-spec/orders.yaml" modelPackage "com.example.model.orders" } } } ``` ### Advanced Configuration ```groovy openapiModelgen { defaults { outputDir "build/generated-sources/openapi" templateDir "src/main/resources/openapi-templates" configOptions([ dateLibrary: "java8", serializationLibrary: "jackson", useBeanValidation: "true", hideGenerationTimestamp: "true" ]) templateVariables([ copyright: "Copyright © {{currentYear}} {{companyName}}", currentYear: "2025", companyName: "My Company Inc." ]) globalProperties([ skipFormModel: "false", generateAliasAsModel: "true" ]) } specs { pets { inputSpec "specs/pets-v1.yaml" modelPackage "com.example.pets.v1.model" configOptions([ additionalModelTypeAnnotations: "@lombok.Data;@lombok.experimental.SuperBuilder" ]) } } } ``` Command Line Options: All configuration options can be overridden via command line: • --model-package=com.example.model • --output-dir=build/custom-output • --template-dir=custom-templates • --model-name-suffix=Entity • --validate-spec • --generate-model-tests • --generate-api-docs Task Generation: • generateOpenApiDtosForPets - Generate DTOs for pets specification • generateOpenApiDtosForOrders - Generate DTOs for orders specification • generateOpenApiDtosAll - Generate DTOs for all specifications Dependencies: The plugin automatically detects and works with any OpenAPI Generator version provided by your configuration management (corporate plugins, etc.). If no version is found, it falls back to the tested default version 7.14.0. The plugin also automatically adds required dependencies including Lombok, Jackson, Spring Boot validation, and JSR-305 annotations. Template Customization: Place custom .mustache templates in your template directory to override plugin defaults. Template resolution follows precedence: user templates > plugin templates > OpenAPI generator defaults. For detailed documentation visit: https://github.com/ryansmith4/openapi-modelgen |
2.1.0
(17 September 2025) |
com.gradle.develocityDevelocity gives you the data to speed up your build, improve build reliability and accelerate build debugging. |
4.2
(16 September 2025) |
io.gatling.gradleGatling plugin for Gradle |
3.14.4
(16 September 2025) |
io.jooby.openAPIJooby is a modern, performant and easy to use web framework for Java and Kotlin built on top of your favorite web server. The joobyRun task allows to restart your application on code changes without exiting the JVM |
4.0.7
(08 September 2025) |
io.jooby.runJooby is a modern, performant and easy to use web framework for Java and Kotlin built on top of your favorite web server. The joobyRun task allows to restart your application on code changes without exiting the JVM |
4.0.7
(08 September 2025) |
eu.xenit.enterprise-conventions.ext.maven-central-requirementsPerforms pre-publish check for requirements for publishing to Maven Central, also when publishing snapshots |
0.6.2
(05 September 2025) |
org.hibernate.build.version-injectionGradle plugin for performing injection of the project's version into the bytecode of one or more members |
2.1.0
(27 August 2025) |
net.kyori.indra.crossdocPerform cross-linking between Javadoc publications within a multi-module Gradle project |
3.2.0
(29 July 2025) |
com.ebay.graph-analyticsGradle plugin to perform project graph analysis, assertion, and reporting for multi-module projects |
1.1.1
(18 June 2025) |
com.asarkar.gradle.build-time-trackerGradle plugin that prints the time taken by the tasks in a build |
5.0.1
(13 May 2025) |