mirror of
https://github.com/divkit/divkit.git
synced 2026-06-06 20:07:59 +00:00
63ccbcf60a
add public api check
60 lines
1.9 KiB
Groovy
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_')})
|