# HG changeset patch # User MrJuneJune # Date 1765665291 28800 # Node ID 3e0e27684e6b116c3355f876c80124dd17f02bd0 # Parent 2b11e044904275cfd5621039ff36019884b9f31f [Gara] Remove unwanted bazel tutorial. diff -r 2b11e0449042 -r 3e0e27684e6b MODULE.bazel.lock --- a/MODULE.bazel.lock Sat Dec 13 14:24:20 2025 -0800 +++ b/MODULE.bazel.lock Sat Dec 13 14:34:51 2025 -0800 @@ -1,5 +1,5 @@ { - "lockFileVersion": 18, + "lockFileVersion": 24, "registryFileHashes": { "https://bcr.bazel.build/bazel_registry.json": "8a28e4aff06ee60aed2a8c281907fb8bcbf3b753c91fb5a5c57da3215d5b3497", "https://bcr.bazel.build/modules/abseil-cpp/20210324.2/MODULE.bazel": "7cd0312e064fde87c8d1cd79ba06c876bd23630c83466e9500321be55c96ace2", @@ -228,139 +228,9 @@ }, "selectedYankedVersions": {}, "moduleExtensions": { - "@@rules_android+//bzlmod_extensions:apksig.bzl%apksig_extension": { - "general": { - "bzlTransitiveDigest": "oNxmR17oNBDtqdMtQ04f77G1dxpDmcW7KbgGb9I5vp0=", - "usagesDigest": "xq6OVkELeJvOgYo3oY/sUBsGFbcqdV+9BYiNgSPV/po=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "apksig": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "url": "https://android.googlesource.com/platform/tools/apksig/+archive/24e3075e68ebe17c0b529bb24bfda819db5e2f3b.tar.gz", - "build_file": "@@rules_android+//bzlmod_extensions:apksig.BUILD" - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_android+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@rules_android+//bzlmod_extensions:com_android_dex.bzl%com_android_dex_extension": { - "general": { - "bzlTransitiveDigest": "Rux2kPXUP93tJLEXkVk6q0CHomvsLAuRfqBNU8xddsY=", - "usagesDigest": "toF8IFMu98H/VU2p1sfVC5fVXVYJunpbbmtM6tOsQXY=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "com_android_dex": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "url": "https://android.googlesource.com/platform/dalvik/+archive/5a81c499a569731e2395f7c8d13c0e0d4e17a2b6.tar.gz", - "build_file": "@@rules_android+//bzlmod_extensions:com_android_dex.BUILD" - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_android+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, - "@@rules_android+//rules/android_sdk_repository:rule.bzl%android_sdk_repository_extension": { - "general": { - "bzlTransitiveDigest": "NAy+0M15JNVEBb8Tny6t7j3lKqTnsAMjoBB6LJ+C370=", - "usagesDigest": "tlM6Rz21gFEpklCcIOkDKx/ZrNI73GNcLQbFpFksIBI=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "androidsdk": { - "repoRuleId": "@@rules_android+//rules/android_sdk_repository:rule.bzl%_android_sdk_repository", - "attributes": {} - } - }, - "recordedRepoMappingEntries": [] - } - }, - "@@rules_kotlin+//src/main/starlark/core/repositories:bzlmod_setup.bzl%rules_kotlin_extensions": { - "general": { - "bzlTransitiveDigest": "OlvsB0HsvxbR8ZN+J9Vf00X/+WVz/Y/5Xrq2LgcVfdo=", - "usagesDigest": "QI2z8ZUR+mqtbwsf2fLqYdJAkPOHdOV+tF2yVAUgRzw=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "com_github_jetbrains_kotlin_git": { - "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:compiler.bzl%kotlin_compiler_git_repository", - "attributes": { - "urls": [ - "https://github.com/JetBrains/kotlin/releases/download/v1.9.23/kotlin-compiler-1.9.23.zip" - ], - "sha256": "93137d3aab9afa9b27cb06a824c2324195c6b6f6179d8a8653f440f5bd58be88" - } - }, - "com_github_jetbrains_kotlin": { - "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:compiler.bzl%kotlin_capabilities_repository", - "attributes": { - "git_repository_name": "com_github_jetbrains_kotlin_git", - "compiler_version": "1.9.23" - } - }, - "com_github_google_ksp": { - "repoRuleId": "@@rules_kotlin+//src/main/starlark/core/repositories:ksp.bzl%ksp_compiler_plugin_repository", - "attributes": { - "urls": [ - "https://github.com/google/ksp/releases/download/1.9.23-1.0.20/artifacts.zip" - ], - "sha256": "ee0618755913ef7fd6511288a232e8fad24838b9af6ea73972a76e81053c8c2d", - "strip_version": "1.9.23-1.0.20" - } - }, - "com_github_pinterest_ktlint": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_file", - "attributes": { - "sha256": "01b2e0ef893383a50dbeb13970fe7fa3be36ca3e83259e01649945b09d736985", - "urls": [ - "https://github.com/pinterest/ktlint/releases/download/1.3.0/ktlint" - ], - "executable": true - } - }, - "rules_android": { - "repoRuleId": "@@bazel_tools//tools/build_defs/repo:http.bzl%http_archive", - "attributes": { - "sha256": "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806", - "strip_prefix": "rules_android-0.1.1", - "urls": [ - "https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip" - ] - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_kotlin+", - "bazel_tools", - "bazel_tools" - ] - ] - } - }, "@@rules_python+//python/extensions:config.bzl%config": { "general": { - "bzlTransitiveDigest": "xaCns8Qt+8bJqVLy8r6nc/eL2AjEIX/vOdjqoh5xYac=", + "bzlTransitiveDigest": "W97kKxM+lW7l/kO0rQa7Jm31CA1j+W1bNHGKjwX5xMg=", "usagesDigest": "ZVSXMAGpD+xzVNPuvF1IoLBkty7TROO0+akMapt1pAg=", "recordedFileInputs": {}, "recordedDirentsInputs": {}, @@ -592,47 +462,7 @@ ] ] } - }, - "@@rules_python+//python/uv:uv.bzl%uv": { - "general": { - "bzlTransitiveDigest": "N8SCcKcL6KnzBLApxvY2jR9vhXjA2VCBZMLZfY3sDRA=", - "usagesDigest": "H8dQoNZcoqP+Mu0tHZTi4KHATzvNkM5ePuEqoQdklIU=", - "recordedFileInputs": {}, - "recordedDirentsInputs": {}, - "envVariables": {}, - "generatedRepoSpecs": { - "uv": { - "repoRuleId": "@@rules_python+//python/uv/private:uv_toolchains_repo.bzl%uv_toolchains_repo", - "attributes": { - "toolchain_type": "'@@rules_python+//python/uv:uv_toolchain_type'", - "toolchain_names": [ - "none" - ], - "toolchain_implementations": { - "none": "'@@rules_python+//python:none'" - }, - "toolchain_compatible_with": { - "none": [ - "@platforms//:incompatible" - ] - }, - "toolchain_target_settings": {} - } - } - }, - "recordedRepoMappingEntries": [ - [ - "rules_python+", - "bazel_tools", - "bazel_tools" - ], - [ - "rules_python+", - "platforms", - "platforms" - ] - ] - } } - } + }, + "facts": {} } diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/.bazelrc --- a/gara/android/firebase-cloud-messaging/.bazelrc Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ -common --enable_workspace -common --experimental_google_legacy_api -common --experimental_enable_android_migration_apis -# Necesary until bazel 7.2.0rc2 or later is released (https://github.com/bazelbuild/bazel/issues/22415) -common --nocheck_visibility diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/.bazelversion --- a/gara/android/firebase-cloud-messaging/.bazelversion Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -7.2.0rc1 diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/BUILD --- a/gara/android/firebase-cloud-messaging/BUILD Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ -platform( - name = "arm64-v8a", - constraint_values = [ - "@platforms//cpu:arm64", - "@platforms//os:android", - ], -) diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/README.md --- a/gara/android/firebase-cloud-messaging/README.md Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,96 +0,0 @@ - -# Bazel Firebase Cloud Messaging (FCM) example - -FCM requires certain information about your app (API key, app ID, project id, -etc) to be present in the `res/values/values.xml` resource file. This example -shows how to use the tools provided in the -[bazelbuild/tools_android](https://github.com/bazelbuild/tools_android) repo to -generate the `values.xml` file from the `google-services.json` file from your -Firebase console. - -## Building the Example - -To build the example: - -1. Make sure the `ANDROID_HOME` environment variable is set to the absolute path - of your Android SDK. - -2. Go to the Firebase console for your project, and in Settings, download - `google-service.json`, and replace the sample file in the `app` directory. - -3. Run `bazel build //app` in the project. - -## Applying the Example to Your Code - -To apply this example to your code: - -1. Add the following to your `WORKSPACE` file: -```python -TOOLS_ANDROID_VERSION = "0.1" -http_archive( - name = "tools_android", - strip_prefix = "tools_android-" + TOOLS_ANDROID_VERSION, - url = "https://github.com/bazelbuild/tools_android/archive/%s.tar.gz" % TOOLS_ANDROID_VERSION, -) -load("@tools_android//tools/googleservices:defs.bzl", "google_services_workspace_dependencies") -google_services_workspace_dependencies() -``` - -2. Add the following to your `BUILD` file: -```python -load("@tools_android//tools/googleservices:defs.bzl", "google_services_xml") - -GOOGLE_SERVICES_XML = google_services_xml( - package_name = "com.example.myapplication", - google_services_json = "google-services.json" -) -``` - -3. Add `GOOGLE_SERVICES_XML` to the `resource_files` attribute of your - `android_binary` rule. For example: -```python -android_binary( - ... - resource_files = glob(["src/main/res/**"]) + GOOGLE_SERVICES_XML, - ... -) -``` - -4. Bazel's `AndroidManifest.xml` merging logic does not merge permissions from - dependent libraries (see issue [#5411](https://github.com/bazelbuild/bazel/issues/5411)). - You may need to add the following permissions to the `AndroidManifest.xml` of - your top-level `android_binary` rule: -```xml - - - - -``` - -## Manual Integration - -It's also possible to run the Google Services values.xml generator manually and -add the results to your project: - -1. Go to the Firebase console for your project, and in Settings, download - `google-service.json`. - -2. From the workspace root of the `tools_android` project, run the Google - Services XML generator: -``` - bazel run //third_party/googleservices:GenerateGoogleServicesXml -- \ - com.example.myapplication \ - /absolute/path/to/google-services.json \ - /tmp/values.xml -``` - The arguments are the package name for your app, the absolute file path to - the `google-services.json` file, and finally the file path for `values.xml`. - -3. Merge the resulting `values.xml` file into your `values.xml` file (or put the - file into your `res/values` directory if you don't already have a - `values.xml` file). Alternatively, the `values.xml` file can be put into a - separate `res/values` directory and added to the `resource_files`. For the - example here, if `values.xml` is in - `app/src/main/google_services_xml/res/values/values.xml`, the `BUILD` file - would have - `resource_files = glob(["src/main/res/**"]) + ["src/main/google_services_xml/res/values/values.xml"],`. diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/WORKSPACE --- a/gara/android/firebase-cloud-messaging/WORKSPACE Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,81 +0,0 @@ -# FIXME(alexeagle): move to bzlmod -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") - -RULES_JVM_EXTERNAL_TAG = "5.3" - -RULES_JVM_EXTERNAL_SHA = "d31e369b854322ca5098ea12c69d7175ded971435e55c18dd9dd5f29cc5249ac" - -http_archive( - name = "rules_jvm_external", - sha256 = RULES_JVM_EXTERNAL_SHA, - strip_prefix = "rules_jvm_external-%s" % RULES_JVM_EXTERNAL_TAG, - url = - "https://github.com/bazelbuild/rules_jvm_external/releases/download/%s/rules_jvm_external-%s.tar.gz" % (RULES_JVM_EXTERNAL_TAG, RULES_JVM_EXTERNAL_TAG), -) - -load("@rules_jvm_external//:defs.bzl", "maven_install") - -maven_install( - aar_import_bzl_label = "@rules_android//rules:rules.bzl", - artifacts = [ - "com.google.firebase:firebase-messaging:17.0.0", - "com.android.support:appcompat-v7:26.1.0", - "com.android.support.constraint:constraint-layout:1.0.2", - "com.google.code.gson:gson:2.8.2", - ], - # See https://github.com/bazelbuild/rules_jvm_external/#repository-aliases - # This can be removed if none of your external dependencies uses `maven_jar`. - generate_compat_repositories = True, - repositories = [ - "https://jcenter.bintray.com", - "https://maven.google.com", - "https://repo1.maven.org/maven2", - ], - use_starlark_android_rules = True, - version_conflict_policy = "pinned", -) - -load("@maven//:compat.bzl", "compat_repositories") - -compat_repositories() - -TOOLS_ANDROID_COMMIT = "0e864ba5a86958513658250de587416d8e17c481" - -http_archive( - name = "tools_android", - repo_mapping = { - "@com_google_code_gson_2_8_2": "@com_google_code_gson_gson", - }, - sha256 = "57c50d6331ba578fc8adfcede20ef12b437cb4cc2edf60c852e4b834eefee5fc", - strip_prefix = "tools_android-" + TOOLS_ANDROID_COMMIT, - url = "https://github.com/bazelbuild/tools_android/archive/%s.tar.gz" % TOOLS_ANDROID_COMMIT, -) - -RULES_ANDROID_COMMIT = "93e27030d3f0defa39cbbc35195638cb772b0c27" - -http_archive( - name = "rules_android", - sha256 = "71cae2413868a24f17d43fd595af6f3905d2e5b3235f76514f54800bfd90c903", - strip_prefix = "rules_android-" + RULES_ANDROID_COMMIT, - urls = ["https://github.com/bazelbuild/rules_android/archive/%s.zip" % RULES_ANDROID_COMMIT], -) - -load("@rules_android//:prereqs.bzl", "rules_android_prereqs") - -rules_android_prereqs() - -load("@rules_android//:defs.bzl", "rules_android_workspace") - -rules_android_workspace() - -load("@rules_android//rules:rules.bzl", "android_sdk_repository") - -# Requires that the ANDROID_HOME environment variable is set to the Android SDK path. -android_sdk_repository( - name = "androidsdk", -) - -register_toolchains( - "@rules_android//toolchains/android:android_default_toolchain", - "@rules_android//toolchains/android_sdk:android_sdk_tools", -) diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/app/BUILD --- a/gara/android/firebase-cloud-messaging/app/BUILD Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -load("@rules_android//android:rules.bzl", "android_binary") -load("@tools_android//tools/googleservices:defs.bzl", "google_services_xml") - -GOOGLE_SERVICES_XML = google_services_xml( - package_name = "com.example.myapplication", - google_services_json = "google-services.json", -) - -android_binary( - name = "app", - srcs = glob(["src/main/java/**/*.java"]), - # this sets the java package for the R class, since this android_binary - # rule isn't under a java root (i.e., some directory named "java" for the - # root of the java code for the app). - custom_package = "com.example.myapplication", - manifest = "src/main/AndroidManifest.xml", - manifest_values = { - "minSdkVersion": "15", - "applicationId": "com.example.myapplication", - }, - resource_files = glob(["src/main/res/**"]) + GOOGLE_SERVICES_XML, - deps = [ - "@maven//:com_google_firebase_firebase_messaging", - "@maven//:com_google_firebase_firebase_iid", - "@maven//:com_android_support_appcompat_v7", - # activity_main layout uses contraints - "@maven//:com_android_support_constraint_constraint_layout", - ], -) diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/app/google-services.json --- a/gara/android/firebase-cloud-messaging/app/google-services.json Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -{ - "project_info": { - "project_number": "12345678901", - "firebase_url": "https://replace.with.your.project.example.com", - "project_id": "example-123", - "storage_bucket": "replace.with.your.project.example.org" - }, - "client": [ - { - "client_info": { - "mobilesdk_app_id": "1:12345678901:android:abcdef1111111111", - "android_client_info": { - "package_name": "com.example.myapplication" - } - }, - "oauth_client": [ - { - "client_id": "12345678901-abcdabcdabcdabcdabcdabcdabcdabcd.apps.googleusercontent.com", - "client_type": 1 - } - ], - "api_key": [ - { - "current_key": "abcdef12345678901_abcdef123456_abcdef12" - } - ], - "services": { - "analytics_service": { - "status": 1 - }, - "appinvite_service": { - "status": 1, - "other_platform_oauth_client": [] - }, - "ads_service": { - "status": 2 - } - } - } - ], - "configuration_version": "1" -} diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/app/src/main/AndroidManifest.xml --- a/gara/android/firebase-cloud-messaging/app/src/main/AndroidManifest.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/app/src/main/java/com/example/myapplication/MainActivity.java --- a/gara/android/firebase-cloud-messaging/app/src/main/java/com/example/myapplication/MainActivity.java Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ -package com.example.myapplication; - -import android.support.v7.app.AppCompatActivity; -import android.os.Bundle; -import android.util.Log; - -import com.google.firebase.iid.FirebaseInstanceId; - -public class MainActivity extends AppCompatActivity { - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - - Log.i("myapp", "token: " + FirebaseInstanceId.getInstance().getToken()); - } -} diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/app/src/main/java/com/example/myapplication/MyFirebaseInstanceIdService.java --- a/gara/android/firebase-cloud-messaging/app/src/main/java/com/example/myapplication/MyFirebaseInstanceIdService.java Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ -package com.example.myapplication; - -import android.util.Log; - -import com.google.firebase.iid.FirebaseInstanceId; -import com.google.firebase.iid.FirebaseInstanceIdService; - -public class MyFirebaseInstanceIdService extends FirebaseInstanceIdService { - @Override - public void onTokenRefresh() { - // Get updated InstanceID token. - String refreshedToken = FirebaseInstanceId.getInstance().getToken(); - Log.d("myapp", "Refreshed token: " + refreshedToken); - - // If you want to send messages to this application instance or - // manage this apps subscriptions on the server side, send the - // Instance ID token to your app server. - } - -} - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/app/src/main/java/com/example/myapplication/MyFirebaseMessagingService.java --- a/gara/android/firebase-cloud-messaging/app/src/main/java/com/example/myapplication/MyFirebaseMessagingService.java Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ -package com.example.myapplication; - -import android.util.Log; - -import com.google.firebase.messaging.FirebaseMessagingService; -import com.google.firebase.messaging.RemoteMessage; - -public class MyFirebaseMessagingService extends FirebaseMessagingService { - @Override - public void onMessageReceived(RemoteMessage remoteMessage) { - - // TODO(developer): Handle FCM messages here. - // Not getting messages here? See why this may be: https://goo.gl/39bRNJ - Log.d("myapp", "From: " + remoteMessage.getFrom()); - - // Check if message contains a data payload. - if (remoteMessage.getData().size() > 0) { - Log.d("myapp", "Message data payload: " + remoteMessage.getData()); - - if (/* Check if data needs to be processed by long running job */ true) { - // For long-running tasks (10 seconds or more) use Firebase Job Dispatcher. - //scheduleJob(); - } else { - // Handle message within 10 seconds - //handleNow(); - } - - } - - // Check if message contains a notification payload. - if (remoteMessage.getNotification() != null) { - Log.d("myapp", "Message Notification Body: " + remoteMessage.getNotification().getBody()); - } - - // Also if you intend on generating your own notifications as a result of a received FCM - // message, here is where that should be initiated. See sendNotification method below. - } - -} diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/app/src/main/res/drawable-v24/ic_launcher_foreground.xml --- a/gara/android/firebase-cloud-messaging/app/src/main/res/drawable-v24/ic_launcher_foreground.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ - - - - - - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/app/src/main/res/drawable/ic_launcher_background.xml --- a/gara/android/firebase-cloud-messaging/app/src/main/res/drawable/ic_launcher_background.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/app/src/main/res/layout/activity_main.xml --- a/gara/android/firebase-cloud-messaging/app/src/main/res/layout/activity_main.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,18 +0,0 @@ - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml --- a/gara/android/firebase-cloud-messaging/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml --- a/gara/android/firebase-cloud-messaging/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/app/src/main/res/mipmap-mdpi/ic_launcher.png Binary file gara/android/firebase-cloud-messaging/app/src/main/res/mipmap-mdpi/ic_launcher.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/app/src/main/res/mipmap-mdpi/ic_launcher_round.png Binary file gara/android/firebase-cloud-messaging/app/src/main/res/mipmap-mdpi/ic_launcher_round.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/app/src/main/res/values/colors.xml --- a/gara/android/firebase-cloud-messaging/app/src/main/res/values/colors.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ - - - #3F51B5 - #303F9F - #FF4081 - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/app/src/main/res/values/strings.xml --- a/gara/android/firebase-cloud-messaging/app/src/main/res/values/strings.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ - - My Application - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/firebase-cloud-messaging/app/src/main/res/values/styles.xml --- a/gara/android/firebase-cloud-messaging/app/src/main/res/values/styles.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/.bazelversion --- a/gara/android/jetpack-compose/.bazelversion Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -6.5.0 diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/BUILD.bazel --- a/gara/android/jetpack-compose/BUILD.bazel Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -load("@io_bazel_rules_kotlin//kotlin:core.bzl", "kt_compiler_plugin") - -kt_compiler_plugin( - name = "jetpack_compose_compiler_plugin", - id = "androidx.compose.compiler", - target_embedded_compiler = True, - visibility = ["//visibility:public"], - deps = ["@maven//:androidx_compose_compiler_compiler"], -) - -platform( - name = "arm64-v8a", - constraint_values = [ - "@platforms//cpu:arm64", - "@platforms//os:android", - ], -) diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/MODULE.bazel --- a/gara/android/jetpack-compose/MODULE.bazel Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -"Bazel dependencies" - -bazel_dep(name = "platforms", version = "0.0.11") -bazel_dep(name = "rules_jvm_external", version = "5.3") - -maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") -maven.install( - artifacts = [ - "androidx.appcompat:appcompat:1.5.1", - # Jetpack Compose Dependencies - "androidx.activity:activity-compose:1.6.0", - "androidx.compose.material:material:1.2.1", - "androidx.compose.ui:ui:1.2.1", - "androidx.compose.ui:ui-tooling:1.2.1", - "androidx.compose.compiler:compiler:1.3.2", - "androidx.compose.runtime:runtime:1.2.1", - # Dependencies needed to manage version conflicts - "androidx.core:core:1.6.0", - "androidx.core:core-ktx:1.6.0", - "androidx.savedstate:savedstate-ktx:1.2.0", - "androidx.savedstate:savedstate:1.2.0", - "androidx.lifecycle:lifecycle-livedata-core-ktx:2.5.1", - "androidx.lifecycle:lifecycle-livedata-core:2.5.1", - "androidx.lifecycle:lifecycle-livedata:2.5.1", - "androidx.lifecycle:lifecycle-process:2.5.1", - "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1", - "androidx.lifecycle:lifecycle-runtime:2.5.1", - "androidx.lifecycle:lifecycle-service:2.5.1", - "androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1", - "androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1", - "androidx.lifecycle:lifecycle-viewmodel:2.5.1", - ], - repositories = [ - "https://maven.google.com", - "https://repo1.maven.org/maven2", - ], -) -use_repo(maven, "maven") diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/README.md --- a/gara/android/jetpack-compose/README.md Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -# Android Jetpack Compose with Bazel example - -## Documentation - -For the full documentation, please visit -the [rules_kotlin documentation page](https://github.com/bazelbuild/rules_kotlin/blob/master/docs/kotlin.md). - -## Instructions - -1) Launch emulator -2) Run `bazel mobile-install //app/src/main:app --start_app` diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/WORKSPACE --- a/gara/android/jetpack-compose/WORKSPACE Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,42 +0,0 @@ -# FIXME(alexeagle): move to bzlmod -workspace(name = "bazel_android_sample_project") - -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") - -_KOTLIN_COMPILER_VERSION = "1.7.20" - -_KOTLIN_COMPILER_SHA = "5e3c8d0f965410ff12e90d6f8dc5df2fc09fd595a684d514616851ce7e94ae7d" - -## Android - -http_archive( - name = "build_bazel_rules_android", - sha256 = "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806", - strip_prefix = "rules_android-0.1.1", - urls = ["https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip"], -) - -load("@build_bazel_rules_android//android:rules.bzl", "android_sdk_repository") - -android_sdk_repository(name = "androidsdk") - -## Kotlin - -http_archive( - name = "io_bazel_rules_kotlin", - sha256 = "f033fa36f51073eae224f18428d9493966e67c27387728b6be2ebbdae43f140e", - url = "https://github.com/bazelbuild/rules_kotlin/releases/download/v1.7.0-RC-3/rules_kotlin_release.tgz", -) - -load("@io_bazel_rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories", "kotlinc_version") - -kotlin_repositories( - compiler_release = kotlinc_version( - release = _KOTLIN_COMPILER_VERSION, - sha256 = _KOTLIN_COMPILER_SHA, - ), -) - -load("@io_bazel_rules_kotlin//kotlin:core.bzl", "kt_register_toolchains") - -kt_register_toolchains() diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/AndroidManifest.xml --- a/gara/android/jetpack-compose/app/src/main/AndroidManifest.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/BUILD.bazel --- a/gara/android/jetpack-compose/app/src/main/BUILD.bazel Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -load("@build_bazel_rules_android//android:rules.bzl", "android_binary") -load("@io_bazel_rules_kotlin//kotlin:android.bzl", "kt_android_library") - -kt_android_library( - name = "lib", - srcs = ["java/com/example/android/bazel/MainActivity.kt"], - custom_package = "com.example.android.bazel", - manifest = "LibraryManifest.xml", - plugins = ["//:jetpack_compose_compiler_plugin"], - resource_files = glob(["res/**/*"]), - deps = [ - "@maven//:androidx_activity_activity_compose", - "@maven//:androidx_appcompat_appcompat", - "@maven//:androidx_compose_foundation_foundation", - "@maven//:androidx_compose_foundation_foundation_layout", - "@maven//:androidx_compose_runtime_runtime", - "@maven//:androidx_compose_ui_ui", - "@maven//:androidx_compose_ui_ui_tooling", - ], -) - -android_binary( - name = "app", - manifest = "AndroidManifest.xml", - manifest_values = {"applicationId": "com.example.android.bazel"}, - deps = [":lib"], -) diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/LibraryManifest.xml --- a/gara/android/jetpack-compose/app/src/main/LibraryManifest.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/java/com/example/android/bazel/MainActivity.kt --- a/gara/android/jetpack-compose/app/src/main/java/com/example/android/bazel/MainActivity.kt Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,38 +0,0 @@ -package com.example.android.bazel - -import android.os.Bundle -import androidx.activity.compose.setContent -import androidx.appcompat.app.AppCompatActivity -import androidx.compose.foundation.layout.Arrangement -import androidx.compose.foundation.layout.Column -import androidx.compose.foundation.layout.fillMaxSize -import androidx.compose.foundation.layout.padding -import androidx.compose.material.Text -import androidx.compose.runtime.Composable -import androidx.compose.ui.Alignment -import androidx.compose.ui.Modifier -import androidx.compose.ui.text.style.TextAlign -import androidx.compose.ui.tooling.preview.Preview -import androidx.compose.ui.unit.dp - -class MainActivity : AppCompatActivity() { - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContent { HelloWorld("Jetpack Compose") } - } - - @Preview - @Composable - fun HelloWorld(name: String) = Column( - verticalArrangement = Arrangement.Center, - horizontalAlignment = Alignment.CenterHorizontally, - modifier = Modifier - .fillMaxSize() - .padding(20.dp)) { - Text( - text = "Hello $name", - textAlign = TextAlign.Center - ) - } -} diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/drawable-v24/ic_launcher_foreground.xml --- a/gara/android/jetpack-compose/app/src/main/res/drawable-v24/ic_launcher_foreground.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ - - - - - - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/drawable/ic_launcher_background.xml --- a/gara/android/jetpack-compose/app/src/main/res/drawable/ic_launcher_background.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml --- a/gara/android/jetpack-compose/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml --- a/gara/android/jetpack-compose/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/mipmap-hdpi/ic_launcher.png Binary file gara/android/jetpack-compose/app/src/main/res/mipmap-hdpi/ic_launcher.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/mipmap-hdpi/ic_launcher_round.png Binary file gara/android/jetpack-compose/app/src/main/res/mipmap-hdpi/ic_launcher_round.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/mipmap-mdpi/ic_launcher.png Binary file gara/android/jetpack-compose/app/src/main/res/mipmap-mdpi/ic_launcher.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/mipmap-mdpi/ic_launcher_round.png Binary file gara/android/jetpack-compose/app/src/main/res/mipmap-mdpi/ic_launcher_round.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/mipmap-xhdpi/ic_launcher.png Binary file gara/android/jetpack-compose/app/src/main/res/mipmap-xhdpi/ic_launcher.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png Binary file gara/android/jetpack-compose/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/mipmap-xxhdpi/ic_launcher.png Binary file gara/android/jetpack-compose/app/src/main/res/mipmap-xxhdpi/ic_launcher.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png Binary file gara/android/jetpack-compose/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png Binary file gara/android/jetpack-compose/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png Binary file gara/android/jetpack-compose/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/values/colors.xml --- a/gara/android/jetpack-compose/app/src/main/res/values/colors.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ - - - #3F51B5 - #303F9F - #FF4081 - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/values/strings.xml --- a/gara/android/jetpack-compose/app/src/main/res/values/strings.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ - - Built By Bazel - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/jetpack-compose/app/src/main/res/values/styles.xml --- a/gara/android/jetpack-compose/app/src/main/res/values/styles.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/.bazelrc --- a/gara/android/ndk/.bazelrc Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ -common --enable_workspace -common --experimental_google_legacy_api -common --experimental_enable_android_migration_apis -# Necesary until bazel 7.2.0rc2 or later is released (https://github.com/bazelbuild/bazel/issues/22415) -common --nocheck_visibility diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/.bazelversion --- a/gara/android/ndk/.bazelversion Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -7.3.1 - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/BUILD.bazel --- a/gara/android/ndk/BUILD.bazel Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -platform( - name = "arm64-v8a", - constraint_values = [ - "@platforms//cpu:arm64", - "@platforms//os:android", - ], -) - -platform( - name = "x86", - constraint_values = [ - "@platforms//cpu:x86_32", - "@platforms//os:android", - ], -) diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/MODULE.bazel --- a/gara/android/ndk/MODULE.bazel Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,30 +0,0 @@ -"Bazel dependencies" - -bazel_dep(name = "platforms", version = "0.0.11") -bazel_dep(name = "rules_jvm_external", version = "5.3") -bazel_dep(name = "rules_cc", version = "0.0.9") -bazel_dep(name = "rules_android", version = "0.5.1") - -maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") -maven.install( - aar_import_bzl_label = "@rules_android//rules:rules.bzl", - artifacts = [ - "androidx.appcompat:appcompat:1.5.1", - "androidx.constraintlayout:constraintlayout:2.2.1", - # Needed to enforce version conflict resolution - "androidx.savedstate:savedstate:1.2.0", - "androidx.lifecycle:lifecycle-livedata-core:2.5.1", - "androidx.lifecycle:lifecycle-livedata:2.5.1", - "androidx.lifecycle:lifecycle-process:2.5.1", - "androidx.lifecycle:lifecycle-runtime:2.5.1", - "androidx.lifecycle:lifecycle-service:2.5.1", - "androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1", - "androidx.lifecycle:lifecycle-viewmodel:2.5.1", - ], - repositories = [ - "https://maven.google.com", - "https://repo1.maven.org/maven2", - ], - use_starlark_android_rules = True, -) -use_repo(maven, "maven") diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/README.md --- a/gara/android/ndk/README.md Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,24 +0,0 @@ -# Android NDK with Bazel example - -## Documentation - -For the full documentation, please visit the [Bazel documentation page](https://bazel.build/docs/android-ndk). - -## Instructions - -1) Launch emulator -2) Run `bazel mobile-install //app/src/main:app --android_platforms=//:x86 --start_app` - - - -## Build graph - -![](/images/graph.png) - -- JNI/C++ sources goes into the `cc_library` target, `//app/src/main:jni_lib`. -- Java sources, resource files, and assets go into the `android_library` - target, `//app/src/main:lib`. This target depends on the `cc_library` target. -- The APK is built from the `android_binary` target, `//app/src/main:app`. This - target depends on the `android_library` target. - -NOTE: This graph omits the Google Maven AAR dependencies. diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/WORKSPACE --- a/gara/android/ndk/WORKSPACE Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,43 +0,0 @@ -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") - -RULES_ANDROID_COMMIT = "93e27030d3f0defa39cbbc35195638cb772b0c27" - -http_archive( - name = "rules_android", - sha256 = "71cae2413868a24f17d43fd595af6f3905d2e5b3235f76514f54800bfd90c903", - strip_prefix = "rules_android-" + RULES_ANDROID_COMMIT, - urls = ["https://github.com/bazelbuild/rules_android/archive/%s.zip" % RULES_ANDROID_COMMIT], -) - -load("@rules_android//:prereqs.bzl", "rules_android_prereqs") - -rules_android_prereqs() - -load("@rules_android//:defs.bzl", "rules_android_workspace") - -rules_android_workspace() - -load("@rules_android//rules:rules.bzl", "android_sdk_repository") - -# Requires that the ANDROID_HOME environment variable is set to the Android SDK path. -android_sdk_repository( - name = "androidsdk", -) - -register_toolchains( - "@rules_android//toolchains/android:android_default_toolchain", - "@rules_android//toolchains/android_sdk:android_sdk_tools", -) - -http_archive( - name = "rules_android_ndk", - sha256 = "b1a5ddd784e6ed915c2035c0db536a278b5f50c64412128c06877115991391ef", - strip_prefix = "rules_android_ndk-877c68ef34c9f3353028bf490d269230c1990483", - url = "https://github.com/bazelbuild/rules_android_ndk/archive/877c68ef34c9f3353028bf490d269230c1990483.zip", -) - -load("@rules_android_ndk//:rules.bzl", "android_ndk_repository") - -android_ndk_repository(name = "androidndk") - -register_toolchains("@androidndk//:all") diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/AndroidManifest.xml --- a/gara/android/ndk/app/src/main/AndroidManifest.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,8 +0,0 @@ - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/BUILD.bazel --- a/gara/android/ndk/app/src/main/BUILD.bazel Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,27 +0,0 @@ -load("@rules_android//android:rules.bzl", "android_binary", "android_library") -load("@rules_cc//cc:defs.bzl", "cc_library") - -android_library( - name = "lib", - srcs = ["java/com/example/android/bazel/MainActivity.java"], - custom_package = "com.example.android.bazel", - manifest = "LibraryManifest.xml", - resource_files = glob(["res/**/*"]), - deps = [ - ":jni_lib", - "@maven//:androidx_appcompat_appcompat", - "@maven//:androidx_constraintlayout_constraintlayout", - ], -) - -cc_library( - name = "jni_lib", - srcs = ["cpp/native-lib.cpp"], -) - -android_binary( - name = "app", - manifest = "AndroidManifest.xml", - manifest_values = {"applicationId": "com.example.android.bazel"}, - deps = [":lib"], -) diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/LibraryManifest.xml --- a/gara/android/ndk/app/src/main/LibraryManifest.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/cpp/native-lib.cpp --- a/gara/android/ndk/app/src/main/cpp/native-lib.cpp Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ -#include -#include - -extern "C" -JNIEXPORT jstring - -JNICALL -Java_com_example_android_bazel_MainActivity_stringFromJNI( - JNIEnv *env, - jobject /* this */) { - std::string hello = "Hello from C++"; - return env->NewStringUTF(hello.c_str()); -} diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/java/com/example/android/bazel/MainActivity.java --- a/gara/android/ndk/app/src/main/java/com/example/android/bazel/MainActivity.java Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,28 +0,0 @@ -package com.example.android.bazel; - -import android.os.Bundle; -import android.widget.TextView; -import androidx.appcompat.app.AppCompatActivity; - -public class MainActivity extends AppCompatActivity { - - static { - System.loadLibrary("app"); - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_main); - - // Example of a call to a native method - TextView tv = (TextView) findViewById(R.id.sample_text); - tv.setText(stringFromJNI()); - } - - /** - * A native method that is implemented by the 'native-lib' native library, - * which is packaged with this application. - */ - public native String stringFromJNI(); -} diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/drawable-v24/ic_launcher_foreground.xml --- a/gara/android/ndk/app/src/main/res/drawable-v24/ic_launcher_foreground.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ - - - - - - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/drawable/ic_launcher_background.xml --- a/gara/android/ndk/app/src/main/res/drawable/ic_launcher_background.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/layout/activity_main.xml --- a/gara/android/ndk/app/src/main/res/layout/activity_main.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,21 +0,0 @@ - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml --- a/gara/android/ndk/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml --- a/gara/android/ndk/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/mipmap-hdpi/ic_launcher.png Binary file gara/android/ndk/app/src/main/res/mipmap-hdpi/ic_launcher.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/mipmap-hdpi/ic_launcher_round.png Binary file gara/android/ndk/app/src/main/res/mipmap-hdpi/ic_launcher_round.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/mipmap-mdpi/ic_launcher.png Binary file gara/android/ndk/app/src/main/res/mipmap-mdpi/ic_launcher.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/mipmap-mdpi/ic_launcher_round.png Binary file gara/android/ndk/app/src/main/res/mipmap-mdpi/ic_launcher_round.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/mipmap-xhdpi/ic_launcher.png Binary file gara/android/ndk/app/src/main/res/mipmap-xhdpi/ic_launcher.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png Binary file gara/android/ndk/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/mipmap-xxhdpi/ic_launcher.png Binary file gara/android/ndk/app/src/main/res/mipmap-xxhdpi/ic_launcher.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png Binary file gara/android/ndk/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png Binary file gara/android/ndk/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png Binary file gara/android/ndk/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/values/colors.xml --- a/gara/android/ndk/app/src/main/res/values/colors.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ - - - #3F51B5 - #303F9F - #FF4081 - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/values/strings.xml --- a/gara/android/ndk/app/src/main/res/values/strings.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,3 +0,0 @@ - - Built By Bazel - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/app/src/main/res/values/styles.xml --- a/gara/android/ndk/app/src/main/res/values/styles.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/images/graph.png Binary file gara/android/ndk/images/graph.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/ndk/images/result.png Binary file gara/android/ndk/images/result.png has changed diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/robolectric-testing/BUILD.bazel --- a/gara/android/robolectric-testing/BUILD.bazel Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,7 +0,0 @@ -platform( - name = "arm64-v8a", - constraint_values = [ - "@platforms//cpu:arm64", - "@platforms//os:android", - ], -) diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/robolectric-testing/MODULE.bazel --- a/gara/android/robolectric-testing/MODULE.bazel Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,22 +0,0 @@ -"Bazel dependencies" - -bazel_dep(name = "platforms", version = "0.0.11") -bazel_dep(name = "rules_jvm_external", version = "5.3") - -maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") -maven.install( - artifacts = [ - "org.robolectric:robolectric:4.9", - "junit:junit:4.13.2", - "com.google.truth:truth:1.1.3", - "org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10", - "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10", - "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10", - "org.jetbrains.kotlin:kotlin-stdlib:1.7.10", - ], - repositories = [ - "https://maven.google.com", - "https://repo1.maven.org/maven2", - ], -) -use_repo(maven, "maven") diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/robolectric-testing/README.md --- a/gara/android/robolectric-testing/README.md Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -# Android Jetpack Compose with Bazel example - -## Documentation - -For the full documentation, please visit -the [robolectric-bazel documentation page](https://github.com/robolectric/robolectric-bazel#usage). - -## Instructions - -1) Launch emulator -2) Run `bazel test //app:test` diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/robolectric-testing/WORKSPACE --- a/gara/android/robolectric-testing/WORKSPACE Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,46 +0,0 @@ -# FIXME(alexeagle): move to bzlmod -workspace(name = "bazel_android_sample_project") - -load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") - -## Android - -http_archive( - name = "build_bazel_rules_android", - sha256 = "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806", - strip_prefix = "rules_android-0.1.1", - urls = ["https://github.com/bazelbuild/rules_android/archive/v0.1.1.zip"], -) - -load("@build_bazel_rules_android//android:rules.bzl", "android_sdk_repository") - -android_sdk_repository(name = "androidsdk") - -## Kotlin - -http_archive( - name = "io_bazel_rules_kotlin", - sha256 = "f033fa36f51073eae224f18428d9493966e67c27387728b6be2ebbdae43f140e", - url = "https://github.com/bazelbuild/rules_kotlin/releases/download/v1.7.0-RC-3/rules_kotlin_release.tgz", -) - -load("@io_bazel_rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories") - -kotlin_repositories() - -load("@io_bazel_rules_kotlin//kotlin:core.bzl", "kt_register_toolchains") - -kt_register_toolchains() - -# Android Testing - -http_archive( - name = "robolectric", - sha256 = "7655c49633ec85a18b5a94b1ec36e250671808e45494194959b1d1d7f3e73a23", - strip_prefix = "robolectric-bazel-4.9", - urls = ["https://github.com/robolectric/robolectric-bazel/archive/4.9.tar.gz"], -) - -load("@robolectric//bazel:robolectric.bzl", "robolectric_repositories") - -robolectric_repositories() diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/robolectric-testing/app/BUILD.bazel --- a/gara/android/robolectric-testing/app/BUILD.bazel Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,29 +0,0 @@ -load("@io_bazel_rules_kotlin//kotlin:android.bzl", "kt_android_library", "kt_android_local_test") - -kt_android_library( - name = "lib", - srcs = glob(["src/main/java/**/*.kt"]), - custom_package = "com.example.android.bazel", - manifest = "src/main/AndroidManifest.xml", - resource_files = glob(["src/main/res/**"]), - deps = [ - "@maven//:org_jetbrains_kotlin_kotlin_stdlib", - "@maven//:org_jetbrains_kotlin_kotlin_stdlib_common", - "@maven//:org_jetbrains_kotlin_kotlin_stdlib_jdk7", - "@maven//:org_jetbrains_kotlin_kotlin_stdlib_jdk8", - ], -) - -kt_android_local_test( - name = "test", - srcs = ["src/test/java/com/example/android/bazel/WelcomeActivityTest.kt"], - custom_package = "com.example.android.bazel.test", - test_class = "com.example.android.bazel.WelcomeActivityTest", - deps = [ - ":lib", - "@maven//:com_google_truth_truth", - "@maven//:junit_junit", - "@maven//:org_robolectric_robolectric", - "@robolectric//bazel:android-all", - ], -) diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/robolectric-testing/app/src/main/AndroidManifest.xml --- a/gara/android/robolectric-testing/app/src/main/AndroidManifest.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/robolectric-testing/app/src/main/java/com/example/android/bazel/LoginActivity.kt --- a/gara/android/robolectric-testing/app/src/main/java/com/example/android/bazel/LoginActivity.kt Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -package com.example.android.bazel - -import android.app.Activity -import android.os.Bundle - -class LoginActivity : Activity() { - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - } -} diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/robolectric-testing/app/src/main/java/com/example/android/bazel/WelcomeActivity.kt --- a/gara/android/robolectric-testing/app/src/main/java/com/example/android/bazel/WelcomeActivity.kt Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -package com.example.android.bazel - -import android.app.Activity -import android.os.Bundle -import android.view.View -import android.content.Intent - -class WelcomeActivity : Activity() { - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - - setContentView(R.layout.welcome_activity) - - val button: View = findViewById(R.id.login) - button.setOnClickListener({ v -> - startActivity(Intent(this@WelcomeActivity, LoginActivity::class.java)) - }) - } -} diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/robolectric-testing/app/src/main/res/drawable-v24/ic_launcher_foreground.xml --- a/gara/android/robolectric-testing/app/src/main/res/drawable-v24/ic_launcher_foreground.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,34 +0,0 @@ - - - - - - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/robolectric-testing/app/src/main/res/drawable/ic_launcher_background.xml --- a/gara/android/robolectric-testing/app/src/main/res/drawable/ic_launcher_background.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,170 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 2b11e0449042 -r 3e0e27684e6b gara/android/robolectric-testing/app/src/main/res/layout/welcome_activity.xml --- a/gara/android/robolectric-testing/app/src/main/res/layout/welcome_activity.xml Sat Dec 13 14:24:20 2025 -0800 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ - - - -