Gradle:如何获取存储在.Gradle中的特定外部依赖项的路径?
我对格拉德尔是个新手。对于repo,我利用了非常方便的gradle插件,几乎完全按照我的要求(在我的openapi.json规范上生成HTML2静态文档),除了有一个旧的错误,该文档没有正确填充。有一个PR请求已经有好几个月没有被处理了,它主要解决了这个问题,所以我用这些更改构建了一个定制的jar 我想创建一个新的gradle任务,将这个自定义外部jar作为可执行文件运行,这样我就可以基本上实现与grade插件相同的功能。通过这样做,我将其添加到maven存储库中,并将其作为依赖项拉下来:Gradle:如何获取存储在.Gradle中的特定外部依赖项的路径?,gradle,openapi-generator,Gradle,Openapi Generator,我对格拉德尔是个新手。对于repo,我利用了非常方便的gradle插件,几乎完全按照我的要求(在我的openapi.json规范上生成HTML2静态文档),除了有一个旧的错误,该文档没有正确填充。有一个PR请求已经有好几个月没有被处理了,它主要解决了这个问题,所以我用这些更改构建了一个定制的jar 我想创建一个新的gradle任务,将这个自定义外部jar作为可执行文件运行,这样我就可以基本上实现与grade插件相同的功能。通过这样做,我将其添加到maven存储库中,并将其作为依赖项拉下来: de
dependencies {
compile 'org.openapitools:openapi-generator-custom-cli:3.0.0'
}
然后将jar拉入我的外部库目录,该目录存储在缓存中的一个非常特定的位置(ref:)
我怎样才能知道这个罐子的确切位置?有没有其他更适合的方法呢?听起来,要获得定制文档,您要走的路要困难得多。如果发现的问题仅与模板有关,则可以在Gradle任务中指定
templateDir
,并指向保存自定义目录的目录
例如:
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"
]
}
然后,您可以使用gradlebuildgosdk
来构建它
如果您希望修复的问题在管理生成器的Java代码中有一些逻辑,那么您可以创建并加载它,而无需修改gradle插件本身
实际上,我有一个HTML2生成器的示例repo,它正是这样做的。我的示例只更改了生成器名称,并将Google Analytics作为配置选项添加到模板中,但应该很容易遵循。看
关键部分是将自定义生成器jar添加到buildscript依赖项中,如下所示(取自我的repo示例):
听起来,要获得定制文档要困难得多。如果发现的问题仅与模板有关,则可以在Gradle任务中指定
templateDir
,并指向保存自定义目录的目录
例如:
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"
]
}
然后,您可以使用gradlebuildgosdk
来构建它
如果您希望修复的问题在管理生成器的Java代码中有一些逻辑,那么您可以创建并加载它,而无需修改gradle插件本身
实际上,我有一个HTML2生成器的示例repo,它正是这样做的。我的示例只更改了生成器名称,并将Google Analytics作为配置选项添加到模板中,但应该很容易遵循。看
关键部分是将自定义生成器jar添加到buildscript依赖项中,如下所示(取自我的repo示例):