Звучит так, как будто вы идете по более сложному маршруту, чтобы получить собственную документацию на месте. Если вы обнаружили проблему только с шаблоном, вы можете указать templateDir
в своей задаче Gradle и указать каталог, содержащий ваш пользовательский каталог.
Например:
buildscript {
repositories {
mavenLocal()
maven { url "https://repo1.maven.org/maven2" }
maven {
url "https://plugins.gradle.org/m2/"
}
maven {
url "https://oss.sonatype.org/content/repositories/releases/"
}
}
dependencies {
classpath "org.openapitools:openapi-generator-gradle-plugin:4.2.3"
}
}
apply plugin: 'org.openapi.generator'
task buildGoSdk(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask){
generatorName = "go"
templateDir = "$rootDir/custom-templates".toString()
inputSpec = "$rootDir/petstore-v3.0.yaml".toString()
additionalProperties = [
packageName: "petstore"
]
outputDir = "$buildDir/go".toString()
configOptions = [
dateLibrary: "threetenp"
]
}
Затем вы можете построить это с помощью gradle buildGoSdk
.
Если проблема, которую вы хотите решить, имеет лог c в коде Java, который управляет генератором, вы можете создать нестандартный генератор jar и загрузите его без изменения самого плагина gradle.
На самом деле у меня есть пример репозитория для генератора HTML2, который делает именно это. Мой пример только меняет имя генератора и добавляет Google Analytics в качестве параметра конфигурации и к шаблону, но это должно быть достаточно просто для сопровождения. См. https://github.com/jimschubert/custom-generator-example
Ключевая часть заключается в том, чтобы добавить пользовательский jar-генератор к зависимостям buildscript, как показано ниже (взято из моего репозитория):
buildscript {
repositories {
mavenLocal()
mavenCentral()
}
dependencies {
classpath "us.jimschubert.examples:html-generator:1.0-SNAPSHOT"
classpath "org.openapitools:openapi-generator-gradle-plugin:3.3.3"
}
}
apply plugin: 'org.openapi.generator'
task buildCustomHtml2(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask){
generatorName = "custom-html2"
inputSpec = "$rootDir/petstore-v3.0.yaml".toString()
additionalProperties = [
appName: "My Custom HTML2 Generator",
googleAnalytics: "12345-6"
]
outputDir = "$buildDir/custom-html".toString()
}