summaryrefslogtreecommitdiff
path: root/studio/BUILD
blob: f08605112ad29fdb30e8268c1818945dbb74d386 (plain)
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
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
load("//tools/base/bazel:bazel.bzl", "iml_module")
load("//tools/adt/idea/studio:studio.bzl", "android_studio", "studio_plugin")

studio_plugin(
    name = "org.jetbrains.android",
    directory = "android",
    libs = [
        "//prebuilts/r8",
        "//prebuilts/tools/common/archive-patcher:explainer",
        "//prebuilts/tools/common/archive-patcher:generator",
        "//prebuilts/tools/common/archive-patcher:shared",
        "//prebuilts/tools/common/m2:okio",
        "//prebuilts/tools/common/m2:moshi",
        "//prebuilts/tools/common/m2:utp-core-proto",
        "//prebuilts/tools/common/m2:eclipse-layout-kernel",
        "//prebuilts/tools/common/m2:juniversalchardet",
        "//prebuilts/tools/common/m2:commons-lang",
        "//prebuilts/tools/common/m2:javapoet",
        "//prebuilts/tools/common/m2:auto-common",
        "//prebuilts/tools/common/m2:jetifier-core",
        "//prebuilts/tools/common/m2:flatbuffers-java",
        "//prebuilts/tools/common/m2:tensorflow-lite-metadata",
        "//tools/adt/idea/.idea/libraries:aapt-proto",
        "//tools/adt/idea/.idea/libraries:aia-proto",
        "//tools/adt/idea/.idea/libraries:android-test-plugin-host-device-info-proto",
        "//tools/adt/idea/.idea/libraries:asm-tools",
        "//tools/adt/idea/.idea/libraries:baksmali",
        "//tools/adt/idea/.idea/libraries:dexlib2",
        "//tools/adt/idea/.idea/libraries:emulator-proto",
        "//tools/adt/idea/.idea/libraries:ffmpeg",
        "//tools/adt/idea/.idea/libraries:firebase_java_proto",
        "//tools/adt/idea/.idea/libraries:javax-inject",
        "//tools/adt/idea/.idea/libraries:kotlinx-coroutines-guava",
        "//tools/adt/idea/.idea/libraries:kxml2",
        "//tools/adt/idea/.idea/libraries:layoutinspector-skia-proto",
        "//tools/adt/idea/.idea/libraries:layoutinspector-view-proto",
        "//tools/adt/idea/.idea/libraries:libam-instrumentation-data-proto",
        "//tools/adt/idea/.idea/libraries:libapp-processes-proto",
        "//tools/adt/idea/.idea/libraries:network_inspector_java_proto",
        "//tools/adt/idea/.idea/libraries:perfetto-proto",
        "//tools/adt/idea/.idea/libraries:sqlite-inspector-proto",
        "//tools/adt/idea/.idea/libraries:sqlite",
        "//tools/adt/idea/.idea/libraries:studio-analytics-proto",
        "//tools/adt/idea/.idea/libraries:studio-grpc",
        "//tools/adt/idea/.idea/libraries:studio-proto",
        "//tools/adt/idea/.idea/libraries:transport-proto",
        "//tools/adt/idea/.idea/libraries:zxing-core",
        "//tools/adt/idea/android:libandroid-core-proto",
        "//tools/adt/idea/android:libstudio.android-test-plugin-host-retention-proto",
        "//tools/adt/idea/android/lib:android-sdk-tools-jps",
        "//tools/adt/idea/android/lib:instantapps-api",
        "//tools/adt/idea/android/lib:spantable",
        "//tools/adt/idea/app-inspection/inspectors/backgroundtask/model:background-inspector-proto",
        "//tools/adt/idea/app-inspection/inspectors/backgroundtask/model:workmanager-inspector-proto",
        "//tools/adt/idea/app-inspection/inspectors/backgroundtask/view:background-inspector-proto",
        "//tools/adt/idea/app-inspection/inspectors/backgroundtask/view:workmanager-inspector-proto",
        "//tools/adt/idea/app-inspection/inspectors/workmanager/model:workmanager-inspector-proto",
        "//tools/adt/idea/app-inspection/inspectors/workmanager/view:workmanager-inspector-proto",
        "//tools/adt/idea/compose-designer:ui-animation-tooling-internal",
        "//tools/adt/idea/profilers-android:traceprocessor-proto",
        "//tools/adt/idea/profilers:traceprocessor-proto",
        "//tools/adt/idea/project-system-gradle/lib:pepk",
        "//tools/adt/idea/utp:libstudio.android-test-plugin-result-listener-gradle-proto",
        "//tools/base/deploy/deployer:deploy_java_proto",
        "//tools/base/deploy/deployer:libjava_sites",
        "//tools/adt/idea/debuggers:libjava_sites",
        "//tools/base/deploy/deployer:libjava_version",
        "//tools/vendor/google/game-tools/main:game-tools-protos",
        "//tools/data-binding:compilerCommon.antlr_runtime.shaded",
        "//tools/data-binding:compilerCommon.antlr.shaded",
    ],
    licenses = [
        "//tools/adt/idea/android/lib:licenses",
    ],
    modules = {
        "adt-ui.jar": [
            "//tools/adt/idea/adt-ui-model:intellij.android.adt.ui.model",
            "//tools/adt/idea/adt-ui:intellij.android.adt.ui",
        ],
        "android-common.jar": [
            "//tools/adt/idea/android-common:intellij.android.common",
            "//tools/adt/idea/jps-model:intellij.android.jps.model",
        ],
        "android-extensions-ide.jar": [
            "//tools/adt/idea/android-kotlin:intellij.android.kotlin.extensions",
            "//tools/adt/idea/android-kotlin:intellij.android.kotlin.extensions.common",
        ],
        "android-kotlin.jar": [
            "//tools/adt/idea/android-kotlin:intellij.android.kotlin.idea",
            "//tools/adt/idea/android-kotlin:intellij.android.kotlin.output.parser",
        ],
        "android-profilers.jar": [
            "//tools/adt/idea/profilers-atrace:intellij.android.profilers.atrace",
            "//tools/adt/idea/profilers-ui:intellij.android.profilers.ui",
            "//tools/adt/idea/profilers:intellij.android.profilers",
            "//tools/adt/idea/transport-database:intellij.android.transportDatabase",
        ],
        "android-rt.jar": [
            "//tools/adt/idea/rt:intellij.android.rt",
        ],
        "android.jar": [
            "//tools/adt/idea/analytics:analytics",
            "//tools/base/flags:studio.android.sdktools.flags",
            "//tools/adt/idea/assistant:assistant",
            "//tools/adt/idea/connection-assistant:connection-assistant",
            "//tools/adt/idea/android-adb:intellij.android.adb",
            "//tools/adt/idea/android-lint:intellij.android.lint",
            "//tools/adt/idea/android-templates:intellij.android.templates",
            "//tools/adt/idea/apkanalyzer:intellij.android.apkanalyzer",
            "//tools/adt/idea/app-inspection/api:app-inspection.api",
            "//tools/adt/idea/app-inspection/ide:app-inspection.ide",
            "//tools/adt/idea/app-inspection/inspector/api:app-inspection.inspector.api",
            "//tools/adt/idea/app-inspection/inspector/ide:app-inspection.inspector.ide",
            "//tools/adt/idea/app-inspection/inspectors/backgroundtask/ide:app-inspection.inspectors.backgroundtask.ide",
            "//tools/adt/idea/app-inspection/inspectors/backgroundtask/model:app-inspection.inspectors.backgroundtask.model",
            "//tools/adt/idea/app-inspection/inspectors/backgroundtask/view:app-inspection.inspectors.backgroundtask.view",
            "//tools/adt/idea/app-inspection/inspectors/workmanager/ide:app-inspection.inspectors.workmanager.ide",
            "//tools/adt/idea/app-inspection/inspectors/workmanager/model:app-inspection.inspectors.workmanager.model",
            "//tools/adt/idea/app-inspection/inspectors/workmanager/view:app-inspection.inspectors.workmanager.view",
            "//tools/adt/idea/build-attribution:intellij.android.build-attribution",
            "//tools/adt/idea/intellij.android.compose-common:intellij.android.compose-common",
            "//tools/adt/idea/android:intellij.android.core",
            "//tools/adt/idea/android-navigator:intellij.android.navigator",
            "//tools/adt/idea/dagger:intellij.android.dagger",
            "//tools/adt/idea/databinding:intellij.android.databinding",
            "//tools/adt/idea/app-inspection/inspectors/database:app-inspection.inspectors.database",
            "//tools/adt/idea/debuggers:intellij.android.debuggers",
            "//tools/adt/idea/deploy:intellij.android.deploy",
            "//tools/adt/idea/device-explorer:intellij.android.device-explorer",
            "//tools/adt/idea/device-manager:intellij.android.device-manager",
            "//tools/adt/idea/emulator:intellij.android.emulator",
            "//tools/adt/idea/gradle-tooling/studio-gradle-tooling-api:intellij.android.gradle-tooling.api",
            "//tools/adt/idea/gradle-tooling/studio-gradle-tooling-impl:intellij.android.gradle-tooling.impl",
            "//tools/adt/idea/gradle-dsl:intellij.android.gradle.dsl",
            "//tools/adt/idea/gradle-dsl-kotlin:intellij.android.gradle.dsl.kotlin",
            "//tools/adt/idea/gradle-dsl-toml:intellij.android.gradle.dsl.toml",
            "//tools/adt/idea/android-lang-databinding:intellij.android.lang-databinding",
            "//tools/adt/idea/android-lang:intellij.android.lang",
            "//tools/adt/idea/layout-inspector:intellij.android.layout-inspector",
            "//tools/adt/idea/layout-ui:intellij.android.layout-ui",
            "//tools/adt/idea/logcat:intellij.android.logcat",
            "//tools/adt/idea/mlkit:intellij.android.mlkit",
            "//tools/adt/idea/nav/safeargs:intellij.android.nav.safeargs",
            "//tools/adt/idea/android-npw:intellij.android.newProjectWizard",
            "//tools/adt/idea/observable-ui:intellij.android.observable.ui",
            "//tools/adt/idea/observable:intellij.android.observable",
            "//tools/adt/idea/android-plugin:intellij.android.plugin",
            "//tools/adt/idea/profilers-android:intellij.android.profilersAndroid",
            "//tools/adt/idea/project-system-gradle-models:intellij.android.projectSystem.gradle.models",
            "//tools/adt/idea/project-system-gradle-psd:intellij.android.projectSystem.gradle.psd",
            "//tools/adt/idea/project-system-gradle-repository-search:intellij.android.projectSystem.gradle.repositorySearch",
            "//tools/adt/idea/project-system-gradle-sync:intellij.android.projectSystem.gradle.sync",
            "//tools/adt/idea/project-system-gradle-upgrade:intellij.android.projectSystem.gradle.upgrade",
            "//tools/adt/idea/project-system-gradle:intellij.android.projectSystem.gradle",
            "//tools/adt/idea/project-system:intellij.android.projectSystem",
            "//tools/adt/idea/room:intellij.android.room",
            "//tools/adt/idea/sdk-updates:intellij.android.sdkUpdates",
            "//tools/adt/idea/android-test-retention:intellij.android.testRetention",
            "//tools/adt/idea/android-transport:intellij.android.transport",
            "//tools/adt/idea/wear-pairing:intellij.android.wear-pairing",
            "//tools/adt/idea/wizard-model:intellij.android.wizard.model",
            "//tools/adt/idea/wizard:intellij.android.wizard",
            "//tools/adt/idea/native-symbolizer:native-symbolizer",
            "//tools/adt/idea/whats-new-assistant:whats-new-assistant",
            "//tools/base/dynamic-layout-inspector/common:studio.dynamic-layout-inspector.common",
            "//tools/adt/idea/app-inspection/inspectors/network/ide:app-inspection.inspectors.network.ide",
            "//tools/adt/idea/app-inspection/inspectors/network/model:app-inspection.inspectors.network.model",
            "//tools/adt/idea/app-inspection/inspectors/network/view:app-inspection.inspectors.network.view",
            "//tools/adt/idea/server-flags:intellij.android.server-flags",
            "//tools/adt/idea/codenavigation:codenavigation",
        ],
        "artwork.jar": [
            "//tools/adt/idea/artwork:intellij.android.artwork",
        ],
        "repository.jar": [
            "//tools/base/repository:studio.android.sdktools.repository",
        ],
        "build-common.jar": [
            "//tools/adt/idea/build-common:intellij.android.buildCommon",
        ],
        "data-binding.jar": [
            "//tools/data-binding:studio.baseLibrary",
            "//tools/data-binding:studio.baseLibrarySupport",
            "//tools/data-binding:studio.compiler",
            "//tools/data-binding:studio.compilerCommon",
        ],
        "game-tools.jar": [
            "//tools/vendor/google/game-tools/main:android.game-tools.main",
        ],
        "inspectors-common.jar": [
            "//tools/adt/idea/inspectors-common/api:intellij.android.inspectors-common.api",
            "//tools/adt/idea/inspectors-common/api-ide:intellij.android.inspectors-common.api-ide",
            "//tools/adt/idea/inspectors-common/ui:intellij.android.inspectors-common.ui",
        ],
        "layoutlib-loader.jar": [
            "//tools/adt/idea/layoutlib-loader:intellij.android.layoutlib-loader",
        ],
        "lint-ide.jar": [
            "//tools/adt/idea/lint:intellij.lint",
        ],
        "manifest-merger.jar": [
            "//tools/base/build-system:studio.android.sdktools.manifest-merger",
        ],
        "pixelprobe.jar": [
            "//tools/base/chunkio:studio.android.sdktools.chunkio",
            "//tools/base/pixelprobe:studio.android.sdktools.pixelprobe",
        ],
        "sdk-common.jar": [
            "//tools/base/sdk-common:studio.android.sdktools.sdk-common",
        ],
        "sdk-tools.jar": [
            "//tools/base/annotations:studio.android.sdktools.android-annotations",
            "//tools/base/apkparser/analyzer:studio.android.sdktools.analyzer",
            "//tools/base/apkparser:studio.android.sdktools.binary-resources",
            "//tools/base/build-system/builder-model:studio.android.sdktools.builder-model",
            "//tools/base/build-system/builder-test-api:studio.android.sdktools.builder-test-api",
            "//tools/base/adblib:studio.android.sdktools.adblib",
            "//tools/base/ddmlib:studio.android.sdktools.ddmlib",
            "//tools/base/deploy/deployer:studio.android.sdktools.deployer",
            "//tools/base/device_validator:studio.android.sdktools.dvlib",
            "//tools/base/draw9patch:studio.android.sdktools.draw9patch",
            "//tools/base/lint:studio.android.sdktools.lint-api",
            "//tools/base/lint:studio.android.sdktools.lint-checks",
            "//tools/base/lint:studio.android.sdktools.lint-model",
            "//tools/base/manifest-parser:studio.android.sdktools.manifest-parser",
            "//tools/base/mlkit-common:studio.android.sdktools.mlkit-common",
            "//tools/base/ninepatch:studio.android.sdktools.ninepatch",
            "//tools/base/perflib:studio.android.sdktools.perflib",
            "//tools/base/resource-repository:studio.android.sdktools.resource-repository",
            "//tools/base/tracer:studio.android.sdktools.tracer",
            "//tools/base/usb-devices:studio.usb-devices",
            "//tools/base/zipflinger:studio.android.sdktools.zipflinger",
        ],
        "sdklib.jar": [
            "//tools/base/sdklib:studio.android.sdktools.sdklib",
        ],
        "utp.jar": [
            "//tools/adt/idea/utp",
        ],
        "wizard-template.jar": [
            "//tools/base/wizard/template-impl:studio.intellij.android.wizardTemplate.impl",
            "//tools/base/wizard/template-plugin:studio.intellij.android.wizardTemplate.plugin",
        ],
        "google-analytics-library.jar": [
            "//tools/analytics-library/shared:analytics-shared",
            "//tools/analytics-library/tracker:analytics-tracker",
            "//tools/analytics-library/publisher:analytics-publisher",
            "//tools/analytics-library/crash:analytics-crash",
        ],
        "android-base-common.jar": [
            "//tools/base/common:studio.android.sdktools.common",
        ],
        "layoutlib-api.jar": [
            "//tools/base/layoutlib-api:studio.android.sdktools.layoutlib-api",
        ],
    },
    resources = {
        "lib": [
            "//prebuilts/tools/common/m2:ffmpeg-platform-bundle",
        ],
        "resources": [
            "//tools/adt/idea/android/lib:sample-data-bundle",
            "//tools/adt/idea/android/lib:apks-bundle",
            "//tools/adt/idea/artwork:device-art-resources-bundle",  # duplicated in android.jar
            "//tools/adt/idea/android/annotations:androidAnnotations",
            "//tools/adt/idea/emulator/native:native_lib",
            "//tools/adt/idea/emulator/screen-sharing-agent:bundle",
            "//tools/base/app-inspection/inspectors/backgroundtask:bundle",
            "//tools/base/app-inspection/inspectors/network:bundle",
            "//tools/base/dynamic-layout-inspector/agent/appinspection:bundle",
            "//tools/base/profiler/transform:profilers-transform",
            "//tools/base/profiler/app:perfa",
            "//tools/base/profiler/app:perfa_okhttp",
            "//tools/base/tracer:trace_agent.jar",  # TODO(b/149320690): remove in 4.1 final release.
            "//tools/base/transport:transport-bundle",
            "//prebuilts/tools:simpleperf-bundle",
            "//prebuilts/tools/common/perfetto:perfetto-bundle",
            "//prebuilts/tools/common/app-inspection/androidx/sqlite:sqlite-inspection-bundle",
            "//tools/base/deploy/installer:android-installer-bundle",
            "//tools/adt/idea/android:asset-studio-bundle",
            "//prebuilts/tools/common/trace-processor-daemon:trace-processor-daemon-bundle",
        ],
    },
    deps = [
        ":com.android.tools.idea.smali",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-Groovy",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-IntelliLang",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-Kotlin",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-gradle",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-gradle-java",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-junit",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-platform-images",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-properties",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-toml",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-webp",
    ],
)

studio_plugin(
    name = "com.android.tools.apk",
    directory = "android-apk",
    modules = {"android-apk.jar": ["//tools/vendor/google/android-apk:android-apk"]},
    deps = [
        ":com.android.tools.idea.smali",
        ":com.android.tools.ndk",
        ":org.jetbrains.android",
    ],
)

studio_plugin(
    name = "com.android.tools.ndk",
    directory = "android-ndk",
    libs = ["//tools/vendor/google/android-ndk/lib:org.eclipse.cdt"],
    modules = {"android-ndk.jar": ["//tools/vendor/google/android-ndk:android-ndk"]},
    resources = {
        "resources/lldb": [
            "//prebuilts/tools:lldb-bundle",
        ],
    },
    deps = [
        ":org.jetbrains.android",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-Kotlin",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-c-clangd",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-c-plugin",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-cidr-base-plugin",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-cidr-debugger-plugin",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-gradle",
    ],
)

studio_plugin(
    name = "com.android.tools.design",
    directory = "design-tools",
    libs = [
        "//tools/adt/idea/.idea/libraries:layoutlib",
    ],
    licenses = [
        "//prebuilts/studio/layoutlib:licenses",
    ],
    modules = {
        "design-tools.jar": [
            "//tools/adt/idea/compose-designer:intellij.android.compose-designer",
            "//tools/adt/idea/design-plugin:intellij.android.design-plugin",
            "//tools/adt/idea/designer/customview:intellij.android.designer.customview",
            "//tools/adt/idea/designer:intellij.android.designer",
            "//tools/adt/idea/layoutlib:intellij.android.layoutlib",
            "//tools/adt/idea/nav/editor:intellij.android.nav.editor",
        ],
    },
    resources = {
        "resources": [
            "//prebuilts/studio/layoutlib:layoutlib",
        ],
    },
    deps = [
        ":org.jetbrains.android",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-Kotlin",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-platform-images",
    ],
)

