From 7531ebacd614e25056961a101802e117e6ea6f4a Mon Sep 17 00:00:00 2001 From: ApsisRS contributors Date: Sat, 26 Sep 2026 23:36:38 +0800 Subject: [PATCH] workspace: remove dependencies that are declared but never used Thirty four crates listed apsis-core or apsis-math without referencing it, and apsis-kepler listed apsis-time and apsis-tle as well. Each was verified removable by compiling with it taken out. An unused dependency still costs build time and makes the dependency graph and the layer check report relations that do not exist. The layer check now reports 104 edges, down from 141. --- Cargo.lock | 45 ------------------- crates/network/apsis-access/Cargo.toml | 1 - crates/network/apsis-constellation/Cargo.toml | 2 - crates/network/apsis-coverage/Cargo.toml | 1 - crates/network/apsis-handover/Cargo.toml | 2 - crates/network/apsis-isl/Cargo.toml | 1 - crates/network/apsis-mesh/Cargo.toml | 2 - crates/network/apsis-routing/Cargo.toml | 2 - crates/network/apsis-topology/Cargo.toml | 1 - crates/ops/apsis-conflict/Cargo.toml | 1 - crates/ops/apsis-resource/Cargo.toml | 1 - crates/ops/apsis-schedule/Cargo.toml | 1 - crates/ops/apsis-scheduler/Cargo.toml | 1 - crates/ops/apsis-task/Cargo.toml | 1 - crates/orbit/apsis-ephemeris/Cargo.toml | 1 - crates/orbit/apsis-kepler/Cargo.toml | 3 -- crates/orbit/apsis-maneuver/Cargo.toml | 1 - crates/orbit/apsis-orbit/Cargo.toml | 2 - crates/orbit/apsis-sgp4/Cargo.toml | 1 - crates/orbit/apsis-tle/Cargo.toml | 1 - crates/physics/apsis-coord/Cargo.toml | 1 - crates/physics/apsis-frames/Cargo.toml | 1 - crates/physics/apsis-geodesy/Cargo.toml | 1 - crates/physics/apsis-time/Cargo.toml | 1 - crates/rf/apsis-antenna/Cargo.toml | 1 - crates/rf/apsis-atmosphere/Cargo.toml | 1 - crates/sim/apsis-event/Cargo.toml | 1 - crates/sim/apsis-output/Cargo.toml | 1 - crates/sim/apsis-scenario/Cargo.toml | 1 - crates/sim/apsis-sim-engine/Cargo.toml | 1 - crates/sim/apsis-sim/Cargo.toml | 1 - docs/design/layers.md | 14 ++++-- 32 files changed, 10 insertions(+), 86 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 3dee232..51f7520 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -6,7 +6,6 @@ version = 4 name = "apsis-access" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-coverage", "apsis-geodesy", "apsis-math", @@ -16,7 +15,6 @@ dependencies = [ name = "apsis-antenna" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-rf", ] @@ -24,7 +22,6 @@ dependencies = [ name = "apsis-atmosphere" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-rf", ] @@ -32,7 +29,6 @@ dependencies = [ name = "apsis-conflict" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-resource", "apsis-schedule", "apsis-task", @@ -42,9 +38,7 @@ dependencies = [ name = "apsis-constellation" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-kepler", - "apsis-math", "apsis-sgp4", ] @@ -52,7 +46,6 @@ dependencies = [ name = "apsis-coord" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-frames", "apsis-geodesy", "apsis-math", @@ -66,7 +59,6 @@ version = "0.1.0" name = "apsis-coverage" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-geodesy", "apsis-math", ] @@ -83,7 +75,6 @@ dependencies = [ name = "apsis-ephemeris" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-kepler", "apsis-math", ] @@ -91,15 +82,11 @@ dependencies = [ [[package]] name = "apsis-event" version = "0.1.0" -dependencies = [ - "apsis-core", -] [[package]] name = "apsis-frames" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-math", ] @@ -107,17 +94,12 @@ dependencies = [ name = "apsis-geodesy" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-math", ] [[package]] name = "apsis-handover" version = "0.1.0" -dependencies = [ - "apsis-core", - "apsis-math", -] [[package]] name = "apsis-interference" @@ -131,7 +113,6 @@ dependencies = [ name = "apsis-isl" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-math", ] @@ -139,10 +120,7 @@ dependencies = [ name = "apsis-kepler" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-math", - "apsis-time", - "apsis-tle", ] [[package]] @@ -167,7 +145,6 @@ version = "0.1.0" name = "apsis-maneuver" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-kepler", "apsis-math", ] @@ -180,8 +157,6 @@ version = "0.1.0" name = "apsis-mesh" version = "0.1.0" dependencies = [ - "apsis-core", - "apsis-math", "apsis-topology", ] @@ -197,29 +172,21 @@ dependencies = [ name = "apsis-orbit" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-ephemeris", "apsis-kepler", "apsis-maneuver", "apsis-math", "apsis-sgp4", - "apsis-time", "apsis-tle", ] [[package]] name = "apsis-output" version = "0.1.0" -dependencies = [ - "apsis-core", -] [[package]] name = "apsis-resource" version = "0.1.0" -dependencies = [ - "apsis-core", -] [[package]] name = "apsis-rf" @@ -232,8 +199,6 @@ dependencies = [ name = "apsis-routing" version = "0.1.0" dependencies = [ - "apsis-core", - "apsis-math", "apsis-topology", ] @@ -287,7 +252,6 @@ dependencies = [ name = "apsis-scenario" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-resource", "apsis-task", ] @@ -296,7 +260,6 @@ dependencies = [ name = "apsis-schedule" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-resource", "apsis-task", ] @@ -306,7 +269,6 @@ name = "apsis-scheduler" version = "0.1.0" dependencies = [ "apsis-conflict", - "apsis-core", "apsis-resource", "apsis-schedule", "apsis-task", @@ -316,7 +278,6 @@ dependencies = [ name = "apsis-sgp4" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-math", "apsis-time", "apsis-tle", @@ -326,7 +287,6 @@ dependencies = [ name = "apsis-sim" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-event", "apsis-output", "apsis-resource", @@ -341,7 +301,6 @@ dependencies = [ name = "apsis-sim-engine" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-event", ] @@ -349,7 +308,6 @@ dependencies = [ name = "apsis-task" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-resource", ] @@ -357,7 +315,6 @@ dependencies = [ name = "apsis-time" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-leap", ] @@ -365,7 +322,6 @@ dependencies = [ name = "apsis-tle" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-time", ] @@ -373,7 +329,6 @@ dependencies = [ name = "apsis-topology" version = "0.1.0" dependencies = [ - "apsis-core", "apsis-math", ] diff --git a/crates/network/apsis-access/Cargo.toml b/crates/network/apsis-access/Cargo.toml index 0d79fe0..dcc0503 100644 --- a/crates/network/apsis-access/Cargo.toml +++ b/crates/network/apsis-access/Cargo.toml @@ -11,7 +11,6 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true apsis-geodesy.workspace = true apsis-coverage.workspace = true diff --git a/crates/network/apsis-constellation/Cargo.toml b/crates/network/apsis-constellation/Cargo.toml index 6c33ba2..4abcebf 100644 --- a/crates/network/apsis-constellation/Cargo.toml +++ b/crates/network/apsis-constellation/Cargo.toml @@ -11,7 +11,5 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true -apsis-math.workspace = true apsis-kepler.workspace = true apsis-sgp4.workspace = true diff --git a/crates/network/apsis-coverage/Cargo.toml b/crates/network/apsis-coverage/Cargo.toml index cd76779..88a798d 100644 --- a/crates/network/apsis-coverage/Cargo.toml +++ b/crates/network/apsis-coverage/Cargo.toml @@ -11,6 +11,5 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true apsis-geodesy.workspace = true diff --git a/crates/network/apsis-handover/Cargo.toml b/crates/network/apsis-handover/Cargo.toml index 6cb6d23..2712599 100644 --- a/crates/network/apsis-handover/Cargo.toml +++ b/crates/network/apsis-handover/Cargo.toml @@ -11,5 +11,3 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true -apsis-math.workspace = true diff --git a/crates/network/apsis-isl/Cargo.toml b/crates/network/apsis-isl/Cargo.toml index 2e06413..a176747 100644 --- a/crates/network/apsis-isl/Cargo.toml +++ b/crates/network/apsis-isl/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true diff --git a/crates/network/apsis-mesh/Cargo.toml b/crates/network/apsis-mesh/Cargo.toml index 3a616df..baefbb3 100644 --- a/crates/network/apsis-mesh/Cargo.toml +++ b/crates/network/apsis-mesh/Cargo.toml @@ -11,6 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true -apsis-math.workspace = true apsis-topology.workspace = true diff --git a/crates/network/apsis-routing/Cargo.toml b/crates/network/apsis-routing/Cargo.toml index ae6c7be..3b2beaa 100644 --- a/crates/network/apsis-routing/Cargo.toml +++ b/crates/network/apsis-routing/Cargo.toml @@ -11,6 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true -apsis-math.workspace = true apsis-topology.workspace = true diff --git a/crates/network/apsis-topology/Cargo.toml b/crates/network/apsis-topology/Cargo.toml index 4efb559..3d5e0fa 100644 --- a/crates/network/apsis-topology/Cargo.toml +++ b/crates/network/apsis-topology/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true diff --git a/crates/ops/apsis-conflict/Cargo.toml b/crates/ops/apsis-conflict/Cargo.toml index dd02e52..127b3fc 100644 --- a/crates/ops/apsis-conflict/Cargo.toml +++ b/crates/ops/apsis-conflict/Cargo.toml @@ -11,7 +11,6 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-resource.workspace = true apsis-task.workspace = true apsis-schedule.workspace = true diff --git a/crates/ops/apsis-resource/Cargo.toml b/crates/ops/apsis-resource/Cargo.toml index 15bcac7..7add1d2 100644 --- a/crates/ops/apsis-resource/Cargo.toml +++ b/crates/ops/apsis-resource/Cargo.toml @@ -11,4 +11,3 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true diff --git a/crates/ops/apsis-schedule/Cargo.toml b/crates/ops/apsis-schedule/Cargo.toml index ad7e3b2..bdc47b3 100644 --- a/crates/ops/apsis-schedule/Cargo.toml +++ b/crates/ops/apsis-schedule/Cargo.toml @@ -11,6 +11,5 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-resource.workspace = true apsis-task.workspace = true diff --git a/crates/ops/apsis-scheduler/Cargo.toml b/crates/ops/apsis-scheduler/Cargo.toml index dea6d72..d69a928 100644 --- a/crates/ops/apsis-scheduler/Cargo.toml +++ b/crates/ops/apsis-scheduler/Cargo.toml @@ -11,7 +11,6 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-resource.workspace = true apsis-task.workspace = true apsis-schedule.workspace = true diff --git a/crates/ops/apsis-task/Cargo.toml b/crates/ops/apsis-task/Cargo.toml index 1144c21..5ffd609 100644 --- a/crates/ops/apsis-task/Cargo.toml +++ b/crates/ops/apsis-task/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-resource.workspace = true diff --git a/crates/orbit/apsis-ephemeris/Cargo.toml b/crates/orbit/apsis-ephemeris/Cargo.toml index 595e0e2..b0a6e10 100644 --- a/crates/orbit/apsis-ephemeris/Cargo.toml +++ b/crates/orbit/apsis-ephemeris/Cargo.toml @@ -11,7 +11,6 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true [dev-dependencies] diff --git a/crates/orbit/apsis-kepler/Cargo.toml b/crates/orbit/apsis-kepler/Cargo.toml index 95096a8..0879cd8 100644 --- a/crates/orbit/apsis-kepler/Cargo.toml +++ b/crates/orbit/apsis-kepler/Cargo.toml @@ -11,7 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true -apsis-time.workspace = true -apsis-tle.workspace = true diff --git a/crates/orbit/apsis-maneuver/Cargo.toml b/crates/orbit/apsis-maneuver/Cargo.toml index e1bd7bf..e8a881a 100644 --- a/crates/orbit/apsis-maneuver/Cargo.toml +++ b/crates/orbit/apsis-maneuver/Cargo.toml @@ -11,6 +11,5 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true apsis-kepler.workspace = true diff --git a/crates/orbit/apsis-orbit/Cargo.toml b/crates/orbit/apsis-orbit/Cargo.toml index 8a60416..0d565df 100644 --- a/crates/orbit/apsis-orbit/Cargo.toml +++ b/crates/orbit/apsis-orbit/Cargo.toml @@ -11,9 +11,7 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true -apsis-time.workspace = true apsis-tle.workspace = true apsis-sgp4.workspace = true apsis-kepler.workspace = true diff --git a/crates/orbit/apsis-sgp4/Cargo.toml b/crates/orbit/apsis-sgp4/Cargo.toml index 3bcfa50..cf9c5d6 100644 --- a/crates/orbit/apsis-sgp4/Cargo.toml +++ b/crates/orbit/apsis-sgp4/Cargo.toml @@ -11,7 +11,6 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true apsis-tle.workspace = true apsis-time.workspace = true diff --git a/crates/orbit/apsis-tle/Cargo.toml b/crates/orbit/apsis-tle/Cargo.toml index 5ecaf87..8745155 100644 --- a/crates/orbit/apsis-tle/Cargo.toml +++ b/crates/orbit/apsis-tle/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-time.workspace = true diff --git a/crates/physics/apsis-coord/Cargo.toml b/crates/physics/apsis-coord/Cargo.toml index 32c0476..1f72789 100644 --- a/crates/physics/apsis-coord/Cargo.toml +++ b/crates/physics/apsis-coord/Cargo.toml @@ -11,7 +11,6 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true apsis-geodesy.workspace = true apsis-frames.workspace = true diff --git a/crates/physics/apsis-frames/Cargo.toml b/crates/physics/apsis-frames/Cargo.toml index 6d9c852..d104846 100644 --- a/crates/physics/apsis-frames/Cargo.toml +++ b/crates/physics/apsis-frames/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true diff --git a/crates/physics/apsis-geodesy/Cargo.toml b/crates/physics/apsis-geodesy/Cargo.toml index ba0412a..affcd32 100644 --- a/crates/physics/apsis-geodesy/Cargo.toml +++ b/crates/physics/apsis-geodesy/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-math.workspace = true diff --git a/crates/physics/apsis-time/Cargo.toml b/crates/physics/apsis-time/Cargo.toml index b9affc0..d71e4f9 100644 --- a/crates/physics/apsis-time/Cargo.toml +++ b/crates/physics/apsis-time/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-leap.workspace = true diff --git a/crates/rf/apsis-antenna/Cargo.toml b/crates/rf/apsis-antenna/Cargo.toml index 8962588..48d04c3 100644 --- a/crates/rf/apsis-antenna/Cargo.toml +++ b/crates/rf/apsis-antenna/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-rf.workspace = true diff --git a/crates/rf/apsis-atmosphere/Cargo.toml b/crates/rf/apsis-atmosphere/Cargo.toml index 428fc18..3115d43 100644 --- a/crates/rf/apsis-atmosphere/Cargo.toml +++ b/crates/rf/apsis-atmosphere/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-rf.workspace = true diff --git a/crates/sim/apsis-event/Cargo.toml b/crates/sim/apsis-event/Cargo.toml index 3bc217e..b1420ab 100644 --- a/crates/sim/apsis-event/Cargo.toml +++ b/crates/sim/apsis-event/Cargo.toml @@ -11,4 +11,3 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true diff --git a/crates/sim/apsis-output/Cargo.toml b/crates/sim/apsis-output/Cargo.toml index 1cf888a..053fff8 100644 --- a/crates/sim/apsis-output/Cargo.toml +++ b/crates/sim/apsis-output/Cargo.toml @@ -11,4 +11,3 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true diff --git a/crates/sim/apsis-scenario/Cargo.toml b/crates/sim/apsis-scenario/Cargo.toml index 694316b..122e29f 100644 --- a/crates/sim/apsis-scenario/Cargo.toml +++ b/crates/sim/apsis-scenario/Cargo.toml @@ -11,6 +11,5 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-resource.workspace = true apsis-task.workspace = true diff --git a/crates/sim/apsis-sim-engine/Cargo.toml b/crates/sim/apsis-sim-engine/Cargo.toml index 4bc4b82..dd13078 100644 --- a/crates/sim/apsis-sim-engine/Cargo.toml +++ b/crates/sim/apsis-sim-engine/Cargo.toml @@ -11,5 +11,4 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-event.workspace = true diff --git a/crates/sim/apsis-sim/Cargo.toml b/crates/sim/apsis-sim/Cargo.toml index 1bd35a1..ffb6b35 100644 --- a/crates/sim/apsis-sim/Cargo.toml +++ b/crates/sim/apsis-sim/Cargo.toml @@ -11,7 +11,6 @@ publish = false workspace = true [dependencies] -apsis-core.workspace = true apsis-resource.workspace = true apsis-task.workspace = true apsis-schedule.workspace = true diff --git a/docs/design/layers.md b/docs/design/layers.md index 71aaf6d..d10d84f 100644 --- a/docs/design/layers.md +++ b/docs/design/layers.md @@ -41,13 +41,19 @@ index(B) > index(A) 违规(反向依赖) ## 全局基准 -`apsis-core`(错误、常量、单位标记)与 `apsis-math`(`Vec3`、`Mat3`、 -`Quat`)被各层共用,包括最左的 `foundation` 之外的所有层。它们本身在 -`foundation` 中,所以"只向左依赖"已经允许任何层使用它们,无需特例。 +`apsis-core`(通用错误、常量、单位标记)与 `apsis-math`(`Vec3`、 +`Mat3`、`Quat`)被各层共用。它们本身在 `foundation` 中,所以"只向左依赖" +已经允许任何层使用它们,无需特例。 这与"层内基准"不同:`apsis-core` 也是 `foundation` 内的基准,但它的可用 范围是整个工作区,而不只是同层。 +**只有真正使用的依赖才声明。** `apsis-core` 与 `apsis-math` 可以被任何 +crate 使用,但一个不引用它们的 crate 不应把它们写进清单:未使用的依赖会 +拖慢编译、让 `cargo tree` 与分层检查产生噪声,并让"谁依赖什么"失真。 +需要时再加,是一条随时可走的单行改动。`scripts/check-layers.sh` 报告的 +边数因此是真实的使用关系,而不是一份预留清单。 + ## 层内门面 每层以一个门面 crate 作为整合点: @@ -80,4 +86,4 @@ bash scripts/check-layers.sh ``` 脚本输出检查过的依赖边数,并在发现反向依赖时逐条列出后以退出码 1 结束。 -对当前工作区,它检查 141 条边,全部方向正确。 +对当前工作区,它检查 104 条边,全部方向正确。