BUILD
1 # Copyright 2023 Harmoniis Inc. 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 15 16 load("@rules_rust//rust:rust.bzl", "rust_binary", "rust_library") 17 18 def select_features(features: List[str]) -> List[str]: 19 # Process the user provided features here and return the selected features 20 return features 21 22 rust_library( 23 name = "harmolib", 24 crate_type = "lib", 25 srcs = glob(["src/**/*.rs"]), 26 features = select_features(features=["default", "environment", "integration", "backend"]) 27 ) 28 29 rust_binary( 30 name = "harmonia", 31 crate_type = "binary", 32 srcs = glob(["src/**/*.rs"]), 33 features = select_features(features=["default", "environment", "integration", "backend"]) 34 )