Skip to content

Commit f60c0a0

Browse files
authored
Merge pull request #69 from open-rmf/xiyu/release-0.2
Update branch release 0.2
2 parents 8fa94f4 + 4d2c4a2 commit f60c0a0

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+18835
-675
lines changed

.cargo/config.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
[build]
2+
rustdocflags = ["-D", "warnings"]
3+
4+
[target.wasm32-unknown-unknown]
5+
rustflags = '--cfg getrandom_backend="wasm_js"'

.github/workflows/ci_linux.yaml

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,18 +16,31 @@ env:
1616

1717
jobs:
1818
build:
19+
strategy:
20+
matrix:
21+
rust-version: stable
1922

2023
runs-on: ubuntu-latest
2124

2225
steps:
2326
- uses: actions/checkout@v3
2427

28+
- name: Setup rust
29+
run: rustup default ${{ matrix.rust-version }}
30+
2531
- name: Build default features
26-
run: cargo build
32+
run: cargo build --workspace
2733
- name: Test default features
28-
run: cargo test
34+
run: cargo test --workspace
35+
36+
- name: Test diagram
37+
run: cargo test --workspace -F=diagram
2938

3039
- name: Build single_threaded_async
3140
run: cargo build --features single_threaded_async
3241
- name: Test single_threaded_async
3342
run: cargo test --features single_threaded_async
43+
44+
- name: Build docs
45+
run: cargo doc --all-features
46+

.github/workflows/ci_windows.yaml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,15 @@ jobs:
3030
shell: powershell
3131

3232
- name: Build default features
33-
run: cargo build
33+
run: cargo build --workspace
3434
shell: cmd
3535

3636
- name: Test default features
37-
run: cargo test
37+
run: cargo test --workspace
38+
shell: cmd
39+
40+
- name: Test diagram
41+
run: cargo test --workspace -F=diagram
3842
shell: cmd
3943

4044
- name: Build single_threaded_async

Cargo.toml

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,15 @@ description = "Reactive programming and workflow execution for bevy"
88
readme = "README.md"
99
repository = "https://github.com/open-rmf/bevy_impulse"
1010
keywords = ["reactive", "workflow", "behavior", "agent", "bevy"]
11-
categories = ["science::robotics", "asynchronous", "concurrency", "game-development"]
11+
categories = [
12+
"science::robotics",
13+
"asynchronous",
14+
"concurrency",
15+
"game-development",
16+
]
1217

1318
[dependencies]
14-
bevy_impulse_derive = { path = "macros", version = "0.0.1" }
19+
bevy_impulse_derive = { path = "macros", version = "0.0.2" }
1520
bevy_ecs = "0.14"
1621
bevy_utils = "0.14"
1722
bevy_hierarchy = "0.14"
@@ -25,10 +30,9 @@ async-task = { version = "4.7.1", optional = true }
2530
# bevy_tasks::Task, so we're leaving it as a mandatory dependency for now.
2631
bevy_tasks = { version = "0.14", features = ["multi_threaded"] }
2732

28-
arrayvec = "0.7"
2933
itertools = "0.13"
3034
smallvec = "1.13"
31-
tokio = { version = "1.39", features = ["sync"]}
35+
tokio = { version = "1.39", features = ["sync"] }
3236
futures = "0.3"
3337
backtrace = "0.3"
3438
anyhow = "1.0"
@@ -42,8 +46,40 @@ thiserror = "1.0"
4246
bevy_core = "0.14"
4347
bevy_time = "0.14"
4448

49+
schemars = { version = "0.8.21", optional = true }
50+
serde = { version = "1.0.210", features = ["derive", "rc"], optional = true }
51+
serde_json = { version = "1.0.128", optional = true }
52+
cel-interpreter = { version = "0.9.0", features = ["json"], optional = true }
53+
tracing = "0.1.41"
54+
strum = { version = "0.26.3", optional = true, features = ["derive"] }
55+
semver = { version = "1.0.24", optional = true }
56+
57+
[target.wasm32-unknown-unknown.dependencies]
58+
uuid = { version = "1.13.1", default-features = false, features = ["js"] }
59+
getrandom = { version = "0.3.3", features = ["wasm_js"] }
60+
4561
[features]
4662
single_threaded_async = ["dep:async-task"]
63+
diagram = [
64+
"dep:cel-interpreter",
65+
"dep:schemars",
66+
"dep:semver",
67+
"dep:serde",
68+
"dep:serde_json",
69+
"dep:strum",
70+
]
4771

4872
[dev-dependencies]
4973
async-std = { version = "1.12" }
74+
test-log = { version = "0.2.16", features = [
75+
"trace",
76+
], default-features = false }
77+
78+
[workspace]
79+
members = ["examples/diagram/calculator"]
80+
81+
[[bin]]
82+
name = "generate_schema"
83+
path = "src/diagram/generate_schema.rs"
84+
required-features = ["diagram"]
85+
doc = false

README.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
[![style](https://github.com/open-rmf/bevy_impulse/actions/workflows/style.yaml/badge.svg)](https://github.com/open-rmf/bevy_impulse/actions/workflows/style.yaml)
2+
[![ci_linux](https://github.com/open-rmf/bevy_impulse/actions/workflows/ci_linux.yaml/badge.svg)](https://github.com/open-rmf/bevy_impulse/actions/workflows/ci_linux.yaml)
3+
[![ci_windows](https://github.com/open-rmf/bevy_impulse/actions/workflows/ci_windows.yaml/badge.svg)](https://github.com/open-rmf/bevy_impulse/actions/workflows/ci_windows.yaml)
4+
[![ci_web](https://github.com/open-rmf/bevy_impulse/actions/workflows/ci_web.yaml/badge.svg)](https://github.com/open-rmf/bevy_impulse/actions/workflows/ci_web.yaml)
5+
16
# Reactive Programming for Bevy
27

38
This library provides sophisticated [reactive programming](https://en.wikipedia.org/wiki/Reactive_programming) for the [bevy](https://bevyengine.org/) ECS. In addition to supporting one-shot chains of async operations, it can support reusable workflows with parallel branches, synchronization, races, and cycles. These workflows can be hierarchical, so a workflow can be used as a building block by other workflows.

0 commit comments

Comments
 (0)