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
|
package(default_visibility = ["//visibility:public"])
java_import(
name = "appcompat_v7_import",
jars = ["extras/android/support/v7/appcompat/libs/android-support-v7-appcompat.jar"]
)
android_library(
name = "appcompat_v7",
custom_package = "android.support.v7.appcompat",
manifest = "extras/android/support/v7/appcompat/AndroidManifest.xml",
resource_files = glob(["extras/android/support/v7/appcompat/res/**"]),
deps = [":appcompat_v7_import"]
)
java_import(
name = "appcompat_v4",
jars = ["extras/android/support/v4/android-support-v4.jar"]
)
android_sdk(
name = "sdk",
proguard = "tools/proguard/bin/proguard.sh",
aapt = "build-tools/%build_tools_version%/aapt",
dx = "build-tools/%build_tools_version%/dx",
main_dex_list_creator = ":main_dex_list_creator",
adb = "platform-tools/adb",
framework_aidl = "platforms/android-%api_level%/framework.aidl",
aidl = "build-tools/%build_tools_version%/aidl",
android_jar = "platforms/android-%api_level%/android.jar",
shrinked_android_jar = "platforms/android-%api_level%/android.jar",
annotations_jar = "tools/support/annotations.jar",
main_dex_classes = "build-tools/%build_tools_version%/mainDexClasses.rules",
apkbuilder = ":apkbuilder",
zipalign = "build-tools/%build_tools_version%/zipalign",
android_jack = ":empty",
jack = ":fail",
jill = ":fail",
resource_extractor = ":fail"
)
sh_binary(
name = "fail",
srcs = ["fail.sh"])
genrule(
name = "main_dex_list_creator_source",
srcs = [],
outs = ["main_dex_list_creator.sh"],
cmd = "cat > $@ <<'EOF'\n" +
"#!/bin/bash\n" +
"\n" +
"MAIN_DEX_LIST=$$1\n" +
"STRIPPED_JAR=$$2\n" +
"JAR=$$3\n" +
"" +
"DIRNAME=$$(dirname $$0)\n" +
"JAVA_BINARY=TBD/main_dex_list_creator_java\n" + # Proper runfiles path comes here
"$$JAVA_BINARY $$STRIPPED_JAR $$JAR > $$MAIN_DEX_LIST\n" +
"exit $$?\n" +
"\n" +
"EOF\n",
)
sh_binary(
name = "main_dex_list_creator",
srcs = ["main_dex_list_creator.sh"],
data = [":main_dex_list_creator_java"],
)
java_binary(
name = "main_dex_list_creator_java",
main_class = "com.android.multidex.ClassReferenceListBuilder",
runtime_deps = [":dx_jar_import"],
)
java_binary(
name = "dx_binary",
main_class = "com.android.dx.command.Main",
runtime_deps = [":dx_jar_import"],
)
filegroup(
name = "dx_jar",
srcs = ["build-toold/%build_tools_version%/lib/dx.jar"],
)
java_import(
name = "dx_jar_import",
jars = [":dx_jar"],
)
java_binary(
name = "apkbuilder",
runtime_deps = [":sdklib"],
main_class = "com.android.sdklib.build.ApkBuilderMain")
java_import(
name = "sdklib",
jars = ["tools/lib/sdklib.jar", "tools/lib/common.jar"])
|