/
build.gradle.kts
56 lines (48 loc) · 1.86 KB
/
build.gradle.kts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
* Copyright (C) 2022 Dremio
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import com.google.protobuf.gradle.GenerateProtoTask
import com.google.protobuf.gradle.ProtobufExtension
import com.google.protobuf.gradle.ProtobufExtract
plugins {
id("nessie-conventions-server")
alias(libs.plugins.protobuf)
}
extra["maven.name"] = "Nessie - Export/Import - Serialization (Proto)"
dependencies { api(project(path = ":nessie-protobuf-relocated", configuration = "shadow")) }
extensions.configure<ProtobufExtension> {
// Configure the protoc executable
protoc {
// Download from repositories
artifact = "com.google.protobuf:protoc:${libs.versions.protobuf.get()}"
}
}
tasks.named<GenerateProtoTask>("generateProto").configure {
doLast(
ReplaceInFiles(
fileTree(project.layout.buildDirectory.dir("generated/source/proto/main")),
mapOf("com.google.protobuf" to "org.projectnessie.nessie.relocated.protobuf")
)
)
}
// The protobuf-plugin should ideally do this
tasks.named<Jar>("sourcesJar").configure { dependsOn("generateProto") }
tasks.withType(ProtobufExtract::class).configureEach {
when (name) {
"extractIncludeTestProto" -> dependsOn(tasks.named("processJandexIndex"))
"extractIncludeTestFixturesProto" -> dependsOn(tasks.named("processJandexIndex"))
"extractIncludeIntTestProto" -> dependsOn(tasks.named("processJandexIndex"))
}
}