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 }