studio_plugin(
    name = "androidx.compose.plugins.idea",
    directory = "android-compose-ide-plugin",
    libs = ["//tools/adt/idea/compose-ide-plugin:compiler-hosted-1.2.0-SNAPSHOT"],
    modules = {"android-compose-ide-plugin.jar": ["//tools/adt/idea/compose-ide-plugin:intellij.android.compose-ide-plugin"]},
    deps = [
        ":org.jetbrains.android",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-Kotlin",
    ],
)

studio_plugin(
    name = "com.google.services.firebase",
    directory = "firebase",
    libs = ["//tools/vendor/google/firebase:google-api-services-mobilesdk-v1"],
    licenses = [
        "//tools/vendor/google/firebase:licenses",
    ],
    modules = {"firebase.jar": ["//tools/vendor/google/firebase:firebase"]},
    deps = [
        ":com.google.gct.login",
        ":com.google.gct.test.recorder",
        ":org.jetbrains.android",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-Groovy",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-Kotlin",
    ],
)

studio_plugin(
    name = "com.google.gct.testing",
    directory = "firebase-testing",
    libs = [
        "//tools/studio/google/cloud/testing/firebase-testing/lib:google-api-services-storage-v1-rev1-1.18.0-rc",
        "//tools/studio/google/cloud/testing/firebase-testing/lib:google-api-services-testing-v1-revsnapshot-1.20.0",
        "//tools/studio/google/cloud/testing/firebase-testing/lib:google-api-services-toolresults-v1beta3-rev20151013-1.20.0",
        "//tools/adt/idea/.idea/libraries:tightvnc",
    ],
    licenses = [
        "//tools/studio/google/cloud/testing/firebase-testing/lib:licenses",
    ],
    modules = {"firebase-testing.jar": ["//tools/studio/google/cloud/testing/firebase-testing:firebase-testing"]},
    deps = [
        ":com.google.gct.core",
        ":com.google.gct.login",
        ":org.jetbrains.android",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-Groovy",
    ],
)

