mirror of
				https://github.com/datahub-project/datahub.git
				synced 2025-11-03 20:27:50 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			79 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
			
		
		
	
	
			79 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Groovy
		
	
	
	
	
	
plugins {
 | 
						|
    id 'java'
 | 
						|
    id "com.google.protobuf" version "0.8.18"
 | 
						|
}
 | 
						|
 | 
						|
repositories {
 | 
						|
    if (project.hasProperty('apacheMavenRepositoryUrl')) {
 | 
						|
        maven { url project.getProperty('apacheMavenRepositoryUrl') }
 | 
						|
    } else {
 | 
						|
        mavenCentral()
 | 
						|
    }
 | 
						|
    mavenLocal()
 | 
						|
}
 | 
						|
 | 
						|
ext {
 | 
						|
    protobuf_version = '4.32.0'
 | 
						|
    datahub_protobuf_version = '1.1.0'
 | 
						|
}
 | 
						|
 | 
						|
configurations {
 | 
						|
    datahub
 | 
						|
}
 | 
						|
 | 
						|
dependencies {
 | 
						|
    // compilation
 | 
						|
    implementation "com.google.protobuf:protobuf-java:$protobuf_version"
 | 
						|
    datahub "io.acryl:datahub-protobuf:$datahub_protobuf_version"
 | 
						|
}
 | 
						|
 | 
						|
sourceSets {
 | 
						|
    main {
 | 
						|
        proto {
 | 
						|
            srcDir 'schema'
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
protobuf {
 | 
						|
    protoc {
 | 
						|
        artifact = "com.google.protobuf:protoc:$protobuf_version"
 | 
						|
    }
 | 
						|
    generateProtoTasks {
 | 
						|
        all().each { task ->
 | 
						|
            // If true, will generate a descriptor_set.desc file under
 | 
						|
            // $generatedFilesBaseDir/$sourceSet. Default is false.
 | 
						|
            // See --descriptor_set_out in protoc documentation about what it is.
 | 
						|
            task.generateDescriptorSet = true
 | 
						|
 | 
						|
            // Allows to override the default for the descriptor set location
 | 
						|
            task.descriptorSetOptions.path =
 | 
						|
                    "${projectDir}/build/descriptors/${task.sourceSet.name}.dsc"
 | 
						|
 | 
						|
            // If true, the descriptor set will contain line number information
 | 
						|
            // and comments. Default is false.
 | 
						|
            task.descriptorSetOptions.includeSourceInfo = true
 | 
						|
 | 
						|
            // If true, the descriptor set will contain all transitive imports and
 | 
						|
            // is therefore self-contained. Default is false.
 | 
						|
            task.descriptorSetOptions.includeImports = true
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
task publishSchema(dependsOn: build) {
 | 
						|
    description "Publishes protobuf schema in the `main` sourceSet to DataHub"
 | 
						|
 | 
						|
    fileTree("schema").matching {
 | 
						|
        exclude "protobuf/meta/**"
 | 
						|
    }.each { f ->
 | 
						|
        doLast {
 | 
						|
            javaexec {
 | 
						|
                classpath = configurations.datahub
 | 
						|
                mainClass = "datahub.protobuf.Proto2DataHub"
 | 
						|
                args = ["--descriptor", "${projectDir}/build/descriptors/main.dsc", "--file", file(f).absolutePath]
 | 
						|
            }
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |