Compare commits

...

6 Commits

1 changed files with 26 additions and 23 deletions

View File

@ -1,3 +1,5 @@
final File generatedModelsDirectory = new File("${project.buildDir}/generated/source/models")
repositories { repositories {
maven { maven {
url 'https://dl.bintray.com/touchin/touchin-tools' url 'https://dl.bintray.com/touchin/touchin-tools'
@ -15,10 +17,13 @@ dependencies {
apigenerator 'ru.touchin:api-generator:1.4.0-beta1' apigenerator 'ru.touchin:api-generator:1.4.0-beta1'
} }
android.applicationVariants.all { variant -> android {
final File generatedModelsDirectory = new File("${project.buildDir}/generated/source/models/${variant.dirName}") sourceSets {
main.java.srcDirs += generatedModelsDirectory
}
}
def generateJsonModelsTask = tasks.create("apiGenerator${variant.name}") doLast { def generateJsonModelsTask = tasks.create("apiGenerator") doLast {
javaexec { javaexec {
main = "-jar" main = "-jar"
workingDir = file("${rootDir}") workingDir = file("${rootDir}")
@ -26,17 +31,15 @@ android.applicationVariants.all { variant ->
configurations.apigenerator.asPath, configurations.apigenerator.asPath,
"generate-client-code", "generate-client-code",
"--output-language", "--output-language",
"JAVA", "KOTLIN",
"--specification-path", "--specification-path",
rootProject.extensions.findByName("pathToApiSchemes"), rootProject.extensions.findByName("pathToApiSchemes"),
"--output-path", "--output-path",
"${generatedModelsDirectory.path}", "${generatedModelsDirectory.path}",
"--package-name", "--package-name",
"${rootProject.extensions.findByName("applicationId") ?: applicationId}" "${rootProject.extensions.findByName("applicationId")}"
] ]
} }
}
generateJsonModelsTask.description = 'Generates Java classes for JSON models'
variant.registerJavaGeneratingTask generateJsonModelsTask, generatedModelsDirectory
} }
generateJsonModelsTask.description = 'Generates Java classes for JSON models'