├── .bazelci ├── android.yml ├── bzlmod.yml ├── configurations.yml ├── frontend.yml ├── misc.yml ├── presubmit.yml ├── rules.yml ├── tutorial-cpp.yml ├── tutorial-java.yml └── tutorial-rust.yml ├── .github └── FUNDING.yml ├── .gitignore ├── .pre-commit-config.yaml ├── AUTHORS ├── CODEOWNERS ├── CONTRIBUTING.md ├── CONTRIBUTORS ├── LICENSE.txt ├── README.md ├── android ├── firebase-cloud-messaging │ ├── .bazelrc │ ├── .bazelversion │ ├── BUILD │ ├── README.md │ ├── WORKSPACE │ └── app │ │ ├── BUILD │ │ ├── google-services.json │ │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── myapplication │ │ │ ├── MainActivity.java │ │ │ ├── MyFirebaseInstanceIdService.java │ │ │ └── MyFirebaseMessagingService.java │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── layout │ │ └── activity_main.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml ├── jetpack-compose │ ├── .bazelversion │ ├── BUILD.bazel │ ├── MODULE.bazel │ ├── README.md │ ├── WORKSPACE │ └── app │ │ └── src │ │ └── main │ │ ├── AndroidManifest.xml │ │ ├── BUILD.bazel │ │ ├── LibraryManifest.xml │ │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── android │ │ │ └── bazel │ │ │ └── MainActivity.kt │ │ └── res │ │ ├── drawable-v24 │ │ └── ic_launcher_foreground.xml │ │ ├── drawable │ │ └── ic_launcher_background.xml │ │ ├── mipmap-anydpi-v26 │ │ ├── ic_launcher.xml │ │ └── ic_launcher_round.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-mdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ ├── mipmap-xxxhdpi │ │ ├── ic_launcher.png │ │ └── ic_launcher_round.png │ │ └── values │ │ ├── colors.xml │ │ ├── strings.xml │ │ └── styles.xml ├── ndk │ ├── .bazelrc │ ├── .bazelversion │ ├── .gitignore │ ├── BUILD.bazel │ ├── MODULE.bazel │ ├── README.md │ ├── WORKSPACE │ ├── app │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── BUILD.bazel │ │ │ ├── LibraryManifest.xml │ │ │ ├── cpp │ │ │ └── native-lib.cpp │ │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── android │ │ │ │ └── bazel │ │ │ │ └── MainActivity.java │ │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ └── images │ │ ├── graph.png │ │ └── result.png ├── robolectric-testing │ ├── BUILD.bazel │ ├── MODULE.bazel │ ├── README.md │ ├── WORKSPACE │ └── app │ │ ├── BUILD.bazel │ │ └── src │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── java │ │ │ └── com │ │ │ │ └── example │ │ │ │ └── android │ │ │ │ └── bazel │ │ │ │ ├── LoginActivity.kt │ │ │ │ └── WelcomeActivity.kt │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── welcome_activity.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ └── strings.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── example │ │ └── android │ │ └── bazel │ │ └── WelcomeActivityTest.kt └── tutorial │ ├── README.md │ └── src │ └── main │ ├── AndroidManifest.xml │ └── java │ └── com │ └── example │ └── bazel │ ├── AndroidManifest.xml │ ├── Greeter.java │ ├── MainActivity.java │ └── res │ ├── layout │ └── activity_main.xml │ └── values │ ├── colors.xml │ └── strings.xml ├── bzlmod ├── 01-depend_on_bazel_module │ ├── .bazelrc │ ├── .bazelversion │ ├── BUILD │ ├── MODULE.bazel │ ├── README.md │ ├── WORKSPACE │ ├── WORKSPACE.bzlmod │ └── main.cc ├── 02-override_bazel_module │ ├── .bazelrc │ ├── .bazelversion │ ├── BUILD │ ├── MODULE.bazel │ ├── README.md │ ├── WORKSPACE │ ├── WORKSPACE.bzlmod │ ├── bazel_skylib.patch │ ├── lib_a │ │ ├── BUILD │ │ ├── MODULE.bazel │ │ ├── WORKSPACE │ │ ├── lib_a.cc │ │ └── lib_a.h │ └── main.cc ├── 03-introduce_dependencies_with_module_extension │ ├── .bazelrc │ ├── .bazelversion │ ├── BUILD │ ├── MODULE.bazel │ ├── README.md │ ├── WORKSPACE │ ├── WORKSPACE.bzlmod │ ├── deps.bzl │ └── lib_a │ │ ├── BUILD │ │ ├── MODULE.bazel │ │ ├── WORKSPACE │ │ └── deps.bzl ├── 04-local_config_and_register_toolchains │ ├── .bazelrc │ ├── .bazelversion │ ├── BUILD │ ├── MODULE.bazel │ ├── README.md │ ├── WORKSPACE │ ├── WORKSPACE.bzlmod │ ├── local_config_sh.bzl │ └── sh_path.bzl ├── 05-integrate_third_party_package_manager │ ├── .bazelrc │ ├── .bazelversion │ ├── BUILD │ ├── MODULE.bazel │ ├── README.md │ ├── WORKSPACE │ ├── WORKSPACE.bzlmod │ ├── lib_a │ │ ├── BUILD │ │ ├── MODULE.bazel │ │ ├── WORKSPACE │ │ └── deps.bzl │ └── lib_b │ │ ├── BUILD │ │ ├── MODULE.bazel │ │ ├── WORKSPACE │ │ └── deps.bzl ├── 06-specify_dev_dependency │ ├── .bazelrc │ ├── .bazelversion │ ├── BUILD │ ├── MODULE.bazel │ ├── README.md │ ├── WORKSPACE │ ├── WORKSPACE.bzlmod │ ├── deps.bzl │ └── lib_a │ │ ├── BUILD │ │ ├── MODULE.bazel │ │ ├── WORKSPACE │ │ └── deps.bzl ├── README.md └── utils │ └── librarian │ ├── BUILD │ ├── MODULE.bazel │ ├── README.md │ ├── WORKSPACE │ ├── librarian.bzl │ ├── librarian.cmd │ └── librarian.py ├── configurations ├── .bazelrc ├── MODULE.bazel ├── README.md ├── WORKSPACE ├── attaching_transitions_to_rules │ ├── BUILD │ ├── README.md │ └── defs.bzl ├── basic_build_setting │ ├── BUILD │ ├── README.md │ └── defs.bzl ├── cc_binary_selectable_copts │ ├── BUILD │ ├── README.md │ ├── custom_settings │ │ └── BUILD │ ├── defs.bzl │ ├── lib.cc │ └── main.cc ├── cc_test │ ├── BUILD │ ├── README.md │ ├── WORKSPACE │ ├── defs.bzl │ └── mytest.cc ├── label_typed_build_setting │ ├── BUILD │ ├── README.md │ └── defs.bzl ├── multi_arch_binary │ ├── BUILD │ ├── README.md │ └── defs.bzl ├── read_attr_in_transition │ ├── BUILD │ ├── README.md │ └── defs.bzl ├── select_on_build_setting │ ├── BUILD │ ├── README.md │ └── defs.bzl ├── transition_on_native_flag │ ├── BUILD │ ├── README.md │ └── defs.bzl └── use_skylib_build_setting │ ├── BUILD │ ├── README.md │ └── defs.bzl ├── cpp-tutorial ├── README.md ├── stage1 │ ├── MODULE.bazel │ ├── README.md │ └── main │ │ ├── BUILD │ │ └── hello-world.cc ├── stage2 │ ├── MODULE.bazel │ ├── README.md │ └── main │ │ ├── BUILD │ │ ├── hello-greet.cc │ │ ├── hello-greet.h │ │ └── hello-world.cc └── stage3 │ ├── MODULE.bazel │ ├── README.md │ ├── lib │ ├── BUILD │ ├── hello-time.cc │ └── hello-time.h │ └── main │ ├── BUILD │ ├── hello-greet.cc │ ├── hello-greet.h │ └── hello-world.cc ├── flags-parsing-tutorial ├── BUILD ├── README.md ├── WORKSPACE ├── bazelrc └── build_defs.bzl ├── frontend ├── .bazelignore ├── .bazelrc ├── .bazelversion ├── .gitignore ├── .npmrc ├── BUILD.bazel ├── MODULE.bazel ├── README.md ├── WORKSPACE.bazel ├── astro │ ├── .gitignore │ ├── .vscode │ │ ├── extensions.json │ │ └── launch.json │ ├── BUILD.bazel │ ├── README.md │ ├── astro.config.mjs │ ├── package.json │ ├── public │ │ ├── BUILD.bazel │ │ └── favicon.svg │ ├── src │ │ ├── BUILD.bazel │ │ ├── components │ │ │ └── Card.astro │ │ ├── env.d.ts │ │ ├── layouts │ │ │ └── Layout.astro │ │ └── pages │ │ │ └── index.astro │ └── tsconfig.json ├── eslint.config.mjs ├── next.js │ ├── .eslintrc.js │ ├── BUILD.bazel │ ├── README.md │ ├── build_smoke_test.js │ ├── defs.bzl │ ├── jest.config.js │ ├── next-env.d.ts │ ├── next.config.js │ ├── package.json │ ├── pages │ │ ├── BUILD.bazel │ │ ├── _app.tsx │ │ ├── api │ │ │ ├── BUILD.bazel │ │ │ └── hello.ts │ │ ├── index.test.tsx │ │ └── index.tsx │ ├── public │ │ ├── BUILD.bazel │ │ ├── favicon.ico │ │ └── vercel.svg │ ├── styles │ │ ├── BUILD.bazel │ │ ├── Home.module.css │ │ └── globals.css │ └── tsconfig.json ├── package.json ├── packages │ └── one │ │ ├── BUILD.bazel │ │ ├── package.json │ │ ├── src │ │ └── main.ts │ │ └── tsconfig.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── react-router │ ├── BUILD.bazel │ ├── README.md │ ├── app │ │ ├── app.css │ │ ├── entry.client.tsx │ │ ├── entry.server.tsx │ │ ├── root.tsx │ │ ├── routes.ts │ │ ├── routes │ │ │ └── home.tsx │ │ └── welcome │ │ │ ├── logo-dark.svg │ │ │ ├── logo-light.svg │ │ │ ├── welcome.test.tsx │ │ │ └── welcome.tsx │ ├── build_smoke_test.js │ ├── defs.bzl │ ├── package.json │ ├── public │ │ ├── BUILD.bazel │ │ └── favicon.ico │ ├── react-router.config.ts │ ├── tailwind.config.ts │ ├── tsconfig.json │ └── vite.config.mts ├── react-webpack │ ├── .gitignore │ ├── .swcrc │ ├── BUILD.bazel │ ├── README.md │ ├── build_smoke_test.js │ ├── package.json │ ├── public │ │ └── index.html │ ├── src │ │ ├── BUILD │ │ ├── app.jsx │ │ └── index.jsx │ ├── webpack.bazel.config.js │ └── webpack.config.js ├── react │ ├── BUILD.bazel │ ├── README.md │ ├── build_smoke_test.js │ ├── defs.bzl │ ├── index.html │ ├── package.json │ ├── public │ │ ├── BUILD.bazel │ │ ├── favicon.ico │ │ ├── logo192.png │ │ ├── logo512.png │ │ ├── manifest.json │ │ └── robots.txt │ ├── src │ │ ├── App.css │ │ ├── App.test.tsx │ │ ├── App.tsx │ │ ├── BUILD.bazel │ │ ├── index.css │ │ ├── index.tsx │ │ ├── logo.svg │ │ └── reportWebVitals.ts │ ├── tsconfig.json │ └── vite.config.js ├── tools │ ├── _run_under_cwd.sh │ ├── lint │ │ ├── BUILD.bazel │ │ └── linters.bzl │ └── pnpm ├── vitest.bzl └── vue │ ├── .vscode │ └── extensions.json │ ├── BUILD.bazel │ ├── README.md │ ├── env.d.ts │ ├── index.html │ ├── libraries │ └── simple │ │ ├── BUILD.bazel │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ ├── InputText.vue │ │ ├── InputTextarea.vue │ │ ├── components.ts │ │ └── index.ts │ │ ├── tsconfig.json │ │ └── vite.config.ts │ ├── package.json │ ├── public │ └── favicon.ico │ ├── src │ ├── App.vue │ ├── BUILD.bazel │ ├── assets │ │ ├── base.css │ │ └── logo.svg │ ├── components │ │ ├── HelloWorld.vue │ │ ├── TheWelcome.vue │ │ ├── WelcomeItem.vue │ │ └── icons │ │ │ ├── IconCommunity.vue │ │ │ ├── IconDocumentation.vue │ │ │ ├── IconEcosystem.vue │ │ │ ├── IconSupport.vue │ │ │ └── IconTooling.vue │ ├── main.ts │ ├── router │ │ └── index.ts │ └── views │ │ ├── AboutView.vue │ │ └── HomeView.vue │ ├── tsconfig.config.json │ ├── tsconfig.json │ └── vite.config.ts ├── go-tutorial ├── stage1 │ ├── .bazelversion │ ├── BUILD │ ├── MODULE.bazel │ └── hello.go ├── stage2 │ ├── .bazelversion │ ├── BUILD │ ├── MODULE.bazel │ ├── fortune │ │ ├── BUILD │ │ └── fortune.go │ └── print_fortune.go └── stage3 │ ├── .bazelversion │ ├── BUILD │ ├── MODULE.bazel │ ├── fortune │ ├── BUILD │ ├── fortune.go │ └── fortune_test.go │ └── print_fortune.go ├── java-maven ├── .bazelrc ├── .bazelversion ├── .gitignore ├── BUILD ├── MODULE.bazel ├── README.md ├── WORKSPACE ├── container-structure-test.yaml └── src │ ├── main │ └── java │ │ └── com │ │ └── example │ │ └── myproject │ │ └── App.java │ └── test │ └── java │ └── com │ └── example │ └── myproject │ └── TestApp.java ├── java-tutorial ├── BUILD ├── MODULE.bazel ├── README.md ├── WORKSPACE └── src │ └── main │ └── java │ └── com │ └── example │ ├── Greeting.java │ ├── ProjectRunner.java │ └── cmdline │ ├── BUILD │ └── Runner.java ├── macros ├── .bazelversion ├── README.md ├── WORKSPACE ├── data │ ├── BUILD │ ├── hamlet.txt │ └── macbeth.txt ├── fancy_word_counter │ ├── BUILD.bazel │ └── defs.bzl ├── letter_metrics │ ├── BUILD.bazel │ ├── aggregate.py │ └── defs.bzl ├── main │ └── BUILD.bazel ├── shout │ ├── BUILD.bazel │ └── shout.py └── word_counter │ ├── BUILD.bazel │ ├── counter.py │ └── defs.bzl ├── make-variables ├── README.md ├── WORKSPACE └── testapp │ ├── BUILD │ ├── app.cc │ ├── defs.bzl │ ├── empty.source │ ├── show_genrule_variables1.src │ └── show_genrule_variables2.src ├── query-quickstart ├── BUILD ├── MODULE.bazel ├── README.md ├── WORKSPACE └── src │ └── main │ └── java │ └── com │ └── example │ ├── Runner.java │ ├── customers │ ├── Amir.java │ ├── BUILD │ └── Jenny.java │ ├── dishes │ ├── BUILD │ ├── MacAndCheese.java │ └── Pizza.java │ ├── ingredients │ ├── BUILD │ ├── Cheese.java │ ├── Dough.java │ ├── Macaroni.java │ └── Tomato.java │ ├── restaurant │ ├── BUILD │ ├── Cafe.java │ └── Chef.java │ └── reviews │ ├── BUILD │ └── Review.java ├── renovate.json ├── rules ├── .bazelrc ├── .bazelversion ├── MODULE.bazel ├── README.md ├── WORKSPACE ├── actions_run │ ├── BUILD │ ├── body.html │ ├── execute.bzl │ ├── footer.html │ ├── header.html │ ├── merge.bat │ └── merge.sh ├── actions_write │ ├── BUILD │ └── file.bzl ├── aspect │ ├── BUILD │ ├── app.cc │ ├── file_collector.bzl │ ├── lib.cc │ └── lib.h ├── attributes │ ├── BUILD │ └── printer.bzl ├── computed_dependencies │ ├── BUILD │ ├── comments.sh │ ├── hash.bzl │ ├── hello.txt │ └── spaces.sh ├── depsets │ ├── BUILD │ ├── a.foo │ ├── a_impl.foo │ ├── b.foo │ ├── b_impl.foo │ ├── c.foo │ ├── c_impl.foo │ ├── d.foo │ ├── foo.bzl │ └── foocc.py ├── empty │ ├── BUILD │ └── empty.bzl ├── executable │ ├── BUILD │ ├── correct.txt │ ├── extensible.txt │ ├── fast.txt │ ├── fortune.bzl │ ├── incremental.txt │ ├── polyglot.txt │ └── reproducible.txt ├── expand_template │ ├── BUILD │ ├── hello.bzl │ └── hello.cc ├── features │ ├── BUILD │ └── rule.bzl ├── generating_code │ ├── BUILD │ ├── README.md │ ├── c_maybe.cc │ ├── gen │ │ ├── BUILD │ │ ├── enum_maker.bzl │ │ └── enum_maker.py │ ├── p_maybe.py │ └── values.txt ├── implicit_output │ ├── BUILD │ └── hash.bzl ├── mandatory_provider │ ├── BUILD │ └── sum.bzl ├── optional_provider │ ├── BUILD │ └── sum.bzl ├── predeclared_outputs │ ├── BUILD │ ├── animals.dict │ └── hash.bzl ├── runfiles │ ├── BUILD │ ├── complex_tool.bzl │ ├── complex_tool_data.txt │ ├── data.txt │ ├── execute.bzl │ ├── lib.txt │ ├── library.bzl │ └── tool.bzl ├── shell_command │ ├── BUILD │ ├── foo.txt │ └── rules.bzl └── test_rule │ ├── BUILD │ └── line_length.bzl ├── rust-examples ├── .bazelversion ├── .gitignore ├── 01-hello-world │ ├── .bazelrc │ ├── .bazelversion │ ├── .gitignore │ ├── BUILD.bazel │ ├── MODULE.bazel │ ├── README.md │ └── src │ │ └── main.rs ├── 02-hello-cross │ ├── .bazelrc │ ├── .bazelversion │ ├── .gitignore │ ├── BUILD.bazel │ ├── MODULE.bazel │ ├── README.md │ ├── build │ │ ├── platforms │ │ │ └── BUILD.bazel │ │ └── sysroot │ │ │ └── BUILD.bazel │ └── src │ │ └── main.rs ├── 03-comp-opt │ ├── .bazelrc │ ├── .bazelversion │ ├── .gitignore │ ├── BUILD.bazel │ ├── MODULE.bazel │ ├── README.md │ └── hello_comp_opt │ │ ├── BUILD.bazel │ │ └── src │ │ └── main.rs ├── 04-ffi │ ├── .bazelrc │ ├── .bazelversion │ ├── .gitignore │ ├── BUILD.bazel │ ├── MODULE.bazel │ ├── README.md │ └── ffi │ │ ├── BUILD.bazel │ │ ├── c │ │ └── cc_library.cc │ │ └── src │ │ └── rust_shared_lib_with_static_dep.rs ├── 05-deps-cargo │ ├── .bazelrc │ ├── .bazelversion │ ├── .gitignore │ ├── BUILD.bazel │ ├── Cargo.lock │ ├── Cargo.toml │ ├── MODULE.bazel │ ├── README.md │ └── src │ │ ├── dummy_lib.rs │ │ └── main.rs ├── 06-deps-direct │ ├── .bazelrc │ ├── .bazelversion │ ├── .gitignore │ ├── BUILD.bazel │ ├── MODULE.bazel │ ├── MODULE.bazel.lock │ ├── README.md │ └── rest_tokio │ │ ├── BUILD.bazel │ │ └── src │ │ ├── errors │ │ ├── init_error.rs │ │ └── mod.rs │ │ ├── handler.rs │ │ ├── main.rs │ │ └── types │ │ ├── data_set.rs │ │ ├── health.rs │ │ ├── mod.rs │ │ └── stats.rs ├── 07-deps-vendor │ ├── .bazelrc │ ├── .bazelversion │ ├── .gitignore │ ├── BUILD.bazel │ ├── MODULE.bazel │ ├── README.md │ ├── basic │ │ ├── BUILD.bazel │ │ └── src │ │ │ └── main.rs │ └── thirdparty │ │ └── BUILD.bazel ├── 08-grpc-client-server │ ├── .bazelrc │ ├── .bazelversion │ ├── .gitignore │ ├── BUILD.bazel │ ├── MODULE.bazel │ ├── README.md │ ├── build │ │ └── prost_toolchain │ │ │ └── BUILD.bazel │ ├── grpc_client │ │ ├── BUILD.bazel │ │ ├── Cargo.toml │ │ └── src │ │ │ └── main.rs │ ├── grpc_server │ │ ├── BUILD.bazel │ │ ├── Cargo.toml │ │ ├── src │ │ │ ├── main.rs │ │ │ ├── server.rs │ │ │ └── shutdown_utils.rs │ │ └── tests │ │ │ ├── demo_tests.rs │ │ │ └── mod.rs │ ├── proto_bindings │ │ ├── BUILD.bazel │ │ ├── Cargo.lock │ │ ├── Cargo.toml │ │ ├── build.rs │ │ ├── proto │ │ │ └── helloworld.proto │ │ └── src │ │ │ └── lib.rs │ └── thirdparty │ │ └── BUILD.bazel ├── 09-oci-container │ ├── .bazelrc │ ├── .bazelversion │ ├── .gitignore │ ├── BUILD.bazel │ ├── MODULE.bazel │ ├── README.md │ ├── build │ │ └── container.bzl │ └── tokio_oci │ │ ├── BUILD.bazel │ │ └── src │ │ ├── errors │ │ ├── init_error.rs │ │ └── mod.rs │ │ ├── handler.rs │ │ ├── main.rs │ │ └── types │ │ ├── data_set.rs │ │ ├── health.rs │ │ ├── mod.rs │ │ └── stats.rs └── README.md └── third-party-dependencies ├── .bazelrc ├── .bazelversion ├── BUILD ├── MODULE.bazel ├── README.md ├── WORKSPACE ├── WORKSPACE.bzlmod ├── catch2_test.cpp ├── gtest_test.cpp ├── hello_world.cpp ├── my_lib.cpp ├── my_lib.h └── third_party ├── BUILD └── repositories.bzl /.bazelci/presubmit.yml: -------------------------------------------------------------------------------- 1 | imports: 2 | - android.yml 3 | - bzlmod.yml 4 | - configurations.yml 5 | - frontend.yml 6 | - misc.yml 7 | - rules.yml 8 | - tutorial-cpp.yml 9 | - tutorial-java.yml 10 | - tutorial-rust.yml -------------------------------------------------------------------------------- /.bazelci/tutorial-java.yml: -------------------------------------------------------------------------------- 1 | # Getting started tutorials 2 | tasks: 3 | java-tutorial-linux: 4 | name: "Java Tutorial" 5 | platform: ubuntu1804 6 | working_directory: ../java-tutorial 7 | build_targets: 8 | - "//:ProjectRunner" 9 | java-tutorial-macos: 10 | name: "Java Tutorial" 11 | platform: macos 12 | working_directory: ../java-tutorial 13 | build_targets: 14 | - "//:ProjectRunner" 15 | java-tutorial-windows: 16 | name: "Java Tutorial" 17 | platform: windows 18 | working_directory: ../java-tutorial 19 | build_targets: 20 | - "//:ProjectRunner" 21 | 22 | query-quickstart: 23 | name: "Query Quickstart" 24 | platform: macos 25 | working_directory: ../query-quickstart 26 | build_targets: 27 | - "//:runner" -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | open_collective: bazel-rules-authors-sig 2 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | bazel-* 3 | .idea 4 | # Eclipse 5 | .project 6 | .classpath 7 | .settings/ 8 | # Maven 9 | target/ 10 | # Xcode 11 | *.xcodeproj 12 | node_modules 13 | # Bazel lockfile 14 | *MODULE.bazel.lock 15 | # VScode 16 | /.vscode/ 17 | -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | # See CONTRIBUTING.md for instructions. 2 | # See https://pre-commit.com for more information 3 | # See https://pre-commit.com/hooks.html for more hooks 4 | 5 | # Use a slightly older version of node by default 6 | # as the default uses a very new version of GLIBC 7 | default_language_version: 8 | node: 16.18.0 9 | 10 | repos: 11 | # Check formatting and lint for starlark code 12 | - repo: https://github.com/keith/pre-commit-buildifier 13 | rev: 6.3.3 14 | hooks: 15 | - id: buildifier 16 | - id: buildifier-lint 17 | -------------------------------------------------------------------------------- /AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of Bazel authors for copyright purposes. 2 | # This file is distinct from the CONTRIBUTORS files. 3 | # See the latter for an explanation. 4 | 5 | # Names should be added to this file as: 6 | # Name or Organization 7 | # The email address is not required for organizations. 8 | 9 | Google Inc. 10 | Manfred Touron 11 | -------------------------------------------------------------------------------- /CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @gregestren @Wyverald 2 | 3 | .bazelci @fweikert 4 | AUTHORS @meteorcloudy 5 | android/ @ahumesky @jin 6 | bzlmod/ @wyverald 7 | cpp-tutorial @oquenchil 8 | frontend @alexeagle 9 | java-maven/ @jin 10 | java-tutorial/ @jin 11 | make-variables @bazelbuild/configurability 12 | flags-parsing-tutorial @bazelbuild/configurability 13 | rules/starlark-configurations @bazelbuild/configurability 14 | third-party-dependencies @meteorcloudy 15 | -------------------------------------------------------------------------------- /CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # People who have agreed to one of the CLAs and can contribute patches. 2 | # The AUTHORS file lists the copyright holders; this file 3 | # lists people. For example, Google employees are listed here 4 | # but not in AUTHORS, because Google holds the copyright. 5 | # 6 | # https://developers.google.com/open-source/cla/individual 7 | # https://developers.google.com/open-source/cla/corporate 8 | # 9 | # Names should be added to this file as: 10 | # Name 11 | 12 | Kristina Chodorow 13 | Damien Martin-Guillerez 14 | Han-Wen Nienhuys 15 | Christopher Parsons 16 | Michael Staib 17 | Manfred Touron 18 | Jingwen Chen 19 | Daniel Persson 20 | Laurent Le Brun 21 | -------------------------------------------------------------------------------- /android/firebase-cloud-messaging/.bazelrc: -------------------------------------------------------------------------------- 1 | common --enable_workspace 2 | common --experimental_google_legacy_api 3 | common --experimental_enable_android_migration_apis 4 | # Necesary until bazel 7.2.0rc2 or later is released (https://github.com/bazelbuild/bazel/issues/22415) 5 | common --nocheck_visibility 6 | -------------------------------------------------------------------------------- /android/firebase-cloud-messaging/.bazelversion: -------------------------------------------------------------------------------- 1 | 7.2.0rc1 2 | -------------------------------------------------------------------------------- /android/firebase-cloud-messaging/BUILD: -------------------------------------------------------------------------------- 1 | platform( 2 | name = "arm64-v8a", 3 | constraint_values = [ 4 | "@platforms//cpu:arm64", 5 | "@platforms//os:android", 6 | ], 7 | ) 8 | -------------------------------------------------------------------------------- /android/firebase-cloud-messaging/app/src/main/java/com/example/myapplication/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.example.myapplication; 2 | 3 | import android.support.v7.app.AppCompatActivity; 4 | import android.os.Bundle; 5 | import android.util.Log; 6 | 7 | import com.google.firebase.iid.FirebaseInstanceId; 8 | 9 | public class MainActivity extends AppCompatActivity { 10 | 11 | @Override 12 | protected void onCreate(Bundle savedInstanceState) { 13 | super.onCreate(savedInstanceState); 14 | setContentView(R.layout.activity_main); 15 | 16 | Log.i("myapp", "token: " + FirebaseInstanceId.getInstance().getToken()); 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /android/firebase-cloud-messaging/app/src/main/java/com/example/myapplication/MyFirebaseInstanceIdService.java: -------------------------------------------------------------------------------- 1 | package com.example.myapplication; 2 | 3 | import android.util.Log; 4 | 5 | import com.google.firebase.iid.FirebaseInstanceId; 6 | import com.google.firebase.iid.FirebaseInstanceIdService; 7 | 8 | public class MyFirebaseInstanceIdService extends FirebaseInstanceIdService { 9 | @Override 10 | public void onTokenRefresh() { 11 | // Get updated InstanceID token. 12 | String refreshedToken = FirebaseInstanceId.getInstance().getToken(); 13 | Log.d("myapp", "Refreshed token: " + refreshedToken); 14 | 15 | // If you want to send messages to this application instance or 16 | // manage this apps subscriptions on the server side, send the 17 | // Instance ID token to your app server. 18 | } 19 | 20 | } 21 | 22 | -------------------------------------------------------------------------------- /android/firebase-cloud-messaging/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/firebase-cloud-messaging/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/firebase-cloud-messaging/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/firebase-cloud-messaging/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/firebase-cloud-messaging/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/firebase-cloud-messaging/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/firebase-cloud-messaging/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /android/firebase-cloud-messaging/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | My Application 3 | 4 | -------------------------------------------------------------------------------- /android/firebase-cloud-messaging/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/jetpack-compose/.bazelversion: -------------------------------------------------------------------------------- 1 | 6.5.0 2 | -------------------------------------------------------------------------------- /android/jetpack-compose/BUILD.bazel: -------------------------------------------------------------------------------- 1 | load("@io_bazel_rules_kotlin//kotlin:core.bzl", "kt_compiler_plugin") 2 | 3 | kt_compiler_plugin( 4 | name = "jetpack_compose_compiler_plugin", 5 | id = "androidx.compose.compiler", 6 | target_embedded_compiler = True, 7 | visibility = ["//visibility:public"], 8 | deps = ["@maven//:androidx_compose_compiler_compiler"], 9 | ) 10 | 11 | platform( 12 | name = "arm64-v8a", 13 | constraint_values = [ 14 | "@platforms//cpu:arm64", 15 | "@platforms//os:android", 16 | ], 17 | ) 18 | -------------------------------------------------------------------------------- /android/jetpack-compose/README.md: -------------------------------------------------------------------------------- 1 | # Android Jetpack Compose with Bazel example 2 | 3 | ## Documentation 4 | 5 | For the full documentation, please visit 6 | the [rules_kotlin documentation page](https://github.com/bazelbuild/rules_kotlin/blob/master/docs/kotlin.md). 7 | 8 | ## Instructions 9 | 10 | 1) Launch emulator 11 | 2) Run `bazel mobile-install //app/src/main:app --start_app` 12 | -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/LibraryManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/jetpack-compose/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/jetpack-compose/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/jetpack-compose/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/jetpack-compose/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/jetpack-compose/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/jetpack-compose/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/jetpack-compose/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/jetpack-compose/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/jetpack-compose/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/jetpack-compose/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Built By Bazel 3 | 4 | -------------------------------------------------------------------------------- /android/jetpack-compose/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/ndk/.bazelrc: -------------------------------------------------------------------------------- 1 | common --enable_workspace 2 | common --experimental_google_legacy_api 3 | common --experimental_enable_android_migration_apis 4 | # Necesary until bazel 7.2.0rc2 or later is released (https://github.com/bazelbuild/bazel/issues/22415) 5 | common --nocheck_visibility 6 | -------------------------------------------------------------------------------- /android/ndk/.bazelversion: -------------------------------------------------------------------------------- 1 | 7.3.1 2 | 3 | -------------------------------------------------------------------------------- /android/ndk/.gitignore: -------------------------------------------------------------------------------- 1 | bazel-* 2 | -------------------------------------------------------------------------------- /android/ndk/BUILD.bazel: -------------------------------------------------------------------------------- 1 | platform( 2 | name = "arm64-v8a", 3 | constraint_values = [ 4 | "@platforms//cpu:arm64", 5 | "@platforms//os:android", 6 | ], 7 | ) 8 | 9 | platform( 10 | name = "x86", 11 | constraint_values = [ 12 | "@platforms//cpu:x86_32", 13 | "@platforms//os:android", 14 | ], 15 | ) 16 | -------------------------------------------------------------------------------- /android/ndk/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /android/ndk/app/src/main/BUILD.bazel: -------------------------------------------------------------------------------- 1 | load("@rules_android//android:rules.bzl", "android_binary", "android_library") 2 | load("@rules_cc//cc:defs.bzl", "cc_library") 3 | 4 | android_library( 5 | name = "lib", 6 | srcs = ["java/com/example/android/bazel/MainActivity.java"], 7 | custom_package = "com.example.android.bazel", 8 | manifest = "LibraryManifest.xml", 9 | resource_files = glob(["res/**/*"]), 10 | deps = [ 11 | ":jni_lib", 12 | "@maven//:androidx_appcompat_appcompat", 13 | "@maven//:androidx_constraintlayout_constraintlayout", 14 | ], 15 | ) 16 | 17 | cc_library( 18 | name = "jni_lib", 19 | srcs = ["cpp/native-lib.cpp"], 20 | ) 21 | 22 | android_binary( 23 | name = "app", 24 | manifest = "AndroidManifest.xml", 25 | manifest_values = {"applicationId": "com.example.android.bazel"}, 26 | deps = [":lib"], 27 | ) 28 | -------------------------------------------------------------------------------- /android/ndk/app/src/main/cpp/native-lib.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | extern "C" 5 | JNIEXPORT jstring 6 | 7 | JNICALL 8 | Java_com_example_android_bazel_MainActivity_stringFromJNI( 9 | JNIEnv *env, 10 | jobject /* this */) { 11 | std::string hello = "Hello from C++"; 12 | return env->NewStringUTF(hello.c_str()); 13 | } 14 | -------------------------------------------------------------------------------- /android/ndk/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/ndk/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /android/ndk/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/ndk/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/ndk/app/src/main/res/mipmap-hdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/ndk/app/src/main/res/mipmap-hdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/ndk/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/ndk/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/ndk/app/src/main/res/mipmap-mdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/ndk/app/src/main/res/mipmap-mdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/ndk/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/ndk/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/ndk/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/ndk/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/ndk/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/ndk/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/ndk/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/ndk/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/ndk/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/ndk/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /android/ndk/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/ndk/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png -------------------------------------------------------------------------------- /android/ndk/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /android/ndk/app/src/main/res/values/strings.xml: -------------------------------------------------------------------------------- 1 | 2 | Built By Bazel 3 | 4 | -------------------------------------------------------------------------------- /android/ndk/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /android/ndk/images/graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/ndk/images/graph.png -------------------------------------------------------------------------------- /android/ndk/images/result.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bazelbuild/examples/6f37bcdc6e71023409a03ea047369c5a6f754862/android/ndk/images/result.png -------------------------------------------------------------------------------- /android/robolectric-testing/BUILD.bazel: -------------------------------------------------------------------------------- 1 | platform( 2 | name = "arm64-v8a", 3 | constraint_values = [ 4 | "@platforms//cpu:arm64", 5 | "@platforms//os:android", 6 | ], 7 | ) 8 | -------------------------------------------------------------------------------- /android/robolectric-testing/MODULE.bazel: -------------------------------------------------------------------------------- 1 | "Bazel dependencies" 2 | 3 | bazel_dep(name = "platforms", version = "0.0.11") 4 | bazel_dep(name = "rules_jvm_external", version = "5.3") 5 | 6 | maven = use_extension("@rules_jvm_external//:extensions.bzl", "maven") 7 | maven.install( 8 | artifacts = [ 9 | "org.robolectric:robolectric:4.9", 10 | "junit:junit:4.13.2", 11 | "com.google.truth:truth:1.1.3", 12 | "org.jetbrains.kotlin:kotlin-stdlib-common:1.7.10", 13 | "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.10", 14 | "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10", 15 | "org.jetbrains.kotlin:kotlin-stdlib:1.7.10", 16 | ], 17 | repositories = [ 18 | "https://maven.google.com", 19 | "https://repo1.maven.org/maven2", 20 | ], 21 | ) 22 | use_repo(maven, "maven") 23 | -------------------------------------------------------------------------------- /android/robolectric-testing/README.md: -------------------------------------------------------------------------------- 1 | # Android Jetpack Compose with Bazel example 2 | 3 | ## Documentation 4 | 5 | For the full documentation, please visit 6 | the [robolectric-bazel documentation page](https://github.com/robolectric/robolectric-bazel#usage). 7 | 8 | ## Instructions 9 | 10 | 1) Launch emulator 11 | 2) Run `bazel test //app:test` 12 | -------------------------------------------------------------------------------- /android/robolectric-testing/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /android/robolectric-testing/app/src/main/java/com/example/android/bazel/LoginActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.android.bazel 2 | 3 | import android.app.Activity 4 | import android.os.Bundle 5 | 6 | class LoginActivity : Activity() { 7 | 8 | override fun onCreate(savedInstanceState: Bundle?) { 9 | super.onCreate(savedInstanceState) 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /android/robolectric-testing/app/src/main/java/com/example/android/bazel/WelcomeActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.android.bazel 2 | 3 | import android.app.Activity 4 | import android.os.Bundle 5 | import android.view.View 6 | import android.content.Intent 7 | 8 | class WelcomeActivity : Activity() { 9 | 10 | override fun onCreate(savedInstanceState: Bundle?) { 11 | super.onCreate(savedInstanceState) 12 | 13 | setContentView(R.layout.welcome_activity) 14 | 15 | val button: View = findViewById(R.id.login) 16 | button.setOnClickListener({ v -> 17 | startActivity(Intent(this@WelcomeActivity, LoginActivity::class.java)) 18 | }) 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /android/robolectric-testing/app/src/main/res/layout/welcome_activity.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 |