40 lines
976 B
Groovy

plugins {
id 'java-library'
id 'pegasus'
}
dependencies {
dataModel project(path: ':li-utils', configuration: 'dataTemplate')
}
task copyMetadataModels(type: Sync) {
from("../../metadata-models/src/main/pegasus/")
into file("src/main/pegasus")
}
generateAvroSchema.dependsOn copyMetadataModels
validateSchemaAnnotation.dependsOn copyMetadataModels
mainTranslateSchemas.dependsOn copyMetadataModels
generateDataTemplate.dependsOn copyMetadataModels
mainCopySchemas.dependsOn copyMetadataModels
pegasus.main.generationModes = [PegasusGenerationMode.PEGASUS, PegasusGenerationMode.AVRO]
task renameNamespace(type: Sync, dependsOn: generateAvroSchema) {
from("src/mainGeneratedAvroSchema/avro")
into file("src/renamed/avro")
doLast {
project.exec {
commandLine 'bash', './rename-namespace.sh'
}
}
}
build.dependsOn renameNamespace
clean {
delete 'src/main/pegasus'
delete 'src/mainGeneratedAvroSchema/avro'
delete 'src/renamed/avro'
}