Files
divkit/client/android/div-data/build.gradle
T
gulevsky 63ccbcf60a add public api check
add public api check
2022-10-10 15:07:10 +03:00

60 lines
1.9 KiB
Groovy

apply from: "${project.projectDir}/../div-library.gradle"
apply from: "${project.projectDir}/../div-tests.gradle"
apply from: "${project.projectDir}/../publish-android.gradle"
def generatedSrcDir = new File(buildDir, "generated/source")
def generatedDivSrcDir = new File(generatedSrcDir, "div")
allOpen {
annotation("com.yandex.div.core.annotations.Mockable")
}
android {
sourceSets {
main {
java.srcDirs += generatedDivSrcDir
}
}
libraryVariants.all { variant ->
variant.preBuildProvider.configure { dependsOn "generateHomePojoTask" }
}
}
dependencies {
implementation project(path: ':assertion')
implementation project(path: ':div-core')
implementation project(path: ':div-evaluable')
implementation project(path: ':div-json')
implementation project(path: ':utils')
testImplementation "org.jetbrains.kotlin:kotlin-reflect:$versions.kotlin"
}
def schemas = [
["name" : "div2",
"scheme": new File(projectDir, "../../../schema"),
"generated": generatedDivSrcDir.absolutePath + '/com/yandex/div2',
"config": new File(projectDir, 'div2-generator-config.json')]
]
schemas.forEach{ item ->
tasks.create(name: "scheme_${item['name']}", type: Exec) {
def schemasDirectory = item['scheme'].absolutePath
def generatedDir = item['generated']
def configPath = item['config'].absolutePath
def binPath = new File(projectDir, '../../../api_generator/api_generator.sh').absolutePath
commandLine binPath, configPath, schemasDirectory, generatedDir
doFirst {
println "Process schemas: $schemasDirectory"
println commandLine
}
inputs.dir item['scheme']
inputs.file item['config']
outputs.dir generatedDir
}
}
task generateHomePojoTask(dependsOn: tasks.findAll {task -> task.name.startsWith('scheme_')})