119 Commits

Author SHA1 Message Date
48d1912a84 Update all dependencies 2025-07-19 03:52:48 +00:00
819a01a587 Update all dependencies
All checks were successful
continuous-integration/drone/push Build is passing
2025-02-20 07:36:41 +01:00
c8daf58582 Update Rust crate serde to v1.0.218
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-02-20 06:16:55 +00:00
2745d4110b Update Rust crate serde_json to v1.0.138
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-29 02:18:31 +00:00
351d4bb3ab Update Rust crate serde_json to v1.0.137
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-20 02:09:05 +00:00
461e7d0795 Update Rust crate serde_json to v1.0.136
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-19 02:12:31 +00:00
9d5b32bb1e Update Rust crate serde_json to v1.0.135
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2025-01-07 02:03:19 +00:00
ba4e12997b Update Rust crate serde to v1.0.217
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-12-28 02:04:29 +00:00
b360fc458a Update Rust crate anyhow to v1.0.95
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-12-23 02:10:32 +00:00
039e86b32c Update Rust crate serde_json to v1.0.134
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-12-22 01:54:26 +00:00
2333eb1b65 Update Rust crate serde to v1.0.216
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-12-11 02:23:34 +00:00
48657932e7 Update Rust crate anyhow to v1.0.94
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-12-04 02:23:08 +00:00
199993d643 Update Rust crate serde_json to v1.0.133
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-11-17 01:57:15 +00:00
d510d1d779 Update Rust crate serde to v1.0.215
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-11-12 01:55:23 +00:00
ea043764ee Update Rust crate anyhow to v1.0.93
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-11-06 05:52:59 +00:00
94b8336811 Update Rust crate anyhow to v1.0.92
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-11-01 06:07:54 +00:00
d074fb1277 Update Rust crate serde to v1.0.214
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-29 02:14:39 +00:00
d02ad0556b Update Rust crate serde to v1.0.213
Some checks are pending
continuous-integration/drone/push Build is pending
2024-10-23 03:29:12 +02:00
e9bb3df113 Update Rust crate anyhow to v1.0.91
Some checks are pending
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is pending
2024-10-23 01:18:21 +00:00
f6dc8ec24b Update Rust crate serde_json to v1.0.132
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-20 01:12:06 +00:00
e2bedb8fa8 Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-19 01:21:20 +00:00
c21d2ba21a Update Rust crate serde_json to v1.0.129
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-18 01:10:36 +00:00
1b37439ae3 Update Rust crate ipc-channel to 0.19.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-10-17 01:13:35 +00:00
db787eddb2 Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-30 00:57:31 +00:00
d1e4c00b49 Update Rust crate serde to v1.0.210
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-29 05:04:17 +00:00
40b4640cbf Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-09-29 01:04:42 +00:00
30378162ca Update all dependencies
All checks were successful
continuous-integration/drone/push Build is passing
2024-08-21 23:57:32 +02:00
f6bca8dafe Update Rust crate serde to v1.0.208
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-08-21 21:38:31 +00:00
7994fdad73 Update Rust crate serde to v1.0.203
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-05-25 18:19:39 +00:00
78ae66ce7a Update Rust crate anyhow to 1.0.86
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-05-18 12:19:12 +00:00
51b950cccb Update Rust crate anyhow to 1.0.85
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-05-17 22:34:31 +00:00
2d00f54c4a Update Rust crate anyhow to 1.0.84
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-05-17 18:10:56 +00:00
dad51a695b Update Rust crate serde to 1.0.202
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-05-15 08:25:09 +00:00
0e1a9c4171 Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-05-08 01:08:16 +00:00
d04cbc9ef8 Update Rust crate serde to 1.0.200
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-05-01 16:29:22 +00:00
daf75ece01 Update Rust crate serde to 1.0.198
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-04-16 21:51:56 +00:00
5b66df139b Update Rust crate serde_json to 1.0.116
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-04-16 05:59:27 +00:00
274f1b3f09 Update Rust crate anyhow to 1.0.82
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-04-10 04:20:42 +00:00
fe62af4806 Update Rust crate serde_json to 1.0.115
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-03-26 07:03:36 +00:00
1d50602851 Update Rust crate serde_yaml to 0.9.34+deprecated
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-03-25 01:24:58 +00:00
dab613700e Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-03-17 06:26:04 +00:00
849bc1969f Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-02-20 01:12:16 +00:00
7de78cb1e8 Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-02-19 06:04:10 +00:00
4722465c50 Update Rust crate serde_json to 1.0.113
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-01-29 04:32:08 +00:00
37e8da8c7e Update Rust crate serde_yaml to 0.9.31
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-01-29 03:34:17 +00:00
9b7f8e507f Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-01-26 22:14:24 +00:00
97d9c9ff0b Update Rust crate serde to 1.0.195
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-01-06 03:26:00 +00:00
4c5879004b Update Rust crate serde_json to 1.0.111
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-01-04 07:45:59 +00:00
1bffa91068 Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-01-02 07:56:45 +00:00
1230d8c37e Update Rust crate anyhow to 1.0.79
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-01-02 05:11:40 +00:00
1b0ab62695 Update Rust crate serde_json to 1.0.109
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2024-01-01 01:19:38 +00:00
7a5ce173c4 Update Rust crate anyhow to 1.0.78
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-12-30 23:31:46 +00:00
ccb5bd75ca Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-12-26 23:59:46 +00:00
842f1f3aee Update Rust crate serde to 1.0.193
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-11-21 02:14:23 +00:00
5b82ce22de Update Rust crate serde_json to 1.0.108
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-10-30 16:16:59 +00:00
9d828281cb Update Rust crate ipc-channel to 0.18.0
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-10-30 12:15:39 +00:00
8f7dcf51ab Update Rust crate serde_yaml to 0.9.27
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-10-26 06:05:09 +00:00
c54980fa1b Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-10-26 03:42:00 +00:00
9092ad9515 Update Rust crate serde to 1.0.189
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-10-13 02:55:05 +00:00
9b609c3823 Update Rust crate serde_json to 1.0.107
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-13 23:40:12 +00:00
548e6c506d Update Rust crate serde_json to 1.0.106
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-09 19:35:11 +00:00
68056a54d8 Update Rust crate serde to 1.0.188
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-26 02:59:31 +00:00
4146bf25dc Update Rust crate serde to 1.0.187
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-25 18:14:12 +00:00
9ce28f019c Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-24 05:46:54 +00:00
3e322db87e Update Rust crate serde to 1.0.185
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-21 05:05:03 +00:00
13a72e0357 Update Rust crate anyhow to 1.0.75
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-17 01:57:39 +00:00
581ae5645c Update Rust crate serde_json to 1.0.105
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-15 22:40:44 +00:00
5044e28ed7 Update Rust crate anyhow to 1.0.74
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-15 15:57:54 +00:00
8fccc0d442 Update Rust crate serde to 1.0.183
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-07 04:30:45 +00:00
c674faa6e9 Update Rust crate serde to 1.0.182
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-06 06:03:42 +00:00
0f97ed81b1 Update Rust crate serde to 1.0.181
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-08-04 00:42:21 +00:00
019314fe61 Update Rust crate serde to 1.0.180
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-07-31 19:05:17 +00:00
a441e89b53 Update Rust crate serde to 1.0.179
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-07-31 00:41:46 +00:00
c4d6919379 Update Rust crate serde to 1.0.178
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-07-28 23:44:49 +00:00
acb3b11715 Update Rust crate serde to 1.0.177
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-07-27 18:25:05 +00:00
73dfe0204d Update Rust crate serde to 1.0.176
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-07-26 21:04:19 +00:00
f6b209c69c Update Rust crate serde_json to 1.0.104
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-07-26 19:52:36 +00:00
2052354820 Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-07-24 03:57:26 +00:00
8c2b8729bc Merge pull request 'Update Rust crate serde_json to 1.0.100' (#35) from renovate/all into main
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-04 20:52:08 +00:00
56cdecb7d0 Merge pull request 'Update Rust crate serde to 1.0.166' (#34) from renovate/all into main
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-03 19:13:42 +00:00
73dcd67510 Merge pull request 'Update Rust crate serde to 1.0.165' (#33) from renovate/all into main
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-03 12:09:16 +00:00
f595759a2a Merge pull request 'Update Rust crate ipc-channel to 0.16.1' (#32) from renovate/all into main
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-24 12:25:20 +00:00
c4064592f5 Merge pull request 'Update all dependencies' (#31) from renovate/all into main
All checks were successful
continuous-integration/drone/push Build is passing
2023-06-24 05:23:29 +00:00
b7b74c9718 Update Rust crate serde to 1.0.162
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-05-05 08:19:10 +00:00
1079d97754 Update Rust crate anyhow to 1.0.71
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-04-29 19:34:32 +00:00
76317d583e Update Rust crate serde_json to 1.0.96
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-04-13 00:12:31 +00:00
45556616bf Update Rust crate serde to 1.0.160
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-04-11 06:21:07 +00:00
d26d4c99c8 Update Rust crate serde_yaml to 0.9.21
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-04-06 13:36:09 +00:00
61cadd4c2f Update Rust crate serde to 1.0.159
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-03-28 06:35:09 +00:00
c6d37e99ca Update Rust crate serde_json to 1.0.95
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-03-27 17:31:10 +00:00
1ec45b3a40 Update Rust crate serde to 1.0.158
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-03-20 17:44:42 +00:00
070391be15 Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-03-18 10:09:37 +00:00
0361db09a7 Update Rust crate serde to 1.0.156
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-03-14 17:35:08 +00:00
4c174775b5 Update Rust crate serde to 1.0.154
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-03-08 20:39:36 +00:00
8368def36b Update Rust crate serde to 1.0.153
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-03-07 19:27:05 +00:00
ca713db61b Update Rust crate serde_yaml to 0.9.19
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-03-05 21:49:02 +00:00
f20be24aff Update Rust crate serde_json to 1.0.94
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-03-05 18:35:40 +00:00
a7d0c6c74b Update Rust crate serde_yaml to 0.9.18
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-03-05 15:04:14 +00:00
05d56931ff Update all dependencies
Some checks reported errors
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build encountered an error
2023-02-08 20:51:48 +00:00
389648a764 Update Rust crate serde to 1.0.152
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-12-26 18:04:04 +00:00
8ca0ad47e3 Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
continuous-integration/drone Build is passing
2022-12-18 17:43:36 +00:00
02e04d8871 Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-12-18 11:22:39 +00:00
837bed5165 Update Rust crate serde to 1.0.150
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-12-12 00:40:33 +00:00
97ecafaec0 Update Rust crate serde to 1.0.148
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-12-01 19:35:03 +00:00
c01f7dfd60 Update Rust crate serde_json to 1.0.89
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-11-22 14:39:43 +00:00
b7ec22c113 Update Rust crate serde_json to 1.0.88
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-11-18 14:25:33 +00:00
d0f21924b7 Update all dependencies
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-10-26 18:23:32 +00:00
31d3f7b33c Update Rust crate anyhow to 1.0.66
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2022-10-26 15:14:16 +00:00
7ca4c1c97e Add .drone.yml
All checks were successful
continuous-integration/drone/push Build is passing
2022-10-26 16:17:12 +02:00
9341a6a853 Add .drone.yml
All checks were successful
continuous-integration/drone Build is passing
2022-10-26 11:30:45 +02:00
6bf23debe8 Merge pull request 'Configure Renovate' (#1) from renovate/configure into main
Reviewed-on: https://git.front.kjuulh.io/kjuulh/ruddle/pulls/1
2022-10-25 20:59:54 +00:00
475f5add2e Add renovate.json 2022-10-25 20:59:15 +00:00
94b6810fa1 add paths 2022-08-22 08:47:08 +02:00
d420e53ea8 with a few more comments 2022-08-22 08:46:35 +02:00
c0538b6e80 finished pocs 2022-08-20 17:39:19 +02:00
f97c4c841a it wooorks 2022-08-20 17:39:01 +02:00
77b6475974 removed bins 2022-08-20 16:51:49 +02:00
8d8c430c6a remove target 2022-08-20 16:51:24 +02:00
32933381dd with split bins poc 2022-08-20 16:51:07 +02:00
21 changed files with 1157 additions and 8 deletions

9
.drone.yml Executable file
View File

@@ -0,0 +1,9 @@
kind: pipeline
type: docker
name: "test"
steps:
- name: test
image: harbor.front.kjuulh.io/docker-proxy/library/bash:latest
commands:
- echo 'Run tests'

2
.gitignore vendored
View File

@@ -1 +1 @@
/target
target/

View File

@@ -32,11 +32,11 @@ These will be placed in a .ruddle in the parent directory, because of the recurs
```
- .ruddle/
- based/
- ruddle-rust-plan
- ruddle-rust-plan/
- ruddle.yaml
- .ruddle/
- based/
- ruddle-base-plan
- ruddle-base-plan/
- ruddle.yaml
```
@@ -120,7 +120,7 @@ Now you will get a warning saying that dependencies aren't aligned.
### Todos
- [ ] Proof of concepts
- [ ] Split rust bins, interfacing
- [ ] Plugins json schema
- [ ] Schema generation
- [x] Proof of concepts
- [x] Split rust bins, interfacing
- [x] Plugins json schema
- [x] Schema generation

View File

@@ -1,12 +1,23 @@
# Some version goes here
# Version of schema to pull, will also determine level of yaml-language-schema
version: "some-upstream-repo-for-ruddle@some-api-version"
# The name of the service, used when unfolding ruddle, as well as proving tracing on where logs are coming from
name: "ruddle_base_plan"
# Usually most plugins come from the same registry, as such here we can set a common
implicitProvider: git.front.kjuulh.io
# Plugins / Components, provide either new functionality, or overrides for other plugins.
plugins:
# ruddle package, comes prepacked with ruddle itself
# global sets variables that are available to all the other plugins and descendants.
# They can either be set inline or be used by child packages. If not added to properties, but not required until the root packages.
ruddle/global@latest:
# file to look for in child packages for overrides
file: ruddle.yaml # is default, can be omitted
# path to look for, for overrides
path: org
orgSettings:
- key: "name"
@@ -15,21 +26,31 @@ plugins:
required: true
- key: "domain"
required: false
# Vars are only used in scripts, and is meant to be either environment variables mounted directly
# from existing values, or secrets unwrapped by mozilla/sops
ruddle/vars@latest:
path: vars
vars:
# when dev is provided as arg, this will be used `. ruddle run vars --features=dev`
- when: dev
vars:
SOME_VARIABLE: SOME_VALUE
- when: prod
vars:
SOME_VARIABLE: SOME_OTHER_VALUE
SOME_VARIABLE:
from_secret:
sops: ruddle_some_variable
# Actions are your bread and butter for providing scripts and actions to your descendants
ruddle/actions@1.0.0:
path: actions
dependsOn:
# Actions usually require an (action-provider) these can be anything between that can execute
# something, in this case shell or dagger, but could also be python, go, rust or something else entirely.
- ruddle/shell@1.0.0
- ruddle/dagger@1.0.0
# a global path is set for scripts, this means that each script can be implicit and not require specifying a direct path for each of them
basePath: scripts/
scripts:
notify_team:

View File

@@ -1,5 +1,8 @@
# Only 1 inheritance allowed (no multiple inheritance)
# The script will inherit all base settings, such as version, plugins and so on.
basedOn: ../base/ruddle.base.yaml # can also be git repo with ruddle.yaml in root
# inputs are set to fill out details of scripts provided from children
input:
org:
name: "some-name"

226
pocs/json_schema/Cargo.lock generated Normal file
View File

@@ -0,0 +1,226 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "addr2line"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
dependencies = [
"gimli",
]
[[package]]
name = "adler"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "anyhow"
version = "1.0.98"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"
dependencies = [
"backtrace",
]
[[package]]
name = "backtrace"
version = "0.3.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7"
dependencies = [
"addr2line",
"cc",
"cfg-if",
"libc",
"miniz_oxide",
"object",
"rustc-demangle",
]
[[package]]
name = "cc"
version = "1.0.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "equivalent"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "88bffebc5d80432c9b140ee17875ff173a8ab62faad5b257da912bd2f6c1c0a1"
[[package]]
name = "gimli"
version = "0.26.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d"
[[package]]
name = "hashbrown"
version = "0.14.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604"
[[package]]
name = "indexmap"
version = "2.2.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "433de089bd45971eecf4668ee0ee8f4cec17db4f8bd8f7bc3197a6ce37aa7d9b"
dependencies = [
"equivalent",
"hashbrown",
]
[[package]]
name = "itoa"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c8af84674fe1f223a982c933a0ee1086ac4d4052aa0fb8060c12c6ad838e754"
[[package]]
name = "json_schema"
version = "0.1.0"
dependencies = [
"anyhow",
"serde",
"serde_json",
"serde_yaml",
]
[[package]]
name = "libc"
version = "0.2.132"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8371e4e5341c3a96db127eb2465ac681ced4c433e01dd0e938adbef26ba93ba5"
[[package]]
name = "memchr"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
[[package]]
name = "miniz_oxide"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc"
dependencies = [
"adler",
]
[[package]]
name = "object"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53"
dependencies = [
"memchr",
]
[[package]]
name = "proc-macro2"
version = "1.0.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "1.0.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
dependencies = [
"proc-macro2",
]
[[package]]
name = "rustc-demangle"
version = "0.1.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342"
[[package]]
name = "ryu"
version = "1.0.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09"
[[package]]
name = "serde"
version = "1.0.218"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.218"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "serde_json"
version = "1.0.141"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "30b9eff21ebe718216c6ec64e1d9ac57087aad11efc64e32002bce4a0d4c03d3"
dependencies = [
"itoa",
"memchr",
"ryu",
"serde",
]
[[package]]
name = "serde_yaml"
version = "0.9.34+deprecated"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6a8b1a1a2ebf674015cc02edccce75287f1a0130d394307b36743c2f5d504b47"
dependencies = [
"indexmap",
"itoa",
"ryu",
"serde",
"unsafe-libyaml",
]
[[package]]
name = "syn"
version = "2.0.82"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "unicode-ident"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
[[package]]
name = "unsafe-libyaml"
version = "0.2.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "673aac59facbab8a9007c7f6108d11f63b603f7cabff99fabf650fea5c32b861"

View File

@@ -0,0 +1,12 @@
[package]
name = "json_schema"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
anyhow = { version = "1.0.86", features = ["backtrace"] }
serde = { version = "1.0.202", features = ["derive"] }
serde_json = "1.0.117"
serde_yaml = "0.9.34+deprecated"

View File

@@ -0,0 +1,12 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {
"path": {
"type": "string"
},
"dependsOn": {
"type": "array"
}
},
"additionalProperties": false
}

View File

@@ -0,0 +1,8 @@
{
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {
"version": {
"type": "string"
}
}
}

View File

@@ -0,0 +1,56 @@
# yaml-language-server: $schema=schema.json
version: "some-upstream-repo-for-ruddle@some-api-version"
name: "ruddle_base_plan"
implicitProvider: git.front.kjuulh.io
plugins:
ruddle/global@latest:
file: ruddle.yaml # is default, can be omitted
path: org
orgSettings:
- key: "name"
required: true # required is default and can be omitted
- key: "squad"
required: true
- key: "domain"
required: false
ruddle/vars@latest:
path: vars
vars:
- when: dev
vars:
SOME_VARIABLE: SOME_VALUE
- when: prod
vars:
SOME_VARIABLE: SOME_OTHER_VALUE
ruddle/actions@1.0.0:
path: actions
dependsOn:
- ruddle/shell@1.0.0
- ruddle/dagger@1.0.0
basePath: scripts/
scripts:
notify_team:
description: |
will send notification on slack
args:
- arg: "text"
- env: "env"
- env: "slack_secret"
actions:
- shell: "send_notification"
build_service:
description: |
some quite long
description
args:
- arg: "version"
actions:
- shell: get_cache.sh
- dagger: download_dependencies
- dagger: build_service
- shell: upload_service
- ruddle: notify_team

View File

@@ -0,0 +1,31 @@
{
"$defs": {
"actions": {
"$schema": "http://json-schema.org/draft-07/schema",
"additionalProperties": false,
"properties": {
"dependsOn": {
"type": "array"
},
"path": {
"type": "string"
}
}
}
},
"$schema": "http://json-schema.org/draft-07/schema",
"properties": {
"plugins": {
"additionalProperties": false,
"properties": {
"ruddle/actions@1.0.0": {
"$ref": "#/$defs/actions"
}
},
"type": "object"
},
"version": {
"type": "string"
}
}
}

View File

@@ -0,0 +1,45 @@
use std::collections::HashMap;
fn main() -> anyhow::Result<()> {
println!("Hello, json_schemas!");
let mut base_schema: serde_json::Value = load_json("base.schema.json")?;
let actions_schema: serde_json::Value = load_json("actions.schema.json")?;
let mut defs: HashMap<String, serde_json::Value> = HashMap::new();
defs.insert("actions".to_string(), actions_schema);
base_schema["$defs"] = serde_json::to_value(defs)?;
let mut plugins: HashMap<String, serde_json::Value> = HashMap::new();
plugins.insert("ruddle/actions@1.0.0".into(), refs("#/$defs/actions")?);
base_schema["properties"]["plugins"]["type"] = serde_json::to_value("object")?;
base_schema["properties"]["plugins"]["properties"] = serde_json::to_value(plugins)?;
base_schema["properties"]["plugins"]["additionalProperties"] = serde_json::to_value(false)?;
let schema = std::fs::File::create("schema.json")?;
let file_writer = std::io::BufWriter::new(schema);
serde_json::to_writer(file_writer, &base_schema)?;
Ok(())
}
fn refs(content: &str) -> anyhow::Result<serde_json::Value> {
let mut refs = serde_json::Value::default();
refs["$ref"] = serde_json::to_value(content)?;
Ok(refs)
}
fn load_json(file_name: &str) -> anyhow::Result<serde_json::Value> {
let file = std::fs::File::open(file_name)?;
let file_reader = std::io::BufReader::new(file);
let schema: serde_json::Value = serde_json::from_reader(file_reader)?;
println!("printing schema: {}", file_name);
println!("{:#?}", schema);
Ok(schema)
}

621
pocs/split_bins/Cargo.lock generated Normal file
View File

@@ -0,0 +1,621 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "addr2line"
version = "0.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b9ecd88a8c8378ca913a680cd98f0f13ac67383d35993f86c90a70e3f137816b"
dependencies = [
"gimli",
]
[[package]]
name = "adler"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"
[[package]]
name = "anyhow"
version = "1.0.98"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e16d2d3311acee920a9eb8d33b8cbc1787ce4a264e85f964c2404b969bdcd487"
dependencies = [
"backtrace",
]
[[package]]
name = "backtrace"
version = "0.3.66"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cab84319d616cfb654d03394f38ab7e6f0919e181b1b57e1fd15e7fb4077d9a7"
dependencies = [
"addr2line",
"cc",
"cfg-if",
"libc",
"miniz_oxide",
"object",
"rustc-demangle",
]
[[package]]
name = "bincode"
version = "1.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b1f45e9417d87227c7a56d22e471c6206462cba514c7590c09aff4cf6d1ddcad"
dependencies = [
"serde",
]
[[package]]
name = "bitflags"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitflags"
version = "2.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4682ae6287fcf752ecaabbfcc7b6f9b72aa33933dc23a554d853aea8eea8635"
[[package]]
name = "cc"
version = "1.0.73"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2fff2a6927b3bb87f9595d67196a70493f627687a71d87a0d692242c33f58c11"
[[package]]
name = "cfg-if"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
[[package]]
name = "crossbeam-channel"
version = "0.5.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a33c2bf77f2df06183c3aa30d1e96c0695a313d4f9c453cc3762a6db39f99200"
dependencies = [
"cfg-if",
"crossbeam-utils",
]
[[package]]
name = "crossbeam-utils"
version = "0.8.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5a22b2d63d4d1dc0b7f1b6b2747dd0088008a9be28b6ddf0b1e7d335e3037294"
dependencies = [
"cfg-if",
]
[[package]]
name = "errno"
version = "0.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6b30f669a7961ef1631673d2766cc92f52d64f7ef354d4fe0ddfd30ed52f0f4f"
dependencies = [
"errno-dragonfly",
"libc",
"windows-sys 0.48.0",
]
[[package]]
name = "errno-dragonfly"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa68f1b12764fab894d2755d2518754e71b4fd80ecfb822714a1206c2aab39bf"
dependencies = [
"cc",
"libc",
]
[[package]]
name = "fastrand"
version = "2.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764"
[[package]]
name = "fnv"
version = "1.0.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1"
[[package]]
name = "getrandom"
version = "0.2.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4eb1a864a501629691edf6c15a593b7a51eebaa1e8468e9ddc623de7c9b58ec6"
dependencies = [
"cfg-if",
"libc",
"wasi 0.11.0+wasi-snapshot-preview1",
]
[[package]]
name = "getrandom"
version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "26145e563e54f2cadc477553f1ec5ee650b00862f0a58bcd12cbdc5f0ea2d2f4"
dependencies = [
"cfg-if",
"libc",
"r-efi",
"wasi 0.14.2+wasi-0.2.4",
]
[[package]]
name = "gimli"
version = "0.26.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "22030e2c5a68ec659fde1e949a745124b48e6fa8b045b7ed5bd1fe4ccc5c4e5d"
[[package]]
name = "hermit-abi"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d231dfb89cfffdbc30e7fc41579ed6066ad03abda9e567ccafae602b97ec5024"
[[package]]
name = "ipc-channel"
version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5b1c98b70019c830a1fc39cecfe1f60ff99c4122f0a189697c810c90ec545c14"
dependencies = [
"bincode",
"crossbeam-channel",
"fnv",
"libc",
"mio",
"rand",
"serde",
"tempfile",
"uuid",
"windows",
]
[[package]]
name = "libc"
version = "0.2.174"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776"
[[package]]
name = "linux-raw-sys"
version = "0.4.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57bcfdad1b858c2db7c38303a6d2ad4dfaf5eb53dfeb0910128b2c26d6158503"
[[package]]
name = "memchr"
version = "2.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
[[package]]
name = "miniz_oxide"
version = "0.5.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f5c75688da582b8ffc1f1799e9db273f32133c49e048f614d22ec3256773ccc"
dependencies = [
"adler",
]
[[package]]
name = "mio"
version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "80e04d1dcff3aae0704555fe5fee3bcfaf3d1fdf8a7e521d5b9d2b42acb52cec"
dependencies = [
"hermit-abi",
"libc",
"wasi 0.11.0+wasi-snapshot-preview1",
"windows-sys 0.52.0",
]
[[package]]
name = "object"
version = "0.29.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "21158b2c33aa6d4561f1c0a6ea283ca92bc54802a93b263e910746d679a7eb53"
dependencies = [
"memchr",
]
[[package]]
name = "ppv-lite86"
version = "0.2.16"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eb9f9e6e233e5c4a35559a617bf40a4ec447db2e84c20b55a6f83167b7e57872"
[[package]]
name = "proc-macro2"
version = "1.0.89"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f139b0662de085916d1fb67d2b4169d1addddda1919e696f3252b740b629986e"
dependencies = [
"unicode-ident",
]
[[package]]
name = "quote"
version = "1.0.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "291ec9ab5efd934aaf503a6466c5d5251535d108ee747472c3977cc5acc868ef"
dependencies = [
"proc-macro2",
]
[[package]]
name = "r-efi"
version = "5.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
[[package]]
name = "rand"
version = "0.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9fbfd9d094a40bf3ae768db9361049ace4c0e04a4fd6b359518bd7b73a73dd97"
dependencies = [
"rand_chacha",
"rand_core",
]
[[package]]
name = "rand_chacha"
version = "0.9.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb"
dependencies = [
"ppv-lite86",
"rand_core",
]
[[package]]
name = "rand_core"
version = "0.9.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "99d9a13982dcf210057a8a78572b2217b667c3beacbf3a0d8b454f6f82837d38"
dependencies = [
"getrandom 0.3.3",
]
[[package]]
name = "redox_syscall"
version = "0.3.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "567664f262709473930a4bf9e51bf2ebf3348f2e748ccc50dea20646858f8f29"
dependencies = [
"bitflags 1.3.2",
]
[[package]]
name = "rustc-demangle"
version = "0.1.21"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7ef03e0a2b150c7a90d01faf6254c9c48a41e95fb2a8c2ac1c6f0d2b9aefc342"
[[package]]
name = "rustix"
version = "0.38.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "19ed4fa021d81c8392ce04db050a3da9a60299050b7ae1cf482d862b54a7218f"
dependencies = [
"bitflags 2.4.0",
"errno",
"libc",
"linux-raw-sys",
"windows-sys 0.48.0",
]
[[package]]
name = "serde"
version = "1.0.218"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8dfc9d19bdbf6d17e22319da49161d5d0108e4188e8b680aef6299eed22df60"
dependencies = [
"serde_derive",
]
[[package]]
name = "serde_derive"
version = "1.0.218"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f09503e191f4e797cb8aac08e9a4a4695c5edf6a2e70e376d961ddd5c969f82b"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "split_bins_cli"
version = "0.1.0"
dependencies = [
"anyhow",
"ipc-channel",
"serde",
]
[[package]]
name = "split_bins_plugin"
version = "0.1.0"
dependencies = [
"ipc-channel",
]
[[package]]
name = "split_bins_plugin_two"
version = "0.1.0"
[[package]]
name = "syn"
version = "2.0.82"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83540f837a8afc019423a8edb95b52a8effe46957ee402287f4292fae35be021"
dependencies = [
"proc-macro2",
"quote",
"unicode-ident",
]
[[package]]
name = "tempfile"
version = "3.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb94d2f3cc536af71caac6b6fcebf65860b347e7ce0cc9ebe8f70d3e521054ef"
dependencies = [
"cfg-if",
"fastrand",
"redox_syscall",
"rustix",
"windows-sys 0.48.0",
]
[[package]]
name = "unicode-ident"
version = "1.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c4f5b37a154999a8f3f98cc23a628d850e154479cd94decf3414696e12e31aaf"
[[package]]
name = "uuid"
version = "1.3.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0fa2982af2eec27de306107c027578ff7f423d65f7250e40ce0fea8f45248b81"
dependencies = [
"getrandom 0.2.7",
]
[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
[[package]]
name = "wasi"
version = "0.14.2+wasi-0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9683f9a5a998d873c0d21fcbe3c083009670149a8fab228644b8bd36b2c48cb3"
dependencies = [
"wit-bindgen-rt",
]
[[package]]
name = "windows"
version = "0.58.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dd04d41d93c4992d421894c18c8b43496aa748dd4c081bac0dc93eb0489272b6"
dependencies = [
"windows-core",
"windows-targets 0.52.6",
]
[[package]]
name = "windows-core"
version = "0.58.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99"
dependencies = [
"windows-implement",
"windows-interface",
"windows-result",
"windows-strings",
"windows-targets 0.52.6",
]
[[package]]
name = "windows-implement"
version = "0.58.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2bbd5b46c938e506ecbce286b6628a02171d56153ba733b6c741fc627ec9579b"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "windows-interface"
version = "0.58.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "053c4c462dc91d3b1504c6fe5a726dd15e216ba718e84a0e46a88fbe5ded3515"
dependencies = [
"proc-macro2",
"quote",
"syn",
]
[[package]]
name = "windows-result"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1d1043d8214f791817bab27572aaa8af63732e11bf84aa21a45a78d6c317ae0e"
dependencies = [
"windows-targets 0.52.6",
]
[[package]]
name = "windows-strings"
version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4cd9b125c486025df0eabcb585e62173c6c9eddcec5d117d3b6e8c30e2ee4d10"
dependencies = [
"windows-result",
"windows-targets 0.52.6",
]
[[package]]
name = "windows-sys"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
"windows-targets 0.48.5",
]
[[package]]
name = "windows-sys"
version = "0.52.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d"
dependencies = [
"windows-targets 0.52.6",
]
[[package]]
name = "windows-targets"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c"
dependencies = [
"windows_aarch64_gnullvm 0.48.5",
"windows_aarch64_msvc 0.48.5",
"windows_i686_gnu 0.48.5",
"windows_i686_msvc 0.48.5",
"windows_x86_64_gnu 0.48.5",
"windows_x86_64_gnullvm 0.48.5",
"windows_x86_64_msvc 0.48.5",
]
[[package]]
name = "windows-targets"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973"
dependencies = [
"windows_aarch64_gnullvm 0.52.6",
"windows_aarch64_msvc 0.52.6",
"windows_i686_gnu 0.52.6",
"windows_i686_gnullvm",
"windows_i686_msvc 0.52.6",
"windows_x86_64_gnu 0.52.6",
"windows_x86_64_gnullvm 0.52.6",
"windows_x86_64_msvc 0.52.6",
]
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8"
[[package]]
name = "windows_aarch64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3"
[[package]]
name = "windows_aarch64_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc"
[[package]]
name = "windows_aarch64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469"
[[package]]
name = "windows_i686_gnu"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e"
[[package]]
name = "windows_i686_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b"
[[package]]
name = "windows_i686_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66"
[[package]]
name = "windows_i686_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406"
[[package]]
name = "windows_i686_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66"
[[package]]
name = "windows_x86_64_gnu"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e"
[[package]]
name = "windows_x86_64_gnu"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc"
[[package]]
name = "windows_x86_64_gnullvm"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d"
[[package]]
name = "windows_x86_64_msvc"
version = "0.48.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538"
[[package]]
name = "windows_x86_64_msvc"
version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"
[[package]]
name = "wit-bindgen-rt"
version = "0.39.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f42320e61fe2cfd34354ecb597f86f413484a798ba44a8ca1165c58d42da6c1"
dependencies = [
"bitflags 2.4.0",
]

View File

@@ -0,0 +1,6 @@
[workspace]
members = [
"split_bins_cli",
"split_bins_plugin",
"split_bins_plugin_two"
]

View File

@@ -0,0 +1,11 @@
[package]
name = "split_bins_cli"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
anyhow = { version = "1.0.86", features = ["backtrace"] }
ipc-channel = "0.20.0"
serde = { version = "1.0.202", features = ["derive"] }

View File

@@ -0,0 +1,48 @@
use std::process::Command;
fn main() -> anyhow::Result<()> {
println!("Hello, split_bins!");
println!("startup processes");
let executables = vec!["split_bins_plugin"]; //, "split_bins_plugin_two"];
let current_exe_path: String = get_current_exe_path()?;
let mut handles = vec![];
for exe in executables {
let curr_exe_path = current_exe_path.clone();
let e = exe.clone();
handles.push(std::thread::spawn(move || {
println!("current exe path: {}", curr_exe_path);
let (server, name) =
ipc_channel::ipc::IpcOneShotServer::new().expect("could not create oneshot server");
let mut child = Command::new(format!("{}/{}", curr_exe_path, e))
.arg(format!("{}", name.clone()))
.spawn()
.expect(format!("started process: {}", curr_exe_path).as_str());
let (_, tx): (_, ipc_channel::ipc::IpcSender<String>) = server.accept().unwrap();
tx.send("some msg".into()).expect("could not send message");
child.wait().expect("did not finish with 0");
}));
}
for handle in handles {
if let Err(_) = handle.join() {
return Err(anyhow::anyhow!("handle failed to return with statuscode=0"));
}
}
Ok(())
}
fn get_current_exe_path() -> anyhow::Result<String> {
let mut current_exe_path = std::env::current_exe()?;
current_exe_path.pop();
return Ok(current_exe_path.to_string_lossy().to_string());
}

View File

@@ -0,0 +1,9 @@
[package]
name = "split_bins_plugin"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
ipc-channel = "0.20.0"

View File

@@ -0,0 +1,17 @@
fn main() {
println!("Hello, split_bins_plugin!");
let args = std::env::args();
let exe_name = args.last().expect("could not get last item");
let (tx, rx) = ipc_channel::ipc::channel::<String>().expect("could not open channel");
let tx0 = ipc_channel::ipc::IpcSender::connect(exe_name.to_string())
.expect("could not connect to server");
tx0.send(tx).expect("could not send tx");
let msg = rx.recv().expect("could not receive message");
println!("msg: {}", msg)
}

View File

@@ -0,0 +1,8 @@
[package]
name = "split_bins_plugin_two"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]

View File

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

3
renovate.json Normal file
View File

@@ -0,0 +1,3 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json"
}