-
Notifications
You must be signed in to change notification settings - Fork 251
Expand file tree
/
Copy pathWORKSPACE
More file actions
132 lines (96 loc) · 4.37 KB
/
WORKSPACE
File metadata and controls
132 lines (96 loc) · 4.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
http_archive(
name = "rules_kotlin",
sha256 = "34e8c0351764b71d78f76c8746e98063979ce08dcf1a91666f3f3bc2949a533d",
url = "https://github.com/bazel-contrib/rules_kotlin/releases/download/v1.9.5/rules_kotlin-v1.9.5.tar.gz",
)
load("@rules_kotlin//kotlin:repositories.bzl", "kotlin_repositories", "versions")
http_archive(
name = "rules_jvm_external",
sha256 = versions.RULES_JVM_EXTERNAL.sha256,
strip_prefix = "rules_jvm_external-%s" % versions.RULES_JVM_EXTERNAL.version,
urls = [url.format(version = versions.RULES_JVM_EXTERNAL.version) for url in versions.RULES_JVM_EXTERNAL.url_templates],
)
http_archive(
name = "rules_android",
sha256 = versions.RULES_ANDROID.sha256,
strip_prefix = versions.RULES_ANDROID.strip_prefix_template.format(version = versions.RULES_ANDROID.version),
urls = [url.format(version = versions.RULES_ANDROID.version) for url in versions.RULES_ANDROID.url_templates],
)
http_archive(
name = "bazel_skylib",
sha256 = versions.BAZEL_SKYLIB.sha256,
urls = [url.format(version = versions.BAZEL_SKYLIB.version) for url in versions.BAZEL_SKYLIB.url_templates],
)
http_archive(
name = "bazel_features",
sha256 = versions.BAZEL_FEATURES.sha256,
strip_prefix = versions.BAZEL_FEATURES.strip_prefix_template.format(version = versions.BAZEL_FEATURES.version),
urls = [url.format(version = versions.BAZEL_FEATURES.version) for url in versions.BAZEL_FEATURES.url_templates],
)
load("@bazel_features//:deps.bzl", "bazel_features_deps")
bazel_features_deps()
http_archive(
name = "bazel_lib",
sha256 = versions.BAZEL_LIB.sha256,
strip_prefix = versions.BAZEL_LIB.strip_prefix_template.format(version = versions.BAZEL_LIB.version),
urls = [url.format(version = versions.BAZEL_LIB.version) for url in versions.BAZEL_LIB.url_templates],
)
http_archive(
name = "rules_cc",
sha256 = versions.RULES_CC.sha256,
strip_prefix = versions.RULES_CC.strip_prefix_template.format(version = versions.RULES_CC.version),
urls = [url.format(version = versions.RULES_CC.version) for url in versions.RULES_CC.url_templates],
)
load("@rules_cc//cc:repositories.bzl", "rules_cc_dependencies", "rules_cc_toolchains")
rules_cc_dependencies()
rules_cc_toolchains()
http_archive(
name = "rules_java",
sha256 = versions.RULES_JAVA.sha256,
urls = [url.format(version = versions.RULES_JAVA.version) for url in versions.RULES_JAVA.url_templates],
)
# Android rules dependencies
load("@rules_android//:prereqs.bzl", "rules_android_prereqs")
rules_android_prereqs()
##### rules_java setup for rules_android #####
load("@rules_java//java:rules_java_deps.bzl", "rules_java_dependencies")
rules_java_dependencies()
# note that the following line is what is minimally required from protobuf for the java rules
# consider using the protobuf_deps() public API from @com_google_protobuf//:protobuf_deps.bzl
load("@com_google_protobuf//bazel/private:proto_bazel_features.bzl", "proto_bazel_features") # buildifier: disable=bzl-visibility
proto_bazel_features(name = "proto_bazel_features")
# register toolchains
load("@rules_java//java:repositories.bzl", "rules_java_toolchains")
rules_java_toolchains()
##### rules_jvm_external setup for rules_android #####
load("@rules_jvm_external//:repositories.bzl", "rules_jvm_external_deps")
rules_jvm_external_deps()
load("@rules_jvm_external//:setup.bzl", "rules_jvm_external_setup")
rules_jvm_external_setup()
##### rules_android setup #####
load("@rules_android//:defs.bzl", "rules_android_workspace")
rules_android_workspace()
# Android SDK setup
load("@rules_android//rules:rules.bzl", "android_sdk_repository")
android_sdk_repository(name = "androidsdk")
register_toolchains(
"@rules_android//toolchains/android:android_default_toolchain",
"@rules_android//toolchains/android_sdk:android_sdk_tools",
)
kotlin_repositories()
load("@rules_kotlin//kotlin:core.bzl", "kt_register_toolchains")
kt_register_toolchains()
load("@rules_jvm_external//:defs.bzl", "maven_install")
maven_install(
name = "maven_rules_kotlin_example",
aar_import_bzl_label = "@rules_android//rules:rules.bzl",
artifacts = [
"junit:junit:4.13.2",
"org.jetbrains.kotlinx:kotlinx-serialization-core-jvm:1.10.0",
],
repositories = [
"https://repo1.maven.org/maven2",
],
use_starlark_android_rules = True,
)