46 lines
1.1 KiB
Groovy
46 lines
1.1 KiB
Groovy
final File generatedModelsDirectory = new File("${project.buildDir}/generated/source/models")
|
|
|
|
repositories {
|
|
maven {
|
|
url 'https://dl.bintray.com/touchin/touchin-tools'
|
|
metadataSources {
|
|
artifact()
|
|
}
|
|
}
|
|
}
|
|
|
|
configurations {
|
|
apigenerator
|
|
}
|
|
|
|
dependencies {
|
|
apigenerator 'ru.touchin:api-generator:1.4.0-beta1'
|
|
}
|
|
|
|
android {
|
|
sourceSets {
|
|
main.java.srcDirs += generatedModelsDirectory
|
|
}
|
|
}
|
|
|
|
def generateJsonModelsTask = tasks.create("apiGenerator") doLast {
|
|
javaexec {
|
|
main = "-jar"
|
|
workingDir = file("${rootDir}")
|
|
args = [
|
|
configurations.apigenerator.asPath,
|
|
"generate-client-code",
|
|
"--output-language",
|
|
"KOTLIN",
|
|
"--specification-path",
|
|
rootProject.extensions.findByName("pathToApiSchemes"),
|
|
"--output-path",
|
|
"${generatedModelsDirectory.path}",
|
|
"--package-name",
|
|
"${rootProject.extensions.findByName("applicationId")}"
|
|
]
|
|
}
|
|
}
|
|
|
|
generateJsonModelsTask.description = 'Generates Java classes for JSON models'
|