Я могу успешно добавить сгенерированный клиент openapi в свой проект через наборы исходных текстов. Но затем мне нужно скопировать зависимости в главный build-gradle
, разрешить конфликты - ›Я думаю, что было бы лучше, если бы клиент был подпроектом со своим собственным build.gradle
.
Поэтому я добавляю include = 'build:openapi-java-client'
к моим settings.gradle
и compile project(':build:openapi-java-client')
к своим зависимостям. Итак, у меня есть следующие файлы: build.gradle
:
plugins {
id 'java'
id 'application'
id "org.openapi.generator" version "4.3.1"
}
repositories {
jcenter()
}
openApiGenerate {
generatorName = "java"
inputSpec = "$rootDir/specs/petstore.yaml".toString()
outputDir = "$buildDir/openapi-java-client".toString()
apiPackage = "org.openapi.example.api"
invokerPackage = "org.openapi.example.invoker"
modelPackage = "org.openapi.example.model"
configOptions = [
dateLibrary: "java8"
]
}
dependencies {
implementation 'com.google.guava:guava:29.0-jre'
testImplementation 'junit:junit:4.13'
compile project(':build:openapi-java-client')
}
application {
mainClassName = 'a.aa.App'
}
и settings.gradle
:
rootProject.name = 'simple-java-app'
include = 'build:openapi-java-client'
Я выполняю openApiGenerate
заранее, после добавления в качестве подпроекта делаю Gradle - ›Обновить проект Gradle и Обновить.
Затем Eclipse показывает мне проблему:
Could not run phased build action using Gradle distribution 'https://services.gradle.org/distributions/gradle-6.5.1-bin.zip'.
Settings file 'C:\...\simple-java-app\settings.gradle' line: 11
A problem occurred evaluating settings 'simple-java-app'.
Could not set unknown property 'include' for settings 'simple-java-app' of type org.gradle.initialization.DefaultSettings.
Я не знаю, куда идти дальше, адресация подпроектов в подпапках работала отлично, когда я работал с https://guides.gradle.org/creating-multi-project-builds/ и поместите greeting-library
в подпапку.