mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-26 21:39:07 +00:00
Merge pull request #3943 from sandprickle/move-examples-3912
Move Platform Examples (3912)
This commit is contained in:
commit
1272503bec
11 changed files with 24 additions and 43 deletions
|
@ -386,7 +386,7 @@ mod cli_run {
|
|||
// We exclude the C platforming switching example
|
||||
// because the main platform switching example runs the c platform.
|
||||
// If we don't a race condition leads to test flakiness.
|
||||
// platformSwitchingC:"platform-switching/c-platform" => Example {
|
||||
// platformSwitchingC:"platform-switching" => Example {
|
||||
// filename: "rocLovesC.roc",
|
||||
// executable_filename: "rocLovesC",
|
||||
// stdin: &[],
|
||||
|
@ -394,7 +394,7 @@ mod cli_run {
|
|||
// expected_ending:"Roc <3 C!\n",
|
||||
// use_valgrind: true,
|
||||
// },
|
||||
platformSwitchingRust:"platform-switching/rust-platform" => Example {
|
||||
platformSwitchingRust:"platform-switching" => Example {
|
||||
filename: "rocLovesRust.roc",
|
||||
executable_filename: "rocLovesRust",
|
||||
stdin: &[],
|
||||
|
@ -402,7 +402,7 @@ mod cli_run {
|
|||
expected_ending:"Roc <3 Rust!\n",
|
||||
use_valgrind: true,
|
||||
},
|
||||
platformSwitchingSwift:"platform-switching/swift-platform" => Example {
|
||||
platformSwitchingSwift:"platform-switching" => Example {
|
||||
filename: "rocLovesSwift.roc",
|
||||
executable_filename: "rocLovesSwift",
|
||||
stdin: &[],
|
||||
|
@ -410,7 +410,7 @@ mod cli_run {
|
|||
expected_ending:"Roc <3 Swift!\n",
|
||||
use_valgrind: true,
|
||||
},
|
||||
platformSwitchingWebAssembly:"platform-switching/web-assembly-platform" => Example {
|
||||
platformSwitchingWebAssembly:"platform-switching" => Example {
|
||||
filename: "rocLovesWebAssembly.roc",
|
||||
executable_filename: "rocLovesWebAssembly",
|
||||
stdin: &[],
|
||||
|
@ -418,7 +418,7 @@ mod cli_run {
|
|||
expected_ending:"Roc <3 Web Assembly!\n",
|
||||
use_valgrind: true,
|
||||
},
|
||||
platformSwitchingZig:"platform-switching/zig-platform" => Example {
|
||||
platformSwitchingZig:"platform-switching" => Example {
|
||||
filename: "rocLovesZig.roc",
|
||||
executable_filename: "rocLovesZig",
|
||||
stdin: &[],
|
||||
|
@ -821,25 +821,6 @@ mod cli_run {
|
|||
if entry.file_type().unwrap().is_dir() {
|
||||
let example_dir_name = entry.file_name().into_string().unwrap();
|
||||
|
||||
// TODO: Improve this with a more-dynamic approach. (Read all subdirectories?)
|
||||
// Some platform-switching examples live in nested directories
|
||||
if example_dir_name == "platform-switching" {
|
||||
for sub_dir in [
|
||||
// We exclude the C platforming switching example
|
||||
// because the main platform switching example runs the c platform.
|
||||
// If we don't a race condition leads to test flakiness.
|
||||
// "c-platform",
|
||||
"rust-platform",
|
||||
"swift-platform",
|
||||
"web-assembly-platform",
|
||||
"zig-platform",
|
||||
] {
|
||||
all_examples.remove(format!("{}/{}", example_dir_name, sub_dir).as_str()).unwrap_or_else(|| {
|
||||
panic!("The example directory {}/{}/{} does not have any corresponding tests in cli_run. Please add one, so if it ever stops working, we'll know about it right away!", examples_dir, example_dir_name, sub_dir);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// We test benchmarks separately
|
||||
if example_dir_name != "benchmarks" {
|
||||
all_examples.remove(example_dir_name.as_str()).unwrap_or_else(|| {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
app "rocLovesC"
|
||||
packages { pf: "main.roc" }
|
||||
packages { pf: "c-platform/main.roc" }
|
||||
imports []
|
||||
provides [main] to pf
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
app "rocLovesRust"
|
||||
packages { pf: "main.roc" }
|
||||
packages { pf: "rust-platform/main.roc" }
|
||||
imports []
|
||||
provides [main] to pf
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
app "rocLovesSwift"
|
||||
packages { pf: "main.roc" }
|
||||
packages { pf: "swift-platform/main.roc" }
|
||||
imports []
|
||||
provides [main] to pf
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
app "rocLovesWebAssembly"
|
||||
packages { pf: "main.roc" }
|
||||
packages { pf: "web-assembly-platform/main.roc" }
|
||||
imports []
|
||||
provides [main] to pf
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
app "rocLovesZig"
|
||||
packages { pf: "main.roc" }
|
||||
packages { pf: "zig-platform/main.roc" }
|
||||
imports []
|
||||
provides [main] to pf
|
||||
|
|
@ -3,8 +3,8 @@
|
|||
To run this website, first compile either of these identical apps:
|
||||
|
||||
```bash
|
||||
# Option A: Compile examples/platform-switching/web-assembly-platform/rocLovesWebAssembly.roc
|
||||
cargo run -- build --target=wasm32 examples/platform-switching/web-assembly-platform/rocLovesWebAssembly.roc
|
||||
# Option A: Compile examples/platform-switching/rocLovesWebAssembly.roc
|
||||
cargo run -- build --target=wasm32 examples/platform-switching/rocLovesWebAssembly.roc
|
||||
|
||||
# Option B: Compile examples/platform-switching/main.roc with `pf: "web-assembly-platform/main.roc"` and move the result
|
||||
cargo run -- build --target=wasm32 examples/platform-switching/main.roc
|
||||
|
|
|
@ -38,9 +38,9 @@
|
|||
|
||||
```sh
|
||||
# Note: If you installed Rust in this terminal session, you'll need to open a new one first!
|
||||
./roc examples/platform-switching/rust-platform/rocLovesRust.roc
|
||||
./roc examples/platform-switching/rocLovesRust.roc
|
||||
|
||||
./roc examples/platform-switching/zig-platform/rocLovesZig.roc
|
||||
./roc examples/platform-switching/rocLovesZig.roc
|
||||
|
||||
./roc examples/platform-switching/c-platform/rocLovesC.roc
|
||||
./roc examples/platform-switching/rocLovesC.roc
|
||||
```
|
||||
|
|
|
@ -34,9 +34,9 @@
|
|||
|
||||
```sh
|
||||
# Note: If you installed rust in this terminal session, you'll need to open a new one first!
|
||||
./roc examples/platform-switching/rust-platform/rocLovesRust.roc
|
||||
./roc examples/platform-switching/rocLovesRust.roc
|
||||
|
||||
./roc examples/platform-switching/zig-platform/rocLovesZig.roc
|
||||
./roc examples/platform-switching/rocLovesZig.roc
|
||||
|
||||
./roc examples/platform-switching/c-platform/rocLovesC.roc
|
||||
./roc examples/platform-switching/rocLovesC.roc
|
||||
```
|
||||
|
|
|
@ -34,9 +34,9 @@
|
|||
|
||||
```sh
|
||||
# Note: If you installed rust in this terminal session, you'll need to open a new one first!
|
||||
./roc examples/platform-switching/rust-platform/rocLovesRust.roc
|
||||
./roc examples/platform-switching/rocLovesRust.roc
|
||||
|
||||
./roc examples/platform-switching/zig-platform/rocLovesZig.roc
|
||||
./roc examples/platform-switching/rocLovesZig.roc
|
||||
|
||||
./roc examples/platform-switching/c-platform/rocLovesC.roc
|
||||
./roc examples/platform-switching/rocLovesC.roc
|
||||
```
|
||||
|
|
|
@ -7,11 +7,11 @@
|
|||
1. Run examples:
|
||||
|
||||
```sh
|
||||
cargo run examples/platform-switching/rust-platform/rocLovesRust.roc
|
||||
cargo run examples/platform-switching/rocLovesRust.roc
|
||||
|
||||
# This requires installing the Zig compiler, too.
|
||||
cargo run examples/platform-switching/zig-platform/rocLovesZig.roc
|
||||
cargo run examples/platform-switching/rocLovesZig.roc
|
||||
|
||||
# This requires installing the `clang` C compiler, too.
|
||||
cargo run examples/platform-switching/c-platform/rocLovesC.roc
|
||||
cargo run examples/platform-switching/rocLovesC.roc
|
||||
```
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue