Skip to content

Commit

Permalink
排除未使用的 proto 文件
Browse files Browse the repository at this point in the history
加快构建速度,降低内存需求
  • Loading branch information
aaa1115910 committed Jan 25, 2025
1 parent f7c9303 commit 3bc6365
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 0 deletions.
1 change: 1 addition & 0 deletions bili-api-grpc/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ dependencies {

sourceSets["main"].proto {
srcDir("./proto")
ProtobufConfiguration.excludeProtoFiles.forEach(::exclude)
}

protobuf {
Expand Down
46 changes: 46 additions & 0 deletions buildSrc/src/main/kotlin/ProtobufConfiguration.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
import java.io.File

object ProtobufConfiguration {
private val usedProtoFiles = setOf(
"bilibili/app/archive/middleware/v1/preload.proto",
"bilibili/app/archive/v1/archive.proto",
"bilibili/app/card/v1/ad.proto",
"bilibili/app/card/v1/card.proto",
"bilibili/app/card/v1/common.proto",
"bilibili/app/card/v1/single.proto",
"bilibili/app/dynamic/v2/dynamic.proto",
"bilibili/app/interfaces/v1/history.proto",
"bilibili/app/interfaces/v1/search.proto",
"bilibili/app/playeronline/v1/playeronline.proto",
"bilibili/app/playerunite/v1/playerunite.proto",
"bilibili/app/show/popular/v1/popular.proto",
"bilibili/app/view/v1/view.proto",
"bilibili/community/service/dm/v1/dm.proto",
"bilibili/dagw/component/avatar/common/common.proto",
"bilibili/dagw/component/avatar/v1/avatar.proto",
"bilibili/dagw/component/avatar/v1/plugin.proto",
"bilibili/main/community/reply/v1/reply.proto",
"bilibili/metadata/device/device.proto",
"bilibili/metadata/locale/locale.proto",
"bilibili/metadata/metadata.proto",
"bilibili/metadata/network/network.proto",
"bilibili/pagination/pagination.proto",
"bilibili/pgc/gateway/player/v2/playurl.proto",
"bilibili/playershared/playershared.proto",
"bilibili/polymer/app/search/v1/search.proto",
"bilibili/rpc/status.proto",
"common/ErrorProto.proto",
)
val excludeProtoFiles = getAllProtoFiles() - usedProtoFiles

private fun getAllProtoFiles(): Set<String> {
val rootDir = File("bili-api-grpc/proto")
val protoFiles = mutableSetOf<String>()
rootDir.walk().forEach {
if (it.isFile && it.extension == "proto") {
protoFiles.add(it.relativeTo(rootDir).path)
}
}
return protoFiles
}
}

0 comments on commit 3bc6365

Please sign in to comment.