feat: add pacman-common/pacman-server crates

This commit is contained in:
Ryan Walters
2025-09-16 09:35:50 -05:00
parent d0ee7db2ef
commit 7ede82cc5d
9 changed files with 91 additions and 14 deletions

10
Cargo.lock generated
View File

@@ -712,7 +712,7 @@ checksum = "42f5e15c9953c5e4ccceeb2e7382a716482c34515315f7b03532b8b4e8393d2d"
[[package]]
name = "pacman"
version = "0.81.0"
version = "0.81.1"
dependencies = [
"anyhow",
"bevy_ecs",
@@ -746,6 +746,14 @@ dependencies = [
"windows-sys 0.61.0",
]
[[package]]
name = "pacman-common"
version = "0.1.1"
[[package]]
name = "pacman-server"
version = "0.1.1"
[[package]]
name = "parking"
version = "2.2.1"

View File

@@ -1,5 +1,5 @@
[workspace]
members = ["pacman"]
members = ["pacman", "pacman-common", "pacman-server"]
resolver = "2"
[workspace.package]

16
pacman-common/Cargo.toml Normal file
View File

@@ -0,0 +1,16 @@
[package]
name = "pacman-common"
version = "0.1.1"
authors.workspace = true
edition.workspace = true
rust-version = "1.86.0"
description = "A meta crate for sharing common code between the `pacman` and `pacman-server` crates"
readme.workspace = true
homepage.workspace = true
repository.workspace = true
license.workspace = true
keywords.workspace = true
categories.workspace = true
publish.workspace = true
[dependencies]

9
pacman-common/README.md Normal file
View File

@@ -0,0 +1,9 @@
# pacman-common
This crate contains common code (mostly API request & response types) for the `pacman` and `pacman-server` (leaderboard API) crates.
You might be more interested in reading the README for the repostiory, the `pacman` crate, or the `pacman-server` crate.
- [README.md](../README.md)
- [pacman/README.md](../pacman/README.md)
- [pacman-server/README.md](../pacman-server/README.md)

View File

@@ -0,0 +1,3 @@
fn main() {
println!("Hello, world!");
}

17
pacman-server/Cargo.toml Normal file
View File

@@ -0,0 +1,17 @@
[package]
name = "pacman-server"
version = "0.1.1"
authors.workspace = true
edition.workspace = true
rust-version = "1.86.0"
description = "A leaderboard API for the Pac-Man game"
readme.workspace = true
homepage.workspace = true
repository.workspace = true
license.workspace = true
keywords.workspace = true
categories.workspace = true
publish.workspace = true
default-run = "pacman-server"
[dependencies]

21
pacman-server/README.md Normal file
View File

@@ -0,0 +1,21 @@
# pacman-server
Despite the naming of this crate, it's not a server for the Pac-Man game allowing multiplayer or anything super interesting.
This crate is a webserver that hosts an OAuth login and leaderboard API for the main `pacman` crate to hook into.
## Features
- [ ] Axum Webserver
- [ ] Database
- [ ] OAuth
- [ ] Discord
- [ ] GitHub
- [ ] Google (?)
- [ ] Leaderboard API
- [ ] Name Restrictions & Flagging
- [ ] Avatars
- [ ] 8-bit Conversion
- [ ] Storage?
- [ ] Common Server/Client Crate
- [ ] CI/CD & Tests

View File

@@ -0,0 +1,3 @@
fn main() {
println!("Hello, world!");
}

View File

@@ -1,17 +1,17 @@
[package]
name = "pacman"
version = "0.81.0"
authors = ["Xevion"]
edition = "2021"
version = "0.81.1"
authors.workspace = true
edition.workspace = true
rust-version = "1.86.0"
description = "A cross-platform retro Pac-Man clone, written in Rust and supported by SDL2"
readme = true
homepage = "https://pacman.xevion.dev"
repository = "https://github.com/Xevion/Pac-Man"
license = "GPL-3.0-or-later"
keywords = ["game", "pacman", "arcade", "sdl2"]
categories = ["games", "emulators"]
publish = false
readme.workspace = true
homepage.workspace = true
repository.workspace = true
license.workspace = true
keywords.workspace = true
categories.workspace = true
publish.workspace = true
exclude = ["/assets/unpacked/**", "/assets/site/**", "/bacon.toml", "/Justfile"]
default-run = "pacman"
@@ -67,8 +67,8 @@ speculoos = "0.13.0"
[build-dependencies]
phf = { version = "0.13.1", features = ["macros"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0.143"
serde = { version = "1.0.225", features = ["derive"] }
serde_json = "1.0.145"
# phf generates runtime code which machete will not detect
[package.metadata.cargo-machete]