43 lines
1.3 KiB
Groovy
43 lines
1.3 KiB
Groovy
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.applicationVariants.all { variant ->
|
|
final File generatedModelsDirectory = new File("${project.buildDir}/generated/source/models/${variant.dirName}")
|
|
|
|
def generateJsonModelsTask = tasks.create("apiGenerator${variant.name}") doLast {
|
|
javaexec {
|
|
main = "-jar"
|
|
workingDir = file("${rootDir}")
|
|
args = [
|
|
configurations.apigenerator.asPath,
|
|
"generate-client-code",
|
|
"--output-language",
|
|
"JAVA",
|
|
"--specification-path",
|
|
rootProject.extensions.findByName("pathToApiSchemes"),
|
|
"--output-path",
|
|
"${generatedModelsDirectory.path}",
|
|
"--package-name",
|
|
"${rootProject.extensions.findByName("applicationId") ?: applicationId}"
|
|
]
|
|
}
|
|
}
|
|
|
|
generateJsonModelsTask.description = 'Generates Java classes for JSON models'
|
|
variant.registerJavaGeneratingTask generateJsonModelsTask, generatedModelsDirectory
|
|
}
|