studio_plugin(
    name = "com.google.appindexing",
    directory = "google-appindexing",
    libs = ["//tools/studio/google/appindexing/lib:fetchasgoogle"],
    licenses = [
        "//tools/studio/google/appindexing/lib:licenses",
    ],
    modules = {"google-appindexing.jar": ["//tools/studio/google/appindexing:google-appindexing"]},
    deps = [
        ":com.google.gct.login",
        ":com.google.urlassistant",
        ":org.jetbrains.android",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-Groovy",
    ],
)

studio_plugin(
    name = "com.google.gct",
    directory = "google-cloud-tools-as",
    libs = [
        "//tools/studio/google/cloud/tools/android-studio-plugin/lib:gradle-appengine-builder-model-0.1.0",
        "//tools/studio/google/cloud/tools/android-studio-plugin/lib:samplesindex-v1-1.0-SNAPSHOT",
        "//tools/studio/google/cloud/tools/android-studio-plugin/lib:google-api-services-source",
        "//tools/studio/google/cloud/tools/android-studio-plugin/lib:google-api-services-debugger",
    ],
    licenses = [
        "//tools/studio/google/cloud/tools/android-studio-plugin/lib:licenses",
    ],
    modules = {"google-cloud-tools-as.jar": ["//tools/studio/google/cloud/tools/android-studio-plugin:google-cloud-tools-as"]},
    deps = [
        ":com.google.gct.core",
        ":com.google.gct.login",
        ":org.jetbrains.android",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-Groovy",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-Kotlin",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-git4idea",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-gradle",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-gradle-java",
    ],
)

studio_plugin(
    name = "com.google.gct.core",
    directory = "google-cloud-tools-core-as",
    libs = [
        "//tools/studio/google/cloud/tools/core-plugin/third_party/gradle-appengine-builder-model:gradle-appengine-builder-model-0.1.0",
        "//tools/studio/google/cloud/tools/core-plugin/lib:google-api-services-cloudresourcemanager-v1beta1-rev12-1.21.0",
        "//tools/studio/google/cloud/tools/core-plugin/lib:google-api-services-appengine-v1-rev9-1.22.0",
        "//tools/studio/google/cloud/tools/core-plugin/lib:google-api-services-source",
        "//tools/studio/google/cloud/tools/core-plugin/lib:google-api-services-debugger",
    ],
    licenses = [
        "//tools/studio/google/cloud/tools/core-plugin/lib:licenses",
    ],
    modules = {"google-cloud-tools-core-as.jar": ["//tools/studio/google/cloud/tools/core-plugin:google-cloud-tools-core-as"]},
    deps = [
        ":com.google.gct.login",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-git4idea",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-gradle-java",
    ],
)

studio_plugin(
    name = "com.google.gct.login",
    directory = "google-login-as",
    libs = [
        "//tools/studio/google/cloud/tools/google-login-plugin/third_party/jackson-core-asl:jackson-core-asl-1.9.11",
        "//tools/studio/google/cloud/tools/google-login-plugin/third_party/javax-servlet-api:javax.servlet-api-3.0.1",
        "//tools/studio/google/cloud/tools/google-login-plugin/lib:google-api-services-oauth2-v2-rev70-1.18.0-rc",
        "//tools/studio/google/cloud/tools/google-login-plugin/lib:google-gct-login-context-pg",
        "//tools/studio/google/cloud/tools/google-login-plugin/lib:google-http-client-jackson-1.18.0-rc",
        "//tools/studio/google/cloud/tools/google-login-plugin/lib:google.gdt.eclipse.login.common",
        "//prebuilts/tools/common/google-api-java-client/1.20.0:google-api-java-client",
    ],
    licenses = [
        "//tools/studio/google/cloud/tools/google-login-plugin/lib:licenses",
    ],
    modules = {"google-login-as.jar": ["//tools/studio/google/cloud/tools/google-login-plugin:google-login-as"]},
)

