Skip to content

Commit

Permalink
Convert to a monorepo (#338)
Browse files Browse the repository at this point in the history
* start migrating to monorepo

* bring over psqs, start modifying tests to work on multiple threads

* nightly clippy, fix dependencies, and get compiling

* update installation recipe and regenerate man page

* convert psqs to mod.rs

* delete psqs main??

* use workspace psqs

* copy over psqs readme, minus badges

* copy symm and run clippy

tests are failing because of mixed Molecule types, so I'll have to move intder
and spectro too before running tests again

* copy over intder, spectro, and spectro-bin

* clippy

* copy taylor

* pbqff uses include-ignored, so mark this as not a test

* copy over anpass and rename, use faster test profile

because the profile must be in the project root

* add note about tensor

* delete nightly-only benchmarks

* filter out polyads caused by workspace --all-features in test ci

* use `get` to avoid oob, warn on errors

this is obviously a dirty hack but I'm not interested in actually fixing polyads
right now
  • Loading branch information
ntBre authored Feb 16, 2025
1 parent cde2021 commit ce22c49
Show file tree
Hide file tree
Showing 787 changed files with 806,561 additions and 195 deletions.
600 changes: 443 additions & 157 deletions Cargo.lock

Large diffs are not rendered by default.

47 changes: 28 additions & 19 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,33 +1,42 @@
[package]
name = "pbqff"
version = "0.1.0"
[workspace]
members = ["crates/*"]
resolver = "2"

[workspace.package]
edition = "2021"

[dependencies]
intder = { git = "https://github.com/ntBre/intder" }
psqs = { git = "https://github.com/ntBre/psqs" }
rust-anpass = { git = "https://github.com/ntBre/rust-anpass" }
spectro = { git = "https://github.com/ntBre/spectro" }
symm = { git = "https://github.com/ntBre/symm" }
taylor = { git = "https://github.com/ntBre/taylor" }
[workspace.dependencies]
anpass = { path = "crates/anpass" }
psqs = { path = "crates/psqs" }
symm = { path = "crates/symm" }
intder = { path = "crates/intder" }
spectro = { path = "crates/spectro" }
taylor = { path = "crates/taylor" }

# not really interested in bringing this one over. it's the least-used and
# least-changing, and I should probably just replace its usage with ndarray
# anyway
tensor = { git = "https://github.com/ntBre/tensor" }

approx = "0.5.1"
assert_cmd = "2.0.16"
chrono = "0.4.23"
clap = { version = "4.5.23", features = ["derive"] }
criterion = "0.5.0"
env_logger = "0.11.3"
insta = { version = "1.41.1", features = ["filters"] }
libc = "0.2.169"
log = "0.4.22"
nalgebra = "0.33.2"
ndarray = { version = "0.15.6", features = ["approx-0_5"] }
rayon = "1.5.3"
regex = { version = "1.9.1" }
rustc-hash = "2.1.0"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8.10"

[dev-dependencies]
approx = "0.5.1"
assert_cmd = "2.0.16"
insta = { version = "1.41.1", features = ["filters"] }
tempfile = "3.14.0"
test-case = "3.3.1"
toml = "0.8.10"

[[bin]]
name = "cart"
path = "src/bin/cart.rs"
[profile.test]
opt-level = 3 # mostly for anpass
9 changes: 5 additions & 4 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ clean:
cargo clean

clippy:
cargo clippy --all-features --all-targets --workspace
cargo +nightly clippy --all-features --all-targets --workspace

cover:
cargo tarpaulin --color=never --skip-clean ${TESTFLAGS} ${ARGS}
Expand Down Expand Up @@ -43,7 +43,7 @@ endif
install:
cargo install --path . --bin pbqff

src := build.rs $(shell find src -name '*.rs')
src := $(shell find . -name '*.rs')

target/release/pbqff: $(src)
cargo build --release
Expand Down Expand Up @@ -83,10 +83,11 @@ docs: man/rpbqff.1
%.pdf: %.1
groff -Tpdf $? -mman > $@

man/config.man: src/config.rs scripts/config.awk
pbqff := crates/pbqff
man/config.man: $(pbqff)/src/config.rs scripts/config.awk
scripts/config.awk $< > $@

man/rpbqff.1: man/rpbqff.head man/config.man man/example.man testfiles/test.toml man/rpbqff.tail
man/rpbqff.1: man/rpbqff.head man/config.man man/example.man $(pbqff)/testfiles/test.toml man/rpbqff.tail
cat $^ > $@

scripts: qffbuddy/qffbuddy*
Expand Down
11 changes: 11 additions & 0 deletions crates/anpass/Cargo.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[package]
name = "anpass"
version = "0.1.0"
edition = "2021"

[dependencies]
regex = { workspace = true }
nalgebra = { workspace = true }

[dev-dependencies]
approx = { workspace = true }
2 changes: 2 additions & 0 deletions crates/anpass/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# anpass
ordinary least-squares fitting and stationary point determination
Binary file added crates/anpass/docs/main.pdf
Binary file not shown.
Loading

0 comments on commit ce22c49

Please sign in to comment.