diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..d4ed4be --- /dev/null +++ b/TODO.md @@ -0,0 +1,3 @@ +## dev-flutter TODO + +[ ] android sample app compiled during dev-init-android require dev-init-rust to be run first, make it rust-independent. diff --git a/dev-init/dev-init-rust.sh b/dev-init/dev-init-rust.sh index cefecbf..5b050a1 100755 --- a/dev-init/dev-init-rust.sh +++ b/dev-init/dev-init-rust.sh @@ -2,22 +2,22 @@ set -e -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" source "$SCRIPT_DIR/dev.env" -mkdir -p ${RUSTUP_HOME} ${CARGO_HOME} 2>/dev/null ||: +mkdir -p ${RUSTUP_HOME} ${CARGO_HOME} 2> /dev/null || : cd /tmp -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \ -rustup default stable +curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y \ + && rustup default stable rustup update rustup component add rustfmt clippy rustup target add wasm32-unknown-unknown rustup toolchain install nightly rustup component add rust-src --toolchain nightly-x86_64-unknown-linux-gnu -cargo install --version 2.6.0 flutter_rust_bridge_codegen +cargo install --version 2.12.0 flutter_rust_bridge_codegen cargo install cargo-expand cargo install wasm-pack @@ -26,9 +26,9 @@ dart --disable-analytics # Build demo project if present if [ -d "$RUST_SAMPLE_PROJECT" ]; then - "$RUST_SAMPLE_PROJECT/build.sh" + "$RUST_SAMPLE_PROJECT/build.sh" else - echo "No sample project found in $RUST_SAMPLE_PROJECT" + echo "No sample project found in $RUST_SAMPLE_PROJECT" fi echo "Rust development environment setup completed successfully!" diff --git a/projects/README.md b/projects/README.md new file mode 100644 index 0000000..52201c2 --- /dev/null +++ b/projects/README.md @@ -0,0 +1,5 @@ +# projects directory + +1. Clone your flutter project repo here. +2. Open parent (dev-flutter) dir in devcontainer. +3. Open cloned projects/yourproject in your IDE using the same container diff --git a/sample_projects/flutter_android_demo/build.sh b/sample_projects/flutter_android_demo/build.sh index e2dcf98..179ee94 100755 --- a/sample_projects/flutter_android_demo/build.sh +++ b/sample_projects/flutter_android_demo/build.sh @@ -1,7 +1,7 @@ #!/bin/bash -set -e # Exit on error -set -x # Print commands being executed +set -e # Exit on error +set -x # Print commands being executed cd "$(dirname "$0")" @@ -11,8 +11,12 @@ cd "$(dirname "$0")" flutter config --enable-android if [ ! -f lib/main.dart ]; then - flutter create -t app . - flutter_rust_bridge_codegen integrate + flutter create -t app . +fi + +# Run integrate if the config file is missing +if [ ! -f flutter_rust_bridge.yaml ]; then + flutter_rust_bridge_codegen integrate fi # Create project structure (this will add platform-specific files) @@ -45,4 +49,3 @@ flutter_rust_bridge_codegen generate # flutter_rust_bridge_codegen build-web flutter build apk --verbose -