gn2bp: Add rule to replace arg by $(out)

To support //base:build_date

Test: ./update_result.sh, m cronet_aml_base_build_date
Change-Id: Ieacf0d47738f2ca32b3bec5415ac95b02b39c322
diff --git a/tools/gn2bp/Android.bp.swp b/tools/gn2bp/Android.bp.swp
index aa9015a..938d492 100644
--- a/tools/gn2bp/Android.bp.swp
+++ b/tools/gn2bp/Android.bp.swp
@@ -53,6 +53,18 @@
     ],
 }
 
+// GN: //base:build_date
+genrule {
+    name: "cronet_aml_base_build_date",
+    cmd: "$(location build/write_build_date_header.py) $(out) 1664686800",
+    out: [
+        "base/generated_build_date.h",
+    ],
+    tool_files: [
+        "build/write_build_date_header.py",
+    ],
+}
+
 // GN: //build:buildflag_header_h
 filegroup {
     name: "cronet_aml_build_buildflag_header_h",
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index 7c7783b..dd9adee 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -684,7 +684,7 @@
   # Replace arg by {$out} if possible
   if len(target.outputs) == 1:
     out = list(target.outputs)[0]
-    target.args = ['$(out)' if arg == out else arg for arg in target.args]
+    target.args = ['$(out)' if arg == out or arg == 'gen/' + out else arg for arg in target.args]
 
   # Handle passing parameters via response file by piping them into the script
   # and reading them from /dev/stdin.
diff --git a/tools/gn2bp/update_results.sh b/tools/gn2bp/update_results.sh
index 58f0600..6b46ea2 100755
--- a/tools/gn2bp/update_results.sh
+++ b/tools/gn2bp/update_results.sh
@@ -15,6 +15,7 @@
   "//third_party/zlib:zlib"
   "//third_party/libevent:libevent"
   "//base:base_static"
+  "//base:build_date"
 )
 
 BASEDIR=$(dirname "$0")