bicycle 0.2.2

The CLI and build functions for BicycleDB.
Documentation
# BicycleDB is a protobuf-defined database management system.

# Copyright (C) 2024 Ordinary Labs

# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU Affero General Public License for more details.

# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

[package]
name = "bicycle"
version.workspace = true
edition = "2021"
license.workspace = true
authors.workspace = true
description = "The CLI and build functions for BicycleDB."
repository.workspace = true
homepage.workspace = true
categories = ["command-line-utilities"]
keywords = ["database", "protobuf", "grpc", "rocksdb", "sqlite"]
readme = "cli/README.md"
include = ["/cli"]

# !! comment out when publishing
build = "cli/build.rs"

[lib]
name = "bicycle"
path = "cli/src/lib.rs"

[[bin]]
name = "bicycle"
path = "cli/src/main.rs"

[dependencies]
heck = "0.5.0"
toml = "0.8.10"
serde_json = "1.0.114"
clap = { version = "4.5.1", features = ["derive", "cargo"] }

lazy_static = { workspace = true }

prost = { workspace = true }
prost-types = { workspace = true }

tokio = { workspace = true }

tonic = { workspace = true }
tonic-build = { workspace = true }

bicycle_proto = { workspace = true }

[workspace]
members = [
    "core", 
    "engines/rocksdb",
    "engines/sqlite",
    "proto",
    "shims",
    "server",
]
exclude = [
    "examples/client",
    "examples/embedded",
    "examples/sproc"
]

[workspace.package]
authors = ["sean watters <sean@ordinarylabs.io>"]
edition = "2021"
homepage = "https://ordinarylabs.io"
repository = "https://github.com/ordinarylabs/bicycle"
license = "AGPL-3.0-only"
categories = ["database"]
## !! version can't ever collide with other versions
## !! formatted as `version = "x.x.x"` in this file
version = "0.2.2"

[workspace.dependencies]
lazy_static = "1.4.0"

log = "0.4.21"
env_logger = "0.11.3"

parking_lot = "0.12.1"

prost = "0.12.3"
prost-types = "0.12.3"

tonic = "0.11.0"
tonic-build = "0.11.0"
tonic-reflection = "0.11.0"

tokio-stream = "0.1.14"
tokio = { version = "1.36.0", features = ["parking_lot", "rt-multi-thread", "macros", "sync", "time"] }

##START_WORKSPACE_ENGINE##
engine = { package = "bicycle_sqlite", path = "./engines/sqlite", version = "0.2.2" }
##END_WORKSPACE_ENGINE##

bicycle_proto = { path = "./proto", version = "0.2.2" }
bicycle_core = { path = "./core", version = "0.2.2" }
bicycle_server = { path = "./server", version = "0.2.2" }