chore(tvix/[ca]store): allow building without tonic-reflection

- rename the feature to `tonic-reflection` in both tvix-store and tvix-
   castore.
 - set it to disabled in tvix-castore by default
 - enable it in tvix-store, and pull in tvix-castore with the feature
   enabled.

Change-Id: Ie22833d85569502cae55812f6eeb17a9c15b9e2c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9472
Autosubmit: flokli <flokli@flokli.de>
Tested-by: BuildkiteCI
Reviewed-by: raitobezarius <tvl@lahfa.xyz>
This commit is contained in:
Florian Klink 2023-09-26 10:30:35 +03:00 committed by clbot
parent 329067f629
commit 6b02800e48
8 changed files with 15 additions and 18 deletions

View file

@ -80,7 +80,7 @@ tempfile = "3.3.0"
tonic-mock = { git = "https://github.com/brainrake/tonic-mock", branch = "bump-dependencies" }
[features]
default = ["fuse", "virtiofs", "reflection"]
default = ["fuse", "virtiofs", "tonic-reflection"]
fs = ["dep:libc", "dep:fuse-backend-rs"]
virtiofs = [
"fs",
@ -94,4 +94,4 @@ virtiofs = [
"fuse-backend-rs?/virtiofs",
]
fuse = ["fs"]
reflection = ["tonic-reflection"]
tonic-reflection = ["dep:tonic-reflection", "tvix-castore/tonic-reflection"]

View file

@ -4,7 +4,7 @@ fn main() -> Result<()> {
#[allow(unused_mut)]
let mut builder = tonic_build::configure();
#[cfg(feature = "reflection")]
#[cfg(feature = "tonic-reflection")]
{
let out_dir = std::path::PathBuf::from(std::env::var("OUT_DIR").unwrap());
let descriptor_path = out_dir.join("tvix.store.v1.bin");

View file

@ -33,9 +33,9 @@ use tvix_store::fs::fuse::FuseDaemon;
#[cfg(feature = "virtiofs")]
use tvix_store::fs::virtiofs::start_virtiofs_daemon;
#[cfg(feature = "reflection")]
#[cfg(feature = "tonic-reflection")]
use tvix_castore::proto::FILE_DESCRIPTOR_SET as CASTORE_FILE_DESCRIPTOR_SET;
#[cfg(feature = "reflection")]
#[cfg(feature = "tonic-reflection")]
use tvix_store::proto::FILE_DESCRIPTOR_SET;
use clap::Parser;
@ -210,7 +210,7 @@ async fn main() -> Result<(), Box<dyn std::error::Error>> {
GRPCPathInfoServiceWrapper::from(path_info_service),
));
#[cfg(feature = "reflection")]
#[cfg(feature = "tonic-reflection")]
{
let reflection_svc = tonic_reflection::server::Builder::configure()
.register_encoded_file_descriptor_set(CASTORE_FILE_DESCRIPTOR_SET)

View file

@ -10,7 +10,7 @@ pub use grpc_pathinfoservice_wrapper::GRPCPathInfoServiceWrapper;
tonic::include_proto!("tvix.store.v1");
#[cfg(feature = "reflection")]
#[cfg(feature = "tonic-reflection")]
/// Compiled file descriptors for implementing [gRPC
/// reflection](https://github.com/grpc/grpc/blob/master/doc/server-reflection.md) with e.g.
/// [`tonic_reflection`](https://docs.rs/tonic-reflection).