studio_plugin(
    name = "com.google.cluestick.studioclient",
    directory = "google-samples",
    modules = {"google-samples.jar": ["//tools/studio/google/samples:google-samples"]},
    deps = [
        ":com.google.gct.login",
        ":org.jetbrains.android",
    ],
)

studio_plugin(
    name = "com.android.tools.idea.smali",
    directory = "smali",
    modules = {"smali.jar": ["//tools/adt/idea/smali:intellij.android.smali"]},
)

studio_plugin(
    name = "com.google.gct.test.recorder",
    directory = "test-recorder",
    libs = [
        "//tools/studio/google/cloud/testing/test-recorder/lib:uiautomatorviewer",
        "//tools/studio/google/cloud/testing/test-recorder/lib:swt",
    ],
    licenses = [
        "//tools/studio/google/cloud/testing/test-recorder/lib:licenses",
    ],
    modules = {"test-recorder.jar": ["//tools/studio/google/cloud/testing/test-recorder:test-recorder"]},
    deps = [
        ":org.jetbrains.android",
    ],
)

studio_plugin(
    name = "com.google.urlassistant",
    directory = "url-assistant",
    modules = {"url-assistant.jar": ["//tools/vendor/google/url-assistant:url-assistant"]},
    deps = [
        ":org.jetbrains.android",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-Groovy",
    ],
)

