Skip to content

Commit

Permalink
♻️ Separate proto from lib module (#55)
Browse files Browse the repository at this point in the history
* ♻️ Separate proto from lib module

* ⬆️ Upgrade dependencies
⬆️ HBase client 2.8.0 -> 2.8.1
⬆️ Kubernetes client 8.0.2 -> 9.0.0
⬆️ Jooq 3.13.2 -> 3.13.3
⬆️ Kotlin coroutine 1.3.7 -> 1.3.8
⬆️ Micrometer 1.5.1 -> 1.5.2
  • Loading branch information
devkanro authored Jul 27, 2020
1 parent a99e5e0 commit 26a1121
Show file tree
Hide file tree
Showing 17 changed files with 59 additions and 21 deletions.
4 changes: 2 additions & 2 deletions buildSrc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ plugins {
`java-library`
`kotlin-dsl`
id("idea")
id("com.bybutter.sisyphus.project") version "0.0.4"
id("com.bybutter.sisyphus.project") version "0.0.5"
}

dependencies {
implementation(platform("com.bybutter.sisyphus:sisyphus-dependencies:0.0.4"))
implementation(platform("com.bybutter.sisyphus:sisyphus-dependencies:0.0.5"))
implementation("com.bybutter.sisyphus.tools:sisyphus-protobuf-gradle-plugin")
implementation("com.bybutter.sisyphus.tools:sisyphus-project-gradle-plugin")
implementation("org.jetbrains.kotlin:kotlin-gradle-plugin")
Expand Down
2 changes: 1 addition & 1 deletion buildSrc/src/main/kotlin/dependencies.kt
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ object Dependencies {
const val base = "$group:protobuf-java"
const val apiCompiler = "com.google.api:api-compiler:0.0.8"

const val runtimeProto = "$group:protobuf-java:3.11.4"
const val runtimeProto = "$group:protobuf-java:3.12.2"
const val grpcProto = "com.google.api.grpc:proto-google-common-protos:1.18.0"
}

Expand Down
10 changes: 10 additions & 0 deletions buildSrc/src/main/kotlin/project.kt
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,16 @@ val Project.lib: Project
return this
}

val Project.proto: Project
get() {
group = "com.bybutter.sisyphus.proto"

pluginManager.apply(JavaLibraryPlugin::class.java)
pluginManager.apply(SisyphusProjectPlugin::class.java)

return this
}

val Project.starter: Project
get() {
next
Expand Down
10 changes: 5 additions & 5 deletions dependencies/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,20 @@ javaPlatform {
dependencies {
api(platform(project(":sisyphus-bom")))
api(platform("org.springframework.boot:spring-boot-dependencies:2.3.1.RELEASE"))
api(platform("io.micrometer:micrometer-bom:1.5.1"))
api(platform("io.micrometer:micrometer-bom:1.5.2"))
api(platform("org.jetbrains.kotlin:kotlin-bom:1.3.72"))
api(platform("org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.3.7"))
api(platform("org.jetbrains.kotlinx:kotlinx-coroutines-bom:1.3.8"))
api(platform("org.apache.maven:maven:3.6.3"))
api(platform("io.grpc:grpc-bom:1.30.2"))
api(platform("com.google.protobuf:protobuf-bom:3.12.2"))

constraints {
api("com.squareup:kotlinpoet:1.6.0")
api("org.elasticsearch.client:transport:5.6.3")
api("com.aliyun.hbase:alihbase-client:2.8.0")
api("com.aliyun.hbase:alihbase-client:2.8.1")
api("org.reflections:reflections:0.9.12")
api("com.github.os72:protoc-jar:3.11.4")
api("io.kubernetes:client-java:8.0.2")
api("io.kubernetes:client-java:9.0.0")
api("io.netty:netty-tcnative-boringssl-static:2.0.31.Final")
api("org.apache.maven.wagon:wagon-http:3.4.1")
api("org.junit.jupiter:junit-jupiter:5.6.2")
Expand All @@ -37,7 +37,7 @@ dependencies {
api("io.github.resilience4j:resilience4j-retrofit:1.5.0")
api("org.antlr:antlr4:4.8")
api("io.swagger.core.v3:swagger-core:2.1.3")
api("org.jooq:jooq:3.13.2")
api("org.jooq:jooq:3.13.3")
api("com.google.api.grpc:proto-google-common-protos:1.18.0")
api("org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.72")
api("org.jetbrains.kotlin:kotlin-allopen:1.3.72")
Expand Down
2 changes: 2 additions & 0 deletions lib/sisyphus-grpc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,15 @@ dependencies {
api(Dependencies.Kotlin.Coroutines.reactor)
api(Dependencies.Kotlin.Coroutines.guava)
api(Dependencies.Proto.base)
api(project(":proto:sisyphus-grpc-protos"))

implementation(project(":lib:sisyphus-jackson"))
implementation(project(":lib:sisyphus-common"))
implementation(Dependencies.Grpc.proto)
implementation(Dependencies.Kotlin.reflect)

proto(Dependencies.Proto.grpcProto)
proto(project(":proto:sisyphus-grpc-protos"))
antlr(Dependencies.antlr4)
}

Expand Down
Empty file.
2 changes: 2 additions & 0 deletions lib/sisyphus-protobuf/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,10 @@ dependencies {
implementation(Dependencies.Kotlin.Coroutines.guava)
api(Dependencies.Kotlin.Coroutines.reactor)
api(Dependencies.Proto.base)
api(project(":proto:sisyphus-protos"))

proto(Dependencies.Proto.runtimeProto)
proto(project(":proto:sisyphus-protos"))
}

protobuf {
Expand Down
Empty file.
12 changes: 12 additions & 0 deletions proto/sisyphus-grpc-protos/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
proto

plugins {
`java-library`
}

description = "Sisyphus common protos for gRPC Runtime"

dependencies {
api(project(":proto:sisyphus-protos"))
api(Dependencies.Proto.grpcProto)
}
11 changes: 11 additions & 0 deletions proto/sisyphus-protos/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
proto

plugins {
`java-library`
}

description = "Sisyphus common protos for Protobuf Runtime"

dependencies {
api(Dependencies.Proto.runtimeProto)
}
3 changes: 3 additions & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ include("lib:sisyphus-jackson")
include("lib:sisyphus-protobuf")
include("lib:sisyphus-grpc")

include("proto:sisyphus-protos")
include("proto:sisyphus-grpc-protos")

include("tools:sisyphus-protoc")
include("tools:sisyphus-project-gradle-plugin")
include("tools:sisyphus-protobuf-gradle-plugin")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@ open class ExtractProtoTask : SourceTask() {
@get:OutputDirectory
lateinit var protoPath: File

@get:Internal
@get:InputFiles
lateinit var protoConfig: Configuration

@get:Internal
@get:InputFiles
lateinit var protoApiConfig: Configuration

@get:Internal
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,11 @@ import java.nio.file.Files
import java.nio.file.Paths
import org.gradle.api.tasks.InputDirectory
import org.gradle.api.tasks.OutputDirectory
import org.gradle.api.tasks.SkipWhenEmpty
import org.gradle.api.tasks.SourceTask
import org.gradle.api.tasks.TaskAction

open class ProtoGenerateTask : SourceTask() {
@get:InputDirectory
@get:SkipWhenEmpty
lateinit var protoPath: File

@get:OutputDirectory
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,11 +83,11 @@ class ProtobufPlugin : Plugin<Project> {

private fun registerExtractProto(target: Project, extension: ProtobufExtension, sourceSet: SourceSet): ExtractProtoTask {
val inputDir = target.file(extension.sourceSet(sourceSet.name).inputDir
?: sourceSet.protoSourcePath)
?: sourceSet.protoSourcePath)
val resourceOutputDir = target.file(extension.sourceSet(sourceSet.name).resourceOutputDir
?: sourceSet.protoResourceCompileOutputPath)
?: sourceSet.protoResourceCompileOutputPath)
val protoDir = target.file(extension.sourceSet(sourceSet.name).resourceOutputDir
?: sourceSet.protoTempCompileOutputPath)
?: sourceSet.protoTempCompileOutputPath)

Files.createDirectories(resourceOutputDir.toPath())
Files.createDirectories(protoDir.toPath())
Expand All @@ -100,7 +100,7 @@ class ProtobufPlugin : Plugin<Project> {
return target.tasks.register("extract ${sourceSet.name} protos".toCamelCase(), ExtractProtoTask::class.java) {
if (sourceSet.isTestSourceSet) {
val mainInputDir = target.file(extension.sourceSet("main").inputDir
?: target.sourceSets.main!!.protoSourcePath)
?: target.sourceSets.main!!.protoSourcePath)
it.input = target.layout.files(inputDir, mainInputDir)
} else {
it.input = target.layout.files(inputDir)
Expand All @@ -122,11 +122,11 @@ class ProtobufPlugin : Plugin<Project> {

private fun registerGenerateProto(target: Project, extension: ProtobufExtension, sourceSet: SourceSet, extractTask: ExtractProtoTask): ProtoGenerateTask {
val outputDir = target.file(extension.sourceSet(sourceSet.name).outputDir
?: sourceSet.protoCompileOutputPath)
?: sourceSet.protoCompileOutputPath)
val implOutputDir = target.file(extension.sourceSet(sourceSet.name).implDir
?: sourceSet.protoInternalCompileOutputPath)
?: sourceSet.protoInternalCompileOutputPath)
val resourceOutputDir = target.file(extension.sourceSet(sourceSet.name).resourceOutputDir
?: sourceSet.protoResourceCompileOutputPath)
?: sourceSet.protoResourceCompileOutputPath)

Files.createDirectories(outputDir.toPath())
Files.createDirectories(implOutputDir.toPath())
Expand Down Expand Up @@ -172,7 +172,7 @@ class ProtobufPlugin : Plugin<Project> {
if (!sourceSet.isMainSourceSet) return null

val protoDir = target.file(extension.sourceSet(sourceSet.name).resourceOutputDir
?: sourceSet.protoTempCompileOutputPath)
?: sourceSet.protoTempCompileOutputPath)

return target.tasks.register("protoZip", Zip::class.java) {
it.from(protoDir)
Expand All @@ -184,7 +184,7 @@ class ProtobufPlugin : Plugin<Project> {

private fun registerApiCompileProto(target: Project, extension: ProtobufExtension, sourceSet: SourceSet, extractTask: ExtractProtoTask): ProtobufApiCompileTask {
val resourceOutputDir = File(extension.sourceSet(sourceSet.name).resourceOutputDir
?: "${target.buildDir}/generated/resources/proto-meta/${sourceSet.name}")
?: "${target.buildDir}/generated/resources/proto-meta/${sourceSet.name}")

Files.createDirectories(resourceOutputDir.toPath())

Expand Down

0 comments on commit 26a1121

Please sign in to comment.