Fixes for windows, and a task to test building the basicapp example on Windows with bazelci.

Closes #235

PiperOrigin-RevId: 638357222
Change-Id: I3aacf27ba2799294d3bbe2ca3ce72bf15bdc3d0f
diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml
index a2de2d3..a59aec3 100644
--- a/.bazelci/presubmit.yml
+++ b/.bazelci/presubmit.yml
@@ -133,3 +133,13 @@
       ? "--enable_bzlmod"
     build_targets:
       - "//java/com/basicapp:basic_app"
+  windows_basicapp_bzlmod:
+    name: "Windows Basicapp Bzlmod"
+    platform: windows
+    name: basicapp
+    working_directory: examples/basicapp
+    build_flags:
+      <<: *rules_flags
+      ? "--enable_bzlmod"
+    build_targets:
+      - "//java/com/basicapp:basic_app"
\ No newline at end of file
diff --git a/rules/android_sdk_repository/helper.bzl b/rules/android_sdk_repository/helper.bzl
index da875d1..ebcf1c0 100644
--- a/rules/android_sdk_repository/helper.bzl
+++ b/rules/android_sdk_repository/helper.bzl
@@ -57,7 +57,7 @@
     if not native.existing_rule(name):
         native.config_setting(
             name = name,
-            values = {"host_cpu": "x64_" + name},
+            constraint_values = ["@platforms//os:windows"],
         )
 
     native.config_setting(
@@ -324,14 +324,28 @@
             ],
         )
 
-    native.sh_binary(
-        name = "fail",
-        srcs = select({
-            ":windows": [":generate_fail_cmd"],
-            "//conditions:default": [":generate_fail_sh"],
+    # For the default Android toolchain //toolchains/android:android_default
+    native.alias(
+        name = "aapt2",
+        actual = select({
+            ":windows": "build-tools/%s/aapt2.exe" % build_tools_directory,
+            "//conditions:default": ":aapt2_binary",
         }),
     )
 
+    native.alias(
+        name = "fail",
+        actual = select({
+            ":windows": ":windows_fail.cmd",
+            "//conditions:default": ":bash_fail",
+        }),
+    )
+
+    native.sh_binary(
+        name = "bash_fail",
+        srcs = [":generate_fail_sh"],
+    )
+
     native.genrule(
         name = "generate_fail_sh",
         outs = ["fail.sh"],
@@ -339,6 +353,11 @@
         executable = 1,
     )
 
+    native.sh_binary(
+        name = "windows_fail.cmd",
+        srcs = [":generate_fail_cmd"],
+    )
+
     native.genrule(
         name = "generate_fail_cmd",
         outs = ["fail.cmd"],
diff --git a/toolchains/android/toolchain.bzl b/toolchains/android/toolchain.bzl
index 196863a..6eaf9ba 100644
--- a/toolchains/android/toolchain.bzl
+++ b/toolchains/android/toolchain.bzl
@@ -18,7 +18,7 @@
     aapt2 = attr.label(
         allow_files = True,
         cfg = "exec",
-        default = "@androidsdk//:aapt2_binary",
+        default = "@androidsdk//:aapt2",
     ),
     aar_import_checks = attr.label(
         allow_single_file = True,