android_studio(
    name = "android-studio",
    codesign_entitlements = "codesign/entitlements.xml",
    codesign_filelist = "codesign/filelist",
    jre = "//prebuilts/studio/jdk:jdk-bundle",
    platform = "//prebuilts/studio/intellij-sdk:studio-sdk",
    plugins = [
        ":org.jetbrains.android",
        ":com.android.tools.apk",
        ":com.android.tools.ndk",
        ":com.android.tools.design",
        ":androidx.compose.plugins.idea",
        ":com.google.services.firebase",
        ":com.google.gct.testing",
        ":com.google.appindexing",
        ":com.google.gct",
        ":com.google.gct.core",
        ":com.google.gct.login",
        ":com.google.cluestick.studioclient",
        ":com.android.tools.idea.smali",
        ":com.google.gct.test.recorder",
        ":com.google.urlassistant",
    ],
    searchable_options = "//tools/adt/idea/searchable-options",
    version_eap = True,
    version_full = "Dolphin | {0}.{1}.{2} Beta 5",
    version_micro = 1,
    version_patch = 14,
    visibility = ["//visibility:public"],
)

py_test(
    name = "test_studio",
    srcs = ["tests/test_studio.py"],
    data = [
        "tests/expected_linux.txt",
        "tests/expected_mac.txt",
        "tests/expected_mac_arm.txt",
        "tests/expected_win.txt",
        ":android-studio.linux.zip",
        ":android-studio.mac.zip",
        ":android-studio.mac_arm.zip",
        ":android-studio.win.zip",
    ],
)

py_test(
    name = "startup_test",
    srcs = [
        "tests/startup_test.py",
    ],
    data = [
        ":android-studio.linux.zip",
        "//tools/vendor/google/testing/display:xvfb",
    ],
    python_version = "PY3",
    tags = [
        "block_network",
        "no_mac",
        "no_windows",
    ],
)

py_binary(
    name = "stamper",
    srcs = ["stamper.py"],
    visibility = ["//visibility:public"],
)

py_binary(
    name = "check_plugin",
    srcs = ["check_plugin.py"],
    visibility = ["//visibility:public"],
)

py_test(
    name = "tools_test",
    srcs = ["tools_test.py"],
    tags = [
        "no_mac",
        "no_windows",
    ],
    visibility = ["//visibility:public"],
    deps = [":stamper"],
)

