diff --git a/tool/analyze.sh b/tool/analyze.sh index 6825b9c0..1294b78c 100644 --- a/tool/analyze.sh +++ b/tool/analyze.sh @@ -1,18 +1,7 @@ #!/bin/bash -cd .. +# Make foreach_module script executable, in case it isn't yet +chmod u+x foreach_module.sh -cd floor -flutter analyze -cd .. - -cd floor_annotation -dart analyze --fatal-infos --fatal-warnings . -cd .. - -cd floor_generator -dart analyze --fatal-infos --fatal-warnings . -cd .. - -cd example -flutter analyze +# Run dart analyze . on every module +./foreach_module.sh 'dart analyze --fatal-infos --fatal-warnings .' diff --git a/tool/foreach_module.sh b/tool/foreach_module.sh new file mode 100755 index 00000000..abba7b4d --- /dev/null +++ b/tool/foreach_module.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +# This script lists all Flutter module folders in this project. Next it iterates over them +# and runs the passed in command in every one of those folders. +# Example usage: ./foreach_module.sh 'dart analyze .' + +if [ $# -eq 0 ]; then + echo "No arguments supplied. Pass the desired command as a string argument. + For example: ./foreach_module.sh 'dart analyze .'" +fi + +# All Flutter module folders +folders=( + example + floor + floor_annotation + floor_common + floor_ffi + floor_generator +) + +# Navigate up one level from where this script lives +cd .. + +# Iterate over the modules +for folder in "${folders[@]}"; do + # Navigate to the module folder, or continue to the next one if that fails + cd "$folder" || continue; + # Run the passed in command + $1 + # Navigate back up to the root + cd .. +done diff --git a/tool/format.sh b/tool/format.sh index 89fd28f9..d9e6d817 100644 --- a/tool/format.sh +++ b/tool/format.sh @@ -1,18 +1,7 @@ #!/bin/bash -cd .. +# Make foreach_module script executable, in case it isn't yet +chmod u+x foreach_module.sh -cd floor -dart format . -cd .. - -cd floor_annotation -dart format . -cd .. - -cd floor_generator -dart format . -cd .. - -cd example -dart format . +# Run dart format . on every module +./foreach_module.sh 'dart format .' diff --git a/tool/generate.sh b/tool/generate.sh new file mode 100644 index 00000000..33b67633 --- /dev/null +++ b/tool/generate.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +# Make foreach_module script executable, in case it isn't yet +chmod u+x foreach_module.sh + +# Run build_runner on every module +./foreach_module.sh 'dart run build_runner build --delete-conflicting-outputs' diff --git a/tool/generate_example_database.sh b/tool/generate_example_database.sh deleted file mode 100644 index 61b39cf6..00000000 --- a/tool/generate_example_database.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -cd ../example -flutter packages pub run build_runner build --delete-conflicting-outputs diff --git a/tool/generate_test_database.sh b/tool/generate_test_database.sh deleted file mode 100644 index 82efa5cb..00000000 --- a/tool/generate_test_database.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -cd ../floor_common -flutter packages pub run build_runner build --delete-conflicting-outputs diff --git a/tool/get.sh b/tool/get.sh index 684381bd..52bd0a9b 100644 --- a/tool/get.sh +++ b/tool/get.sh @@ -1,18 +1,7 @@ #!/bin/bash -cd .. +# Make foreach_module script executable, in case it isn't yet +chmod u+x foreach_module.sh -cd floor -flutter packages pub get -cd .. - -cd floor_annotation -flutter packages pub get -cd .. - -cd floor_generator -flutter packages pub get -cd .. - -cd example -flutter packages pub get +# Run flutter packages pub get on every module +./foreach_module.sh 'flutter packages pub get' diff --git a/tool/upgrade.sh b/tool/upgrade.sh index c9f9edd7..76ad6f8b 100644 --- a/tool/upgrade.sh +++ b/tool/upgrade.sh @@ -1,22 +1,7 @@ #!/bin/bash -cd .. +# Make foreach_module script executable, in case it isn't yet +chmod u+x foreach_module.sh -cd floor -flutter packages pub upgrade -cd .. - -cd floor_common -flutter packages pub upgrade -cd .. - -cd floor_annotation -flutter packages pub upgrade -cd .. - -cd floor_generator -flutter packages pub upgrade -cd .. - -cd example -flutter packages pub upgrade +# Run flutter packages pub upgrade on every module +./foreach_module.sh 'flutter packages pub upgrade'