finalization: step-*.sh: optionally skip `repo upload`

Teach the step-*.sh scripts to parse command line options. Add support
for --dry-run, which will skip the part where the CLs are uploaded:
useful for local experiments.

Bug: 323940469
Test: croot && build/tools/finalization/step-1.sh --dry-run # verify no CLs uploaded
Ignore-AOSP-first: VIC finalization happens outside AOSP
Change-Id: Ia58da02ae7a69c24f8332c90d1c779884e3a1dab
diff --git a/tools/finalization/step-1.sh b/tools/finalization/step-1.sh
index abfd3b8..ea947b9 100755
--- a/tools/finalization/step-1.sh
+++ b/tools/finalization/step-1.sh
@@ -13,12 +13,13 @@
                        -m "Ignore-AOSP-First: $FINAL_PLATFORM_CODENAME Finalization
 Bug: $FINAL_BUG_ID
 Test: build";
-            repo upload --cbr --no-verify -o nokeycheck -t -y . ;
+            repo upload '"$repo_upload_dry_run_arg"' --cbr --no-verify -o nokeycheck -t -y . ;
         fi'
 }
 
 function finalize_step_1_main() {
     local top="$(dirname "$0")"/../../../..
+    source $top/build/make/tools/finalization/command-line-options.sh
     source $top/build/make/tools/finalization/environment.sh
 
     source $top/build/make/tools/finalization/finalize-sdk-resources.sh
@@ -34,4 +35,4 @@
     AIDL_FROZEN_REL=true $m_fina
 }
 
-finalize_step_1_main
+finalize_step_1_main $@