java_binary(
    name = "updater",
    main_class = "com.intellij.updater.Runner",
    tags = [
        "block_network",
        "no_mac",
        "no_windows",
    ],
    visibility = ["//visibility:public"],
    runtime_deps = [
        "//prebuilts/studio/intellij-sdk:studio-sdk-updater",
        "//tools/adt/idea/.idea/libraries:studio-analytics-proto",
        "//tools/adt/idea/studio-updater:intellij.android.updater.studio-updater.jar",  # Adds analytics to the updater
        "//tools/analytics-library/shared:analytics-shared.jar",
        "//tools/analytics-library/tracker:analytics-tracker.jar",
        "//tools/base/annotations:studio.android.sdktools.android-annotations.jar",
        "//tools/base/common:studio.android.sdktools.common.jar",
        "@maven//:com.google.code.gson.gson",
        "@maven//:com.google.guava.failureaccess",
        "@maven//:com.google.guava.guava",
        "@maven//:com.google.j2objc.j2objc-annotations",
        "@maven//:com.google.protobuf.protobuf-java",
        "@maven//:com.nothome.javaxdelta",
        "@maven//:it.unimi.dsi.fastutil",
        "@maven//:log4j.log4j",
        "@maven//:net.java.dev.jna.jna",
        "@maven//:net.java.dev.jna.jna-platform",
        "@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",
    ],
)

# managed by go/iml_to_build
iml_module(
    name = "studio",
    iml_files = ["studio.iml"],
    visibility = ["//visibility:public"],
    # do not sort: must match IML order
    deps = [
        "//prebuilts/studio/intellij-sdk:studio-sdk",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-gradle",
        "//tools/adt/idea/android-plugin:intellij.android.plugin[module]",
        "//tools/vendor/google/android-apk[module]",
        "//tools/adt/idea/compose-ide-plugin:intellij.android.compose-ide-plugin[module]",
        "//tools/adt/idea/design-plugin:intellij.android.design-plugin[module]",
        "//tools/vendor/google/android-ndk[module]",
        "//tools/studio/google/cloud/tools/android-studio-plugin:google-cloud-tools-as[module]",
        "//tools/vendor/google/firebase[module]",
        "//tools/studio/google/cloud/testing/firebase-testing[module]",
        "//tools/studio/google/appindexing:google-appindexing[module]",
        "//tools/studio/google/cloud/tools/core-plugin:google-cloud-tools-core-as[module]",
        "//tools/studio/google/cloud/tools/google-login-plugin:google-login-as[module]",
        "//tools/studio/google/samples:google-samples[module]",
        "//tools/adt/idea/smali:intellij.android.smali[module]",
        "//tools/studio/google/cloud/testing/test-recorder[module]",
        "//tools/vendor/google/url-assistant[module]",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-configurationScript",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-copyright",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-coverage",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-editorconfig",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-git4idea",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-github",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-gradle-java",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-Groovy",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-hg4idea",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-toml",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-IntelliLang",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-java-decompiler",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-java-i18n",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-java-ide-customization",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-junit",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-Kotlin",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-maven-model",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-platform-images",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-properties",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-repository-search",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-settings-repository",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-sh",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-stream-debugger",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-svn4idea",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-tasks",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-terminal",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-testng",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-textmate",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-vcs-changeReminder",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-yaml",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-c-clangd",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-c-plugin",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-cidr-base-plugin",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-cidr-debugger-plugin",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-completionMlRanking",
        "//prebuilts/studio/intellij-sdk:studio-sdk-plugin-ml-models-local",
    ],
)

# managed by go/iml_to_build
iml_module(
    name = "intellij.android.studio.tests",
    iml_files = ["tests/intellij.android.studio.tests.iml"],
    tags = [
        "no_mac",
        "no_windows",
    ],
    test_class = "com.android.testutils.JarTestSuite",
    test_data = [
        ":android-studio.linux.zip",
        ":android-studio.mac.zip",
        ":android-studio.win.zip",
        ":android-studio.plugin.lst",
    ],
    test_srcs = ["tests/testSrc"],
    visibility = ["//visibility:public"],
    # do not sort: must match IML order
    deps = [
        "//prebuilts/studio/intellij-sdk:studio-sdk[test]",
        "//tools/base/perf-logger:studio.perf-logger[module, test]",
        "//tools/base/testutils:studio.android.sdktools.testutils[module, test]",
        "//tools/adt/idea/adt-testutils:intellij.android.adt.testutils[module, test]",
    ],
)