From bb2b0f9a6fe5905da99520bb5e862aff234ee400 Mon Sep 17 00:00:00 2001 From: Marc Plano-Lesay Date: Tue, 23 Feb 2021 18:18:20 +1100 Subject: [PATCH 01/21] Add Jetpack Compose example to CI --- .bazelci/presubmit.yml | 10 ++++++++++ examples/jetpack_compose/compose-app/BUILD | 8 ++++++++ 2 files changed, 18 insertions(+) diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index b1a8c4fa0..53c929709 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml @@ -79,6 +79,16 @@ tasks: build_targets: - //coroutines-helloworld/... - //express/... + example-jetpack-compose: + name: "Example - Jetpack Compose" + platform: ubuntu1804 + shell_commands: + - "cd ../.. && bazel build //:rules_kotlin_release && rm -rf /tmp/rules_kotlin_release && mkdir -p /tmp/rules_kotlin_release && tar -C /tmp/rules_kotlin_release -xvf bazel-bin/rules_kotlin_release.tgz" + working_directory: examples/jetpack_compose + test_flags: + - "--override_repository=io_bazel_rules_kotlin=/tmp/rules_kotlin_release" + test_targets: + - //... stardoc: name: Stardoc api documentation platform: ubuntu1804 diff --git a/examples/jetpack_compose/compose-app/BUILD b/examples/jetpack_compose/compose-app/BUILD index 773a1c1ed..b9320d5a4 100644 --- a/examples/jetpack_compose/compose-app/BUILD +++ b/examples/jetpack_compose/compose-app/BUILD @@ -1,4 +1,5 @@ load("@build_bazel_rules_android//android:rules.bzl", "android_binary") +load("@bazel_skylib//rules:build_test.bzl", "build_test") # An app that consumes android-kt deps android_binary( @@ -12,3 +13,10 @@ android_binary( "//compose-ui:lib", ], ) + +build_test( + name = "force_build_apks_test", + targets = [ + ":compose_example_app", + ], +) From 4474dff8e98de4dc29d9444166914b9754125903 Mon Sep 17 00:00:00 2001 From: Marc Plano-Lesay Date: Tue, 23 Feb 2021 18:37:55 +1100 Subject: [PATCH 02/21] Enable d8 merger, required to use Compose --- examples/jetpack_compose/.bazelrc | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 examples/jetpack_compose/.bazelrc diff --git a/examples/jetpack_compose/.bazelrc b/examples/jetpack_compose/.bazelrc new file mode 100644 index 000000000..e11a6c594 --- /dev/null +++ b/examples/jetpack_compose/.bazelrc @@ -0,0 +1,7 @@ +# Enable d8 merger +build --define=android_dexmerger_tool=d8_dexmerger + +# Flags for the D8 dexer +build --define=android_incremental_dexing_tool=d8_dexbuilder +build --define=android_standalone_dexing_tool=d8_compat_dx +build --nouse_workers_with_dexbuilder From 2c23ecbe05c3369067a494ced1922d7d6b7d812b Mon Sep 17 00:00:00 2001 From: Marc Plano-Lesay Date: Tue, 23 Feb 2021 18:44:29 +1100 Subject: [PATCH 03/21] Force kotlinc 1.4.21, required by Compose 1.0.0-alpha09 --- examples/jetpack_compose/WORKSPACE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/jetpack_compose/WORKSPACE b/examples/jetpack_compose/WORKSPACE index 344889636..b9e9e7694 100644 --- a/examples/jetpack_compose/WORKSPACE +++ b/examples/jetpack_compose/WORKSPACE @@ -17,7 +17,7 @@ register_toolchains("//:kotlin_toolchain") load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") -_KOTLIN_COMPILER_VERSION = "1.4.21" +_KOTLIN_COMPILER_VERSION = "1.5.32" ## JVM External From ebd6b325518bb0cf5ec8b3cb340b8f8f00f014eb Mon Sep 17 00:00:00 2001 From: Marc Plano-Lesay Date: Tue, 20 Apr 2021 15:08:39 +1000 Subject: [PATCH 04/21] Pin Android buildtools to 30.0.1 --- examples/jetpack_compose/WORKSPACE | 28 +++++++--------------------- 1 file changed, 7 insertions(+), 21 deletions(-) diff --git a/examples/jetpack_compose/WORKSPACE b/examples/jetpack_compose/WORKSPACE index b9e9e7694..79842ec94 100644 --- a/examples/jetpack_compose/WORKSPACE +++ b/examples/jetpack_compose/WORKSPACE @@ -1,20 +1,3 @@ -local_repository( - name = "release_archive", - path = "../../src/main/starlark/release_archive", -) - -load("@release_archive//:repository.bzl", "archive_repository") - -archive_repository( - name = "io_bazel_rules_kotlin", -) - -load("@io_bazel_rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories") - -kotlin_repositories() - -register_toolchains("//:kotlin_toolchain") - load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") _KOTLIN_COMPILER_VERSION = "1.5.32" @@ -42,10 +25,11 @@ maven_install( "androidx.core:core-ktx:1.3.2", "androidx.appcompat:appcompat:1.2.0", "com.google.android.material:material:1.2.1", - "androidx.compose.material:material:1.0.0-alpha09", - "androidx.compose.ui:ui:1.0.0-alpha09", - "androidx.compose.ui:ui-tooling:1.0.0-alpha09", - "androidx.compose.compiler:compiler:1.0.0-alpha09", + "androidx.activity:activity-compose:1.3.0-alpha06", + "androidx.compose.material:material:1.0.0-beta04", + "androidx.compose.ui:ui:1.0.0-beta04", + "androidx.compose.ui:ui-tooling:1.0.0-beta04", + "androidx.compose.compiler:compiler:1.0.0-beta04", ], repositories = [ "https://maven.google.com", @@ -143,4 +127,6 @@ load("@build_bazel_rules_android//android:rules.bzl", "android_sdk_repository") android_sdk_repository( name = "androidsdk", api_level = 29, + build_tools_version = "30.0.1", ) + From d209e99af1f632dfbb43454d52f8dda188a863d5 Mon Sep 17 00:00:00 2001 From: Marc Plano-Lesay Date: Tue, 20 Apr 2021 15:08:50 +1000 Subject: [PATCH 05/21] Update Jetpack Compose to 1.0.0-beta04 --- examples/jetpack_compose/compose-ui/BUILD | 1 + examples/jetpack_compose/compose-ui/MainActivity.kt | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/examples/jetpack_compose/compose-ui/BUILD b/examples/jetpack_compose/compose-ui/BUILD index 208587b8a..09a1fd72a 100644 --- a/examples/jetpack_compose/compose-ui/BUILD +++ b/examples/jetpack_compose/compose-ui/BUILD @@ -8,6 +8,7 @@ kt_android_library( plugins = ["//:jetpack_compose_compiler_plugin"], visibility = ["//visibility:public"], deps = [ + "@maven//:androidx_activity_activity_compose", "@maven//:androidx_appcompat_appcompat", "@maven//:androidx_compose_material_material", "@maven//:androidx_compose_ui_ui", diff --git a/examples/jetpack_compose/compose-ui/MainActivity.kt b/examples/jetpack_compose/compose-ui/MainActivity.kt index c88efffb1..cefdca041 100644 --- a/examples/jetpack_compose/compose-ui/MainActivity.kt +++ b/examples/jetpack_compose/compose-ui/MainActivity.kt @@ -1,10 +1,10 @@ package cm.ben.android.bazel.compose.example.ui import android.os.Bundle +import androidx.activity.compose.setContent import androidx.appcompat.app.AppCompatActivity import androidx.compose.material.Text import androidx.compose.runtime.Composable -import androidx.compose.ui.platform.setContent class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { From 8c84347db25242964ca963a08aa71c2a6df9414e Mon Sep 17 00:00:00 2001 From: Marc Plano-Lesay Date: Wed, 19 May 2021 15:52:44 +1000 Subject: [PATCH 06/21] Upgrade to Jetpack Compose beta 7 --- examples/jetpack_compose/WORKSPACE | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/jetpack_compose/WORKSPACE b/examples/jetpack_compose/WORKSPACE index 79842ec94..3e78d4cc5 100644 --- a/examples/jetpack_compose/WORKSPACE +++ b/examples/jetpack_compose/WORKSPACE @@ -22,14 +22,14 @@ load("@rules_jvm_external//:defs.bzl", "maven_install") maven_install( artifacts = [ "org.jetbrains.kotlin:kotlin-stdlib:{}".format(_KOTLIN_COMPILER_VERSION), - "androidx.core:core-ktx:1.3.2", - "androidx.appcompat:appcompat:1.2.0", - "com.google.android.material:material:1.2.1", - "androidx.activity:activity-compose:1.3.0-alpha06", - "androidx.compose.material:material:1.0.0-beta04", - "androidx.compose.ui:ui:1.0.0-beta04", - "androidx.compose.ui:ui-tooling:1.0.0-beta04", - "androidx.compose.compiler:compiler:1.0.0-beta04", + "androidx.core:core-ktx:1.5.0", + "androidx.appcompat:appcompat:1.3.0", + "com.google.android.material:material:1.3.0", + "androidx.activity:activity-compose:1.3.0-alpha08", + "androidx.compose.material:material:1.0.0-beta07", + "androidx.compose.ui:ui:1.0.0-beta07", + "androidx.compose.ui:ui-tooling:1.0.0-beta07", + "androidx.compose.compiler:compiler:1.0.0-beta07", ], repositories = [ "https://maven.google.com", From f27aa5c68cb24a551914dfd9bf4744e8a0fa5de9 Mon Sep 17 00:00:00 2001 From: Marc Plano-Lesay Date: Mon, 12 Jul 2021 10:33:18 +1000 Subject: [PATCH 07/21] Clean-up WORKSPACE --- examples/jetpack_compose/WORKSPACE | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/examples/jetpack_compose/WORKSPACE b/examples/jetpack_compose/WORKSPACE index 3e78d4cc5..943056f27 100644 --- a/examples/jetpack_compose/WORKSPACE +++ b/examples/jetpack_compose/WORKSPACE @@ -1,5 +1,7 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") +_COMPOSE_VERSION = "1.0.0-beta07" + _KOTLIN_COMPILER_VERSION = "1.5.32" ## JVM External @@ -26,10 +28,10 @@ maven_install( "androidx.appcompat:appcompat:1.3.0", "com.google.android.material:material:1.3.0", "androidx.activity:activity-compose:1.3.0-alpha08", - "androidx.compose.material:material:1.0.0-beta07", - "androidx.compose.ui:ui:1.0.0-beta07", - "androidx.compose.ui:ui-tooling:1.0.0-beta07", - "androidx.compose.compiler:compiler:1.0.0-beta07", + "androidx.compose.material:material:{}".format(_COMPOSE_VERSION), + "androidx.compose.ui:ui:{}".format(_COMPOSE_VERSION), + "androidx.compose.ui:ui-tooling:{}".format(_COMPOSE_VERSION), + "androidx.compose.compiler:compiler:{}".format(_COMPOSE_VERSION), ], repositories = [ "https://maven.google.com", From 0e437dc28ec0fdb84e80fe1a440f1759620b0a11 Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Fri, 14 Jan 2022 12:25:29 -0800 Subject: [PATCH 08/21] Fix --- examples/jetpack_compose/WORKSPACE | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/examples/jetpack_compose/WORKSPACE b/examples/jetpack_compose/WORKSPACE index 943056f27..9f4d6409c 100644 --- a/examples/jetpack_compose/WORKSPACE +++ b/examples/jetpack_compose/WORKSPACE @@ -4,6 +4,25 @@ _COMPOSE_VERSION = "1.0.0-beta07" _KOTLIN_COMPILER_VERSION = "1.5.32" +# Setup Kotlin + +local_repository( + name = "release_archive", + path = "../../src/main/starlark/release_archive", +) + +load("@release_archive//:repository.bzl", "archive_repository") + +archive_repository( + name = "io_bazel_rules_kotlin", +) + +load("@io_bazel_rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories") + +kotlin_repositories() + +register_toolchains("//:kotlin_toolchain") + ## JVM External _RULES_JVM_EXTERNAL_VERSION = "4.0" From 6f33f4118e5bb169456f6e306c7da904ccf9ae4f Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Fri, 14 Jan 2022 12:30:06 -0800 Subject: [PATCH 09/21] More fixes --- examples/jetpack_compose/WORKSPACE | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/examples/jetpack_compose/WORKSPACE b/examples/jetpack_compose/WORKSPACE index 9f4d6409c..4bd797df8 100644 --- a/examples/jetpack_compose/WORKSPACE +++ b/examples/jetpack_compose/WORKSPACE @@ -17,7 +17,7 @@ archive_repository( name = "io_bazel_rules_kotlin", ) -load("@io_bazel_rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories") +load("@io_bazel_rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories", "versions") kotlin_repositories() @@ -147,7 +147,5 @@ load("@build_bazel_rules_android//android:rules.bzl", "android_sdk_repository") android_sdk_repository( name = "androidsdk", - api_level = 29, - build_tools_version = "30.0.1", + build_tools_version = versions.ANDROID.BUILD_TOOLS, # versions > 30.0.3 do not have the dx.jar anymore. ) - From b5eac740e94a929afa7869df52f4ae41568eaeb3 Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Fri, 14 Jan 2022 13:29:36 -0800 Subject: [PATCH 10/21] This is fine --- examples/jetpack_compose/BUILD | 15 ++++++- examples/jetpack_compose/WORKSPACE | 39 ++++++++++++++----- .../compose-app/AndroidManifest.xml | 6 +-- examples/jetpack_compose/compose-app/BUILD | 1 + .../compose-ui/AndroidManifest.xml | 23 +++++++---- examples/jetpack_compose/compose-ui/BUILD | 4 +- .../compose-ui/MainActivity.kt | 12 +++--- examples/jetpack_compose/stub/BUILD | 11 ++++++ .../jetpack_compose/stub/sun/misc/Signal.java | 4 ++ .../stub/sun/misc/SignalHandler.java | 4 ++ 10 files changed, 92 insertions(+), 27 deletions(-) create mode 100644 examples/jetpack_compose/stub/BUILD create mode 100644 examples/jetpack_compose/stub/sun/misc/Signal.java create mode 100644 examples/jetpack_compose/stub/sun/misc/SignalHandler.java diff --git a/examples/jetpack_compose/BUILD b/examples/jetpack_compose/BUILD index 5ceb5f11d..c17e4a80d 100644 --- a/examples/jetpack_compose/BUILD +++ b/examples/jetpack_compose/BUILD @@ -1,5 +1,5 @@ load("@io_bazel_rules_kotlin//kotlin:core.bzl", "define_kt_toolchain", "kt_compiler_plugin", "kt_kotlinc_options") -load("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_javac_options") +load("@io_bazel_rules_kotlin//kotlin:jvm.bzl", "kt_javac_options", "kt_jvm_import") load("@bazel_tools//tools/jdk:default_java_toolchain.bzl", "default_java_toolchain") # Java Toolchain @@ -41,3 +41,16 @@ kt_compiler_plugin( "@maven//:androidx_compose_compiler_compiler", ], ) + +# Add missing 'sun.misc' files to coroutines artifact +# Used in 'override_targets' by referencing @//:kotlinx_coroutines_core_jvm +kt_jvm_import( + name = "kotlinx_coroutines_core_jvm", + jars = ["@maven_secondary//:v1/https/repo1.maven.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-core-jvm/1.5.1/kotlinx-coroutines-core-jvm-1.5.1.jar"], + srcjar = "@maven_secondary//:v1/https/repo1.maven.org/maven2/org/jetbrains/kotlinx/kotlinx-coroutines-core-jvm/1.5.1/kotlinx-coroutines-core-jvm-1.5.1-sources.jar", + visibility = ["//visibility:public"], + deps = [ + "//stub:sun_misc", + "@maven//:org_jetbrains_kotlin_kotlin_stdlib", + ], +) diff --git a/examples/jetpack_compose/WORKSPACE b/examples/jetpack_compose/WORKSPACE index 4bd797df8..7b0bfd757 100644 --- a/examples/jetpack_compose/WORKSPACE +++ b/examples/jetpack_compose/WORKSPACE @@ -1,8 +1,8 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") -_COMPOSE_VERSION = "1.0.0-beta07" +_COMPOSE_VERSION = "1.0.2" -_KOTLIN_COMPILER_VERSION = "1.5.32" +_KOTLIN_COMPILER_VERSION = "1.5.21" # Setup Kotlin @@ -17,17 +17,22 @@ archive_repository( name = "io_bazel_rules_kotlin", ) -load("@io_bazel_rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories", "versions") +load("@io_bazel_rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories", "versions", "kotlinc_version") -kotlin_repositories() +kotlin_repositories( + compiler_release = kotlinc_version( + release = _KOTLIN_COMPILER_VERSION, + sha256 = "f3313afdd6abf1b8c75c6292f4e41f2dbafefc8f6c72762c7ba9b3daeef5da59", + ), +) register_toolchains("//:kotlin_toolchain") ## JVM External -_RULES_JVM_EXTERNAL_VERSION = "4.0" +_RULES_JVM_EXTERNAL_VERSION = "4.2" -_RULES_JVM_EXTERNAL_SHA = "31701ad93dbfe544d597dbe62c9a1fdd76d81d8a9150c2bf1ecf928ecdf97169" +_RULES_JVM_EXTERNAL_SHA = "cd1a77b7b02e8e008439ca76fd34f5b07aecb8c752961f9640dea15e9e5ba1ca" http_archive( name = "rules_jvm_external", @@ -40,24 +45,40 @@ http_archive( load("@rules_jvm_external//:defs.bzl", "maven_install") + maven_install( artifacts = [ "org.jetbrains.kotlin:kotlin-stdlib:{}".format(_KOTLIN_COMPILER_VERSION), - "androidx.core:core-ktx:1.5.0", + "androidx.core:core-ktx:1.6.0", "androidx.appcompat:appcompat:1.3.0", - "com.google.android.material:material:1.3.0", - "androidx.activity:activity-compose:1.3.0-alpha08", + "androidx.activity:activity-compose:1.3.0", "androidx.compose.material:material:{}".format(_COMPOSE_VERSION), "androidx.compose.ui:ui:{}".format(_COMPOSE_VERSION), "androidx.compose.ui:ui-tooling:{}".format(_COMPOSE_VERSION), "androidx.compose.compiler:compiler:{}".format(_COMPOSE_VERSION), + "androidx.compose.runtime:runtime:{}".format(_COMPOSE_VERSION), ], + override_targets = { + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm": "@//:kotlinx_coroutines_core_jvm", + }, repositories = [ "https://maven.google.com", "https://repo1.maven.org/maven2", ], ) +# Secondary maven repository used mainly for workarounds +maven_install( + name = "maven_secondary", + artifacts = [ + # Workaround to add missing 'sun.misc' dependencies to 'kotlinx-coroutines-core-jvm' artifact + # Check root BUILD file and 'override_targets' arg of a primary 'maven_install' + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.1", + ], + fetch_sources = True, + repositories = ["https://repo1.maven.org/maven2"], +) + ## Stardoc _STARDOC_VERSION = "0.4.0" diff --git a/examples/jetpack_compose/compose-app/AndroidManifest.xml b/examples/jetpack_compose/compose-app/AndroidManifest.xml index 8466a912b..f3eb21691 100644 --- a/examples/jetpack_compose/compose-app/AndroidManifest.xml +++ b/examples/jetpack_compose/compose-app/AndroidManifest.xml @@ -1,6 +1,6 @@ + package="cm.ben.android.bazel.compose.example"> - - + + \ No newline at end of file diff --git a/examples/jetpack_compose/compose-app/BUILD b/examples/jetpack_compose/compose-app/BUILD index b9320d5a4..5c8f92216 100644 --- a/examples/jetpack_compose/compose-app/BUILD +++ b/examples/jetpack_compose/compose-app/BUILD @@ -5,6 +5,7 @@ load("@bazel_skylib//rules:build_test.bzl", "build_test") android_binary( name = "compose_example_app", custom_package = "cm.ben.android.bazel.compose.example", + dex_shards = 5, incremental_dexing = 1, manifest = "AndroidManifest.xml", multidex = "native", diff --git a/examples/jetpack_compose/compose-ui/AndroidManifest.xml b/examples/jetpack_compose/compose-ui/AndroidManifest.xml index 830c62504..5edbb6300 100644 --- a/examples/jetpack_compose/compose-ui/AndroidManifest.xml +++ b/examples/jetpack_compose/compose-ui/AndroidManifest.xml @@ -1,19 +1,28 @@ + xmlns:tools="http://schemas.android.com/tools" + package="cm.ben.android.bazel.compose.example.ui"> - + + android:label="Bazel Jetpack Compose Example" + android:theme="@style/Theme.AppCompat.Light.NoActionBar"> + android:name=".MainActivity" + android:label="Bazel Jetpack Compose Example"> + + + - + \ No newline at end of file diff --git a/examples/jetpack_compose/compose-ui/BUILD b/examples/jetpack_compose/compose-ui/BUILD index 09a1fd72a..2a32e1c8e 100644 --- a/examples/jetpack_compose/compose-ui/BUILD +++ b/examples/jetpack_compose/compose-ui/BUILD @@ -11,10 +11,10 @@ kt_android_library( "@maven//:androidx_activity_activity_compose", "@maven//:androidx_appcompat_appcompat", "@maven//:androidx_compose_material_material", + "@maven//:androidx_compose_runtime_runtime", "@maven//:androidx_compose_ui_ui", "@maven//:androidx_compose_ui_ui_tooling", "@maven//:androidx_core_core_ktx", - "@maven//:com_google_android_material_material", "@maven//:org_jetbrains_kotlin_kotlin_stdlib", ], -) +) \ No newline at end of file diff --git a/examples/jetpack_compose/compose-ui/MainActivity.kt b/examples/jetpack_compose/compose-ui/MainActivity.kt index cefdca041..76524bf59 100644 --- a/examples/jetpack_compose/compose-ui/MainActivity.kt +++ b/examples/jetpack_compose/compose-ui/MainActivity.kt @@ -5,15 +5,17 @@ import androidx.activity.compose.setContent import androidx.appcompat.app.AppCompatActivity import androidx.compose.material.Text import androidx.compose.runtime.Composable +import androidx.compose.ui.tooling.preview.Preview class MainActivity : AppCompatActivity() { - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - setContent { - Greeting("world") - } + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContent { + Greeting("world") } + } } +@Preview @Composable fun Greeting(name: String) = Text(text = "Hello $name!") diff --git a/examples/jetpack_compose/stub/BUILD b/examples/jetpack_compose/stub/BUILD new file mode 100644 index 000000000..00d3bb6d2 --- /dev/null +++ b/examples/jetpack_compose/stub/BUILD @@ -0,0 +1,11 @@ +load("@rules_java//java:defs.bzl", "java_library") + +java_library( + name = "sun_misc", + srcs = [ + "sun/misc/Signal.java", + "sun/misc/SignalHandler.java", + ], + neverlink = True, + visibility = ["//visibility:public"], +) \ No newline at end of file diff --git a/examples/jetpack_compose/stub/sun/misc/Signal.java b/examples/jetpack_compose/stub/sun/misc/Signal.java new file mode 100644 index 000000000..fea83346d --- /dev/null +++ b/examples/jetpack_compose/stub/sun/misc/Signal.java @@ -0,0 +1,4 @@ +package sun.misc; + +public final class Signal { +} \ No newline at end of file diff --git a/examples/jetpack_compose/stub/sun/misc/SignalHandler.java b/examples/jetpack_compose/stub/sun/misc/SignalHandler.java new file mode 100644 index 000000000..169980480 --- /dev/null +++ b/examples/jetpack_compose/stub/sun/misc/SignalHandler.java @@ -0,0 +1,4 @@ +package sun.misc; + +public interface SignalHandler { +} \ No newline at end of file From f235954648b4b278e0e994ae516be88c20440485 Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Fri, 14 Jan 2022 13:31:02 -0800 Subject: [PATCH 11/21] Formatting --- examples/jetpack_compose/WORKSPACE | 3 +-- examples/jetpack_compose/compose-ui/BUILD | 2 +- examples/jetpack_compose/stub/BUILD | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/examples/jetpack_compose/WORKSPACE b/examples/jetpack_compose/WORKSPACE index 7b0bfd757..eb37cd571 100644 --- a/examples/jetpack_compose/WORKSPACE +++ b/examples/jetpack_compose/WORKSPACE @@ -17,7 +17,7 @@ archive_repository( name = "io_bazel_rules_kotlin", ) -load("@io_bazel_rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories", "versions", "kotlinc_version") +load("@io_bazel_rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories", "kotlinc_version", "versions") kotlin_repositories( compiler_release = kotlinc_version( @@ -45,7 +45,6 @@ http_archive( load("@rules_jvm_external//:defs.bzl", "maven_install") - maven_install( artifacts = [ "org.jetbrains.kotlin:kotlin-stdlib:{}".format(_KOTLIN_COMPILER_VERSION), diff --git a/examples/jetpack_compose/compose-ui/BUILD b/examples/jetpack_compose/compose-ui/BUILD index 2a32e1c8e..cc5b55465 100644 --- a/examples/jetpack_compose/compose-ui/BUILD +++ b/examples/jetpack_compose/compose-ui/BUILD @@ -17,4 +17,4 @@ kt_android_library( "@maven//:androidx_core_core_ktx", "@maven//:org_jetbrains_kotlin_kotlin_stdlib", ], -) \ No newline at end of file +) diff --git a/examples/jetpack_compose/stub/BUILD b/examples/jetpack_compose/stub/BUILD index 00d3bb6d2..99d1ea12a 100644 --- a/examples/jetpack_compose/stub/BUILD +++ b/examples/jetpack_compose/stub/BUILD @@ -8,4 +8,4 @@ java_library( ], neverlink = True, visibility = ["//visibility:public"], -) \ No newline at end of file +) From f93c3e1f6c273f55cb158e58affa6f856ad75c32 Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Fri, 14 Jan 2022 13:34:36 -0800 Subject: [PATCH 12/21] Testing with 30.0.2 --- src/main/starlark/core/repositories/versions.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/starlark/core/repositories/versions.bzl b/src/main/starlark/core/repositories/versions.bzl index 8ce8db7d5..c0cb22212 100644 --- a/src/main/starlark/core/repositories/versions.bzl +++ b/src/main/starlark/core/repositories/versions.bzl @@ -36,7 +36,7 @@ versions = struct( VERSION = "0.1.1", SHA = "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806", URLS = ["https://github.com/bazelbuild/rules_android/archive/v%s.zip" % "0.1.1"], - BUILD_TOOLS = "30.0.3", + BUILD_TOOLS = "30.0.2", ), PYTHON = struct( VERSION = "0.2.0", From ad15326653f356cae1c483ed5bf7573958ddb7ad Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Fri, 14 Jan 2022 13:45:20 -0800 Subject: [PATCH 13/21] Revert "Testing with 30.0.2" This reverts commit f93c3e1f6c273f55cb158e58affa6f856ad75c32. --- src/main/starlark/core/repositories/versions.bzl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/starlark/core/repositories/versions.bzl b/src/main/starlark/core/repositories/versions.bzl index c0cb22212..8ce8db7d5 100644 --- a/src/main/starlark/core/repositories/versions.bzl +++ b/src/main/starlark/core/repositories/versions.bzl @@ -36,7 +36,7 @@ versions = struct( VERSION = "0.1.1", SHA = "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806", URLS = ["https://github.com/bazelbuild/rules_android/archive/v%s.zip" % "0.1.1"], - BUILD_TOOLS = "30.0.2", + BUILD_TOOLS = "30.0.3", ), PYTHON = struct( VERSION = "0.2.0", From 5f09f7a70543f009013013690ecd162c0108f177 Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Fri, 14 Jan 2022 13:58:09 -0800 Subject: [PATCH 14/21] Fix --- .bazelci/presubmit.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.bazelci/presubmit.yml b/.bazelci/presubmit.yml index 53c929709..f1600c598 100644 --- a/.bazelci/presubmit.yml +++ b/.bazelci/presubmit.yml @@ -82,11 +82,7 @@ tasks: example-jetpack-compose: name: "Example - Jetpack Compose" platform: ubuntu1804 - shell_commands: - - "cd ../.. && bazel build //:rules_kotlin_release && rm -rf /tmp/rules_kotlin_release && mkdir -p /tmp/rules_kotlin_release && tar -C /tmp/rules_kotlin_release -xvf bazel-bin/rules_kotlin_release.tgz" working_directory: examples/jetpack_compose - test_flags: - - "--override_repository=io_bazel_rules_kotlin=/tmp/rules_kotlin_release" test_targets: - //... stardoc: From 721823392a48d406d4dda53eb53a481586179a3f Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Fri, 14 Jan 2022 14:05:07 -0800 Subject: [PATCH 15/21] Update --- examples/jetpack_compose/WORKSPACE | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/examples/jetpack_compose/WORKSPACE b/examples/jetpack_compose/WORKSPACE index eb37cd571..2b8df4f99 100644 --- a/examples/jetpack_compose/WORKSPACE +++ b/examples/jetpack_compose/WORKSPACE @@ -1,8 +1,9 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") -_COMPOSE_VERSION = "1.0.2" +_COMPOSE_VERSION = "1.1.0-beta03" -_KOTLIN_COMPILER_VERSION = "1.5.21" +_KOTLIN_COMPILER_VERSION = "1.5.31" +_KOTLIN_COMPILER_SHA = "661111286f3e5ac06aaf3a9403d869d9a96a176b62b141814be626a47249fe9e" # Setup Kotlin @@ -22,7 +23,7 @@ load("@io_bazel_rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories", " kotlin_repositories( compiler_release = kotlinc_version( release = _KOTLIN_COMPILER_VERSION, - sha256 = "f3313afdd6abf1b8c75c6292f4e41f2dbafefc8f6c72762c7ba9b3daeef5da59", + sha256 = _KOTLIN_COMPILER_SHA, ), ) From 57ceed5268d776ebc09f319722d4a5b686fbca1e Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Fri, 14 Jan 2022 14:07:47 -0800 Subject: [PATCH 16/21] Formatting --- examples/jetpack_compose/WORKSPACE | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/jetpack_compose/WORKSPACE b/examples/jetpack_compose/WORKSPACE index 2b8df4f99..7a580b55a 100644 --- a/examples/jetpack_compose/WORKSPACE +++ b/examples/jetpack_compose/WORKSPACE @@ -3,6 +3,7 @@ load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") _COMPOSE_VERSION = "1.1.0-beta03" _KOTLIN_COMPILER_VERSION = "1.5.31" + _KOTLIN_COMPILER_SHA = "661111286f3e5ac06aaf3a9403d869d9a96a176b62b141814be626a47249fe9e" # Setup Kotlin From fb3b782bc2a987b6281b39c753e16ac1da4610fc Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Fri, 14 Jan 2022 14:21:43 -0800 Subject: [PATCH 17/21] More --- examples/jetpack_compose/WORKSPACE | 76 ++++------------------ examples/jetpack_compose/compose-app/BUILD | 2 +- 2 files changed, 13 insertions(+), 65 deletions(-) diff --git a/examples/jetpack_compose/WORKSPACE b/examples/jetpack_compose/WORKSPACE index 7a580b55a..e57e60267 100644 --- a/examples/jetpack_compose/WORKSPACE +++ b/examples/jetpack_compose/WORKSPACE @@ -32,17 +32,11 @@ register_toolchains("//:kotlin_toolchain") ## JVM External -_RULES_JVM_EXTERNAL_VERSION = "4.2" - -_RULES_JVM_EXTERNAL_SHA = "cd1a77b7b02e8e008439ca76fd34f5b07aecb8c752961f9640dea15e9e5ba1ca" - http_archive( name = "rules_jvm_external", - sha256 = _RULES_JVM_EXTERNAL_SHA, - strip_prefix = "rules_jvm_external-{}".format(_RULES_JVM_EXTERNAL_VERSION), - urls = [ - "https://github.com/bazelbuild/rules_jvm_external/archive/{}.zip".format(_RULES_JVM_EXTERNAL_VERSION), - ], + sha256 = versions.RULES_JVM_EXTERNAL_SHA, + strip_prefix = "rules_jvm_external-%s" % versions.RULES_JVM_EXTERNAL_TAG, + url = "https://github.com/bazelbuild/rules_jvm_external/archive/%s.zip" % versions.RULES_JVM_EXTERNAL_TAG, ) load("@rules_jvm_external//:defs.bzl", "maven_install") @@ -80,55 +74,15 @@ maven_install( repositories = ["https://repo1.maven.org/maven2"], ) -## Stardoc - -_STARDOC_VERSION = "0.4.0" - -_STARDOC_SHA = "36b8d6c2260068b9ff82faea2f7add164bf3436eac9ba3ec14809f335346d66a" - -http_archive( - name = "io_bazel_stardoc", - sha256 = _STARDOC_SHA, - strip_prefix = "stardoc-{}".format(_STARDOC_VERSION), - urls = [ - "https://github.com/bazelbuild/stardoc/archive/{}.zip".format(_STARDOC_VERSION), - ], -) - -load("@io_bazel_stardoc//:setup.bzl", "stardoc_repositories") - -stardoc_repositories() - -## Import Skylib - -_SKYLIB_VERSION = "1.0.2" - -_SKYLIB_SHA = "97e70364e9249702246c0e9444bccdc4b847bed1eb03c5a3ece4f83dfe6abc44" - -http_archive( - name = "bazel_skylib", - sha256 = _SKYLIB_SHA, - urls = [ - "https://github.com/bazelbuild/bazel-skylib/releases/download/{0}/bazel-skylib-{0}.tar.gz".format(_SKYLIB_VERSION), - ], -) - -load("@bazel_skylib//:workspace.bzl", "bazel_skylib_workspace") - -bazel_skylib_workspace() - ## Protobuf -_PROTOBUF_VERSION = "3.14.0" - -_PROTOBUF_SHA = "bf0e5070b4b99240183b29df78155eee335885e53a8af8683964579c214ad301" - http_archive( name = "com_google_protobuf", - sha256 = _PROTOBUF_SHA, - strip_prefix = "protobuf-{}".format(_PROTOBUF_VERSION), + sha256 = versions.PROTOBUF_SHA, + strip_prefix = "protobuf-%s" % versions.PROTOBUF_VERSION, urls = [ - "https://github.com/protocolbuffers/protobuf/archive/v{}.zip".format(_PROTOBUF_VERSION), + "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v%s.tar.gz" % versions.PROTOBUF_VERSION, + "https://github.com/protocolbuffers/protobuf/archive/v%s.tar.gz" % versions.PROTOBUF_VERSION, ], ) @@ -152,20 +106,14 @@ http_archive( ## Android -_RULES_ANDROID_VERSION = "0.1.1" - -_RULES_ANDROID_SHA = "cd06d15dd8bb59926e4d65f9003bfc20f9da4b2519985c27e190cddc8b7a7806" - http_archive( - name = "build_bazel_rules_android", - sha256 = _RULES_ANDROID_SHA, - strip_prefix = "rules_android-{}".format(_RULES_ANDROID_VERSION), - urls = [ - "https://github.com/bazelbuild/rules_android/archive/v{}.zip".format(_RULES_ANDROID_VERSION), - ], + name = "rules_android", + sha256 = versions.ANDROID.SHA, + strip_prefix = "rules_android-%s"% versions.ANDROID.VERSION, + urls = ["https://github.com/bazelbuild/rules_android/archive/v%s.zip"% versions.ANDROID.VERSION], ) -load("@build_bazel_rules_android//android:rules.bzl", "android_sdk_repository") +load("@rules_android//android:rules.bzl", "android_sdk_repository") android_sdk_repository( name = "androidsdk", diff --git a/examples/jetpack_compose/compose-app/BUILD b/examples/jetpack_compose/compose-app/BUILD index 5c8f92216..c8f2824f5 100644 --- a/examples/jetpack_compose/compose-app/BUILD +++ b/examples/jetpack_compose/compose-app/BUILD @@ -1,4 +1,4 @@ -load("@build_bazel_rules_android//android:rules.bzl", "android_binary") +load("@rules_android//android:rules.bzl", "android_binary") load("@bazel_skylib//rules:build_test.bzl", "build_test") # An app that consumes android-kt deps From ebf6d9bf00603758188d6d769e970aea177b7d92 Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Fri, 14 Jan 2022 14:22:26 -0800 Subject: [PATCH 18/21] Formatting --- examples/jetpack_compose/WORKSPACE | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/jetpack_compose/WORKSPACE b/examples/jetpack_compose/WORKSPACE index e57e60267..ba6cf0c68 100644 --- a/examples/jetpack_compose/WORKSPACE +++ b/examples/jetpack_compose/WORKSPACE @@ -109,8 +109,8 @@ http_archive( http_archive( name = "rules_android", sha256 = versions.ANDROID.SHA, - strip_prefix = "rules_android-%s"% versions.ANDROID.VERSION, - urls = ["https://github.com/bazelbuild/rules_android/archive/v%s.zip"% versions.ANDROID.VERSION], + strip_prefix = "rules_android-%s" % versions.ANDROID.VERSION, + urls = ["https://github.com/bazelbuild/rules_android/archive/v%s.zip" % versions.ANDROID.VERSION], ) load("@rules_android//android:rules.bzl", "android_sdk_repository") From dd1a5aa6adf771169bf1f4cb804b6018e4cd3bcc Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Fri, 14 Jan 2022 14:24:51 -0800 Subject: [PATCH 19/21] More --- examples/jetpack_compose/WORKSPACE | 33 ++++++------------------------ 1 file changed, 6 insertions(+), 27 deletions(-) diff --git a/examples/jetpack_compose/WORKSPACE b/examples/jetpack_compose/WORKSPACE index ba6cf0c68..51e562183 100644 --- a/examples/jetpack_compose/WORKSPACE +++ b/examples/jetpack_compose/WORKSPACE @@ -74,34 +74,13 @@ maven_install( repositories = ["https://repo1.maven.org/maven2"], ) -## Protobuf - http_archive( - name = "com_google_protobuf", - sha256 = versions.PROTOBUF_SHA, - strip_prefix = "protobuf-%s" % versions.PROTOBUF_VERSION, - urls = [ - "https://mirror.bazel.build/github.com/protocolbuffers/protobuf/archive/v%s.tar.gz" % versions.PROTOBUF_VERSION, - "https://github.com/protocolbuffers/protobuf/archive/v%s.tar.gz" % versions.PROTOBUF_VERSION, - ], -) - -load("@com_google_protobuf//:protobuf_deps.bzl", "protobuf_deps") - -protobuf_deps() - -## Rules PKG - -_RULES_PKG_VERSION = "0.2.4" - -_RULES_PKG_SHA = "4ba8f4ab0ff85f2484287ab06c0d871dcb31cc54d439457d28fd4ae14b18450a" - -http_archive( - name = "rules_pkg", - sha256 = _RULES_PKG_SHA, - urls = [ - "https://github.com/bazelbuild/rules_pkg/releases/download/{0}/rules_pkg-{0}.tar.gz".format(_RULES_PKG_VERSION), - ], + name = "bazel_skylib", + sha256 = versions.SKYLIB_SHA, + urls = ["https://github.com/bazelbuild/bazel-skylib/releases/download/%s/bazel-skylib-%s.tar.gz" % ( + versions.SKYLIB_VERSION, + versions.SKYLIB_VERSION, + )], ) ## Android From 195c959c14c51747ae30c3bba4627de21a3e6459 Mon Sep 17 00:00:00 2001 From: Benjamin Lee Date: Fri, 14 Jan 2022 14:27:43 -0800 Subject: [PATCH 20/21] More --- examples/jetpack_compose/{compose-app => app}/AndroidManifest.xml | 0 examples/jetpack_compose/{compose-app => app}/BUILD | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename examples/jetpack_compose/{compose-app => app}/AndroidManifest.xml (100%) rename examples/jetpack_compose/{compose-app => app}/BUILD (100%) diff --git a/examples/jetpack_compose/compose-app/AndroidManifest.xml b/examples/jetpack_compose/app/AndroidManifest.xml similarity index 100% rename from examples/jetpack_compose/compose-app/AndroidManifest.xml rename to examples/jetpack_compose/app/AndroidManifest.xml diff --git a/examples/jetpack_compose/compose-app/BUILD b/examples/jetpack_compose/app/BUILD similarity index 100% rename from examples/jetpack_compose/compose-app/BUILD rename to examples/jetpack_compose/app/BUILD From c1920ffb4449c2361f1372395740e149b0359a5b Mon Sep 17 00:00:00 2001 From: Ben Lee Date: Sat, 15 Jan 2022 05:20:45 +0000 Subject: [PATCH 21/21] Update WORKSPACE --- examples/jetpack_compose/WORKSPACE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/jetpack_compose/WORKSPACE b/examples/jetpack_compose/WORKSPACE index 51e562183..c3e0e475c 100644 --- a/examples/jetpack_compose/WORKSPACE +++ b/examples/jetpack_compose/WORKSPACE @@ -68,7 +68,7 @@ maven_install( artifacts = [ # Workaround to add missing 'sun.misc' dependencies to 'kotlinx-coroutines-core-jvm' artifact # Check root BUILD file and 'override_targets' arg of a primary 'maven_install' - "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.1", + "org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.5.2", ], fetch_sources = True, repositories = ["https://repo1.maven.org/maven2"],