|
15 | 15 | # ./scripts/publish.sh --status # Check which crates are published |
16 | 16 | # |
17 | 17 | # The publishing order respects the dependency graph: |
18 | | -# Tier 1 (no deps): core, cuda-codegen, wgpu-codegen, ir |
19 | | -# Tier 2 (core deps): derive, cpu, cuda, wgpu, metal, codegen, ecosystem, audio-fft, graph, montecarlo, cli |
20 | | -# Tier 3 (main crate): ringkernel |
21 | | -# Tier 4 (apps): wavesim, txmon, accnet, procint, wavesim3d |
| 18 | +# Tier 1 (no deps): core, ir |
| 19 | +# Tier 2 (core deps): codegen, cpu, cuda, wgpu, metal, ecosystem, audio-fft, graph, montecarlo |
| 20 | +# Tier 3 (codegen deps): cuda-codegen, wgpu-codegen, derive, cli |
| 21 | +# Tier 4 (main crate): ringkernel |
| 22 | +# Tier 5 (apps): wavesim, txmon, accnet, procint, wavesim3d |
22 | 23 | # |
23 | 24 |
|
24 | 25 | set -e |
|
94 | 95 | CRATES=( |
95 | 96 | # Tier 1: No internal dependencies |
96 | 97 | "ringkernel-core" |
97 | | - "ringkernel-cuda-codegen" |
98 | | - "ringkernel-wgpu-codegen" |
99 | 98 | "ringkernel-ir" |
100 | 99 |
|
101 | | - # Tier 2: Depends only on Tier 1 |
102 | | - "ringkernel-derive" # depends on: core, cuda-codegen (optional) |
| 100 | + # Tier 2: Depends only on core |
| 101 | + "ringkernel-codegen" # depends on: core |
103 | 102 | "ringkernel-cpu" # depends on: core |
104 | 103 | "ringkernel-cuda" # depends on: core |
105 | 104 | "ringkernel-wgpu" # depends on: core |
106 | 105 | "ringkernel-metal" # depends on: core |
107 | | - "ringkernel-codegen" # depends on: core |
108 | 106 | "ringkernel-ecosystem" # depends on: core |
109 | 107 | "ringkernel-audio-fft" # depends on: core |
110 | 108 | "ringkernel-graph" # depends on: core |
111 | 109 | "ringkernel-montecarlo" # depends on: core |
112 | | - "ringkernel-cli" # depends on: ir, cuda-codegen (optional), wgpu-codegen (optional) |
113 | 110 |
|
114 | | - # Tier 3: Main crate (depends on most others) |
| 111 | + # Tier 3: Depends on codegen or other Tier 2 crates |
| 112 | + "ringkernel-cuda-codegen" # depends on: codegen |
| 113 | + "ringkernel-wgpu-codegen" # depends on: codegen |
| 114 | + "ringkernel-derive" # depends on: core, cuda-codegen (optional) |
| 115 | + "ringkernel-cli" # depends on: ir, cuda-codegen (optional), wgpu-codegen (optional) |
| 116 | + |
| 117 | + # Tier 4: Main crate (depends on most others) |
115 | 118 | "ringkernel" # depends on: core, derive, cpu, cuda, wgpu, metal, codegen |
116 | 119 |
|
117 | | - # Tier 4: Application crates (depend on main crate) |
| 120 | + # Tier 5: Application crates (depend on main crate) |
118 | 121 | "ringkernel-wavesim" # depends on: ringkernel, core, derive, cuda, cuda-codegen |
119 | 122 | "ringkernel-txmon" # depends on: ringkernel, core, cuda, cuda-codegen |
120 | | - "ringkernel-accnet" # depends on: ringkernel, core, cuda, cuda-codegen |
121 | | - "ringkernel-procint" # depends on: ringkernel, core, cuda, cuda-codegen |
| 123 | + "ringkernel-accnet" # depends on: core, derive, cpu, cuda-codegen |
| 124 | + "ringkernel-procint" # depends on: core, derive, cpu, cuda-codegen |
122 | 125 | "ringkernel-wavesim3d" # depends on: ringkernel, core, derive, cuda, cuda-codegen |
123 | 126 | ) |
124 | 127 |
|
125 | | -# Tier 1 crates can be verified independently |
| 128 | +# Tier 1 crates can be verified independently (no internal deps) |
126 | 129 | TIER1_CRATES=( |
127 | 130 | "ringkernel-core" |
128 | | - "ringkernel-cuda-codegen" |
129 | | - "ringkernel-wgpu-codegen" |
130 | 131 | "ringkernel-ir" |
131 | 132 | ) |
132 | 133 |
|
|
0 commit comments