Skip to content

Commit 005eb31

Browse files
committed
fix: build
1 parent f8bfa9b commit 005eb31

4 files changed

Lines changed: 17 additions & 43 deletions

File tree

README.md

Lines changed: 6 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -2,38 +2,6 @@
22

33
A comprehensive framework plugin manager for the r2x power systems modeling ecosystem. Simplifies discovery, installation, and management of r2x framework plugins.
44

5-
## 🚧 Ongoing Refactoring TODO
6-
7-
We're currently refactoring the plugin discovery and manifest system to be more dynamic and maintainable:
8-
9-
### Completed ✅
10-
- [x] Simplified `DiscoveryPlugin` structure - no hardcoded fields, uses `constructor_args` + `resolved_references`
11-
- [x] Added dependency tracking to `Package` (`install_type`, `installed_by`, `dependencies`)
12-
- [x] Implemented AST parser Phase 1 - extracts all constructor args dynamically
13-
- [x] Implemented AST parser Phase 2 methods - resolves class/function references
14-
- [x] Refactored `AstDiscovery` - returns structs instead of JSON
15-
- [x] Reorganized manifest structure:
16-
- `types.rs` - pure type definitions
17-
- `manifest.rs` - all manifest operations (load, save, business logic)
18-
- `manifest_writer.rs` - custom path utilities for testing
19-
- [x] Removed transitional `Plugin` struct
20-
21-
### In Progress 🔄
22-
- [ ] Refactor `plugins/discovery.rs` to use new struct-based flow (no JSON parsing)
23-
- [ ] Implement AST parser Phase 3 - associate decorators with plugins
24-
- [ ] Update Python bridge (`plugin_invoker.rs`) to construct Python objects from `DiscoveryPlugin.constructor_args`
25-
- [ ] Update `commands/run.rs` to work directly with `DiscoveryPlugin`
26-
- [ ] Update `help.rs` to work directly with `DiscoveryPlugin`
27-
- [ ] Remove `plugin_parser.rs` (parse_plugin_json, parse_decorator_registrations) - no longer needed
28-
- [ ] Remove `plugin_manifest.rs` entirely
29-
- [ ] Update `plugin_cache.rs` to work with `DiscoveryPlugin`
30-
31-
### Architecture Goals
32-
- **No intermediate representations**: Work directly with manifest data
33-
- **Python bridge constructs objects**: From `constructor_args` + `resolved_references`
34-
- **Manifest is source of truth**: No conversions, no hardcoded field assumptions
35-
- **Dependency tracking**: Proper cleanup when packages are removed
36-
375
## Features
386

397
- Easy plugin management
@@ -44,12 +12,6 @@ We're currently refactoring the plugin discovery and manifest system to be more
4412

4513
This project uses [uv](https://github.com/astral-sh/uv) for handling Python packages. With uv, you don't need to worry about Python or plugin versioning—uv automatically handles dependency resolution and environment isolation for you.
4614

47-
## License
48-
49-
BSD-3-Clause License. See [LICENSE.txt](LICENSE.txt) for details.
50-
51-
## Commands
52-
5315
### Getting Started
5416

5517
```bash
@@ -61,6 +23,7 @@ r2x init my-pipeline.yaml
6123
```
6224

6325
The `r2x init` command creates a template pipeline file with:
26+
6427
- Example variables for substitution
6528
- Multiple pipeline examples
6629
- Plugin configuration templates
@@ -93,6 +56,7 @@ R2X_VENV_YES=1 r2x venv # Skip confirmation with environment variable
9356
```
9457

9558
**Install packages in your managed venv:**
59+
9660
```bash
9761
uv pip install <package> --python $(r2x python path)
9862
```
@@ -140,3 +104,7 @@ r2x read system.json
140104
# Load from stdin and open IPython with system available
141105
cat system.json | r2x read
142106
```
107+
108+
## License
109+
110+
BSD-3-Clause License. See [LICENSE.txt](LICENSE.txt) for details.

crates/r2x-ast/Cargo.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,11 @@ publish = false
1616
anyhow = "1.0"
1717
ast-grep-core = "0.22"
1818
ast-grep-language = "0.22"
19-
r2x-manifest = { path = "../r2x-manifest" }
2019
tracing = "0.1"
2120
walkdir = "2.4"
2221
toml = { version = "0.9", features = ["preserve_order"] }
23-
r2x-logger = { path = "../r2x-logger" }
22+
r2x-manifest = {workspace=true}
23+
r2x-logger = {workspace=true}
2424

2525
[dev-dependencies]
2626
tempfile = "3.10"

crates/r2x-cli/Cargo.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,18 +42,23 @@ anyhow = "1.0"
4242

4343
[dependencies.r2x-manifest]
4444
path = "../r2x-manifest"
45+
version = "0.0.1"
4546

4647
[dependencies.r2x-ast]
4748
path = "../r2x-ast"
49+
version = "0.0.1"
4850

4951
[dependencies.r2x-python]
5052
path = "../r2x-python"
53+
version = "0.0.1"
5154

5255
[dependencies.r2x-config]
5356
path = "../r2x-config"
57+
version = "0.0.1"
5458

5559
[dependencies.r2x-logger]
5660
path = "../r2x-logger"
61+
version = "0.0.1"
5762

5863
[dev-dependencies]
5964
assert_cmd = "2.1"

crates/r2x-python/Cargo.toml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ once_cell = "1.19"
1717
pyo3 = { version = "0.27", features = ["auto-initialize", "abi3-py38"] }
1818
serde_json = "1.0"
1919
tracing = "0.1"
20-
r2x-config = { path = "../r2x-config" }
21-
r2x-logger = { path = "../r2x-logger" }
22-
r2x-manifest = { path = "../r2x-manifest" }
2320
thiserror = "2.0"
21+
r2x-config = {workspace=true}
22+
r2x-logger = {workspace=true}
23+
r2x-manifest = {workspace=true}
24+

0 commit comments

Comments
 (0)