
dk.bankdata.gradle.swagger.GradleSwaggerPlugin.groovy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of gradle-swagger-plugin Show documentation
Show all versions of gradle-swagger-plugin Show documentation
Gradle plugin for generating OpenAPI specification using Swagger
The newest version!
package dk.bankdata.gradle.swagger
import dk.bankdata.gradle.swagger.extension.SwaggerConfig;
import org.gradle.api.Plugin;
import org.gradle.api.Project
import org.gradle.api.plugins.BasePlugin
import org.gradle.api.plugins.JavaPlugin
import org.gradle.api.plugins.JavaPluginConvention
import org.gradle.api.tasks.SourceSet;
/**
* Plugin to handle generation of OpenAPI specification using Swagger.
*/
class GradleSwaggerPlugin implements Plugin {
static SWAGGER_TASK_NAME = 'swaggerGenerate'
@Override
void apply(Project project) {
project.pluginManager.apply(JavaPlugin)
project.extensions.create('swagger', SwaggerConfig, project)
def task = project.task(SWAGGER_TASK_NAME, type: GenerateSwaggerTask)
SourceSet mainSourceSet = project.convention.getPlugin(JavaPluginConvention).sourceSets.getByName(SourceSet.MAIN_SOURCE_SET_NAME);
task.dependsOn(mainSourceSet.output)
task.outputDirectory = project.file("${project.buildDir}/swagger")
task.classpath = mainSourceSet.output + mainSourceSet.compileClasspath
task.group = BasePlugin.BUILD_GROUP
task.description = 'Generates OpenAPI documentation using Swagger.'
project.tasks.getByName(BasePlugin.ASSEMBLE_TASK_NAME).dependsOn(task)
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy