1// Copyright (C) 2018 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15package { 16 default_applicable_licenses: ["Android-Apache-2.0"], 17 default_team: "trendy_team_art_mainline", 18} 19 20java_library { 21 name: "cts-vmtests-dot", 22 libs: ["junit"], 23 srcs: ["src/dot/**/*.java"], 24 installable: false, 25 include_srcs: true, 26 host_supported: true, 27 errorprone: { 28 javacflags: [ 29 "-Xep:IdentityBinaryExpression:WARN", 30 "-Xep:BadShiftAmount:WARN", 31 "-Xep:UnusedMethod:WARN", 32 "-Xep:UnusedVariable:WARN", 33 ], 34 }, 35} 36 37java_binary_host { 38 name: "vmtests-buildutil", 39 static_libs: [ 40 "cts-vmtests-dot", 41 "junit", 42 ], 43 srcs: [ 44 "build/src/util/build/BuildCTSHostSources.java", 45 "build/src/util/build/BuildCTSMainsSources.java", 46 "build/src/util/build/BuildUtilBase.java", 47 "build/src/util/build/FileUtil.java", 48 "build/src/util/build/JUnitTestCollector.java", 49 ], 50 wrapper: "etc/vmtests-buildutil.sh", 51} 52 53java_genrule_host { 54 name: "vmtests_generated_host_test_sources", 55 tools: [ 56 "vmtests-buildutil", 57 "soong_zip", 58 ], 59 cmd: "$(location vmtests-buildutil) util.build.BuildCTSHostSources $(genDir) " + 60 " && $(location soong_zip) -jar -o $(out) -C $(genDir) -D $(genDir)/dot", 61 out: ["vmtests.host.generated.srcjar"], 62} 63 64java_library_host { 65 name: "host-cts-vmtests", 66 libs: [ 67 "junit", 68 "tradefed", 69 ], 70 srcs: [":vmtests_generated_host_test_sources"], 71 installable: false, 72} 73 74java_genrule_host { 75 name: "vmtests-dfh-dex-generated", 76 tools: [ 77 "cfassembler", 78 "soong_zip", 79 ], 80 tool_files: ["etc/vmtests-cfassembler.sh"], 81 srcs: ["src/dot/**/*.dfh"], 82 cmd: "$(location etc/vmtests-cfassembler.sh) $(location cfassembler) $(location soong_zip) $(genDir) $(out) $(in)", 83 out: ["vmtests_dfh_dex_generated.jar"], 84} 85 86java_genrule { 87 name: "vmtests_generated_mains_test_sources", 88 tools: [ 89 "vmtests-buildutil", 90 "soong_zip", 91 ], 92 cmd: "mkdir $(genDir)/src" + 93 " && $(location vmtests-buildutil) util.build.BuildCTSMainsSources $(genDir)/src " + 94 " && $(location soong_zip) -jar -o $(out) -C $(genDir)/src -D $(genDir)/src", 95 out: ["vmtests.mains.generated.srcjar"], 96} 97 98java_library { 99 name: "vmtests-mains", 100 installable: true, 101 libs: ["cts-vmtests-dot"], 102 srcs: [":vmtests_generated_mains_test_sources"], 103} 104 105// TODO: Add vmtests-mains' dex jar to vmtests-generated-resources when 106// it can be addressed. 107 108java_library_host { 109 name: "vmtests-generated-resources", 110 static_libs: [ 111 "host-cts-vmtests", 112 "vmtests-dfh-dex-generated", 113 ], 114 installable: false, 115} 116 117java_library_host { 118 name: "cts-tf-dalvik-buildutil", 119 srcs: [ 120 "build/src/**/*.java", 121 "src/**/*.java", 122 ], 123 libs: [ 124 "junit", 125 "jsr305", 126 "d8", 127 "android-smali", 128 ], 129 errorprone: { 130 javacflags: [ 131 "-Xep:IdentityBinaryExpression:WARN", 132 "-Xep:BadShiftAmount:WARN", 133 ], 134 }, 135} 136 137java_genrule_host { 138 name: "vm-tests-tf-lib", 139 tools: [ 140 "soong_zip", 141 "d8", 142 ], 143 srcs: [ 144 "src/**/*", 145 ":cts-tf-dalvik-buildutil", 146 ":vmtests-generated-resources", 147 ":cts-vmtests-dot", 148 ":junit", 149 ":d8", 150 ":android-smali", 151 ], 152 device_common_srcs: [ 153 ":vmtests-mains", 154 ], 155 cmd: "echo Generating BuildDalvikSuite tests" + 156 " && mkdir -p $(genDir)/classes" + 157 " && unzip -bq $(location :cts-tf-dalvik-buildutil) -d $(genDir)/classes" + 158 " && mkdir -p $(genDir)/tests" + 159 " && java" + 160 " -cp $(location :cts-tf-dalvik-buildutil):$(location :junit):$(location :d8):$(location :android-smali):$(location :cts-vmtests-dot)" + 161 " util.build.BuildDalvikSuite" + 162 " cts/tools/vm-tests-tf/src" + 163 " $(genDir)/tests" + 164 " $(genDir)/classes" + 165 " && echo Generating dexcore tests" + 166 " && $(location soong_zip) -jar -o $(genDir)/tests/dot/junit/dexcore.jar-class.jar" + 167 " -C $(genDir)/classes" + 168 " -f $(genDir)/classes/dot/junit/DxUtil.class" + 169 " -f $(genDir)/classes/dot/junit/DxAbstractMain.class" + 170 " -f $(genDir)/classes/dot/junit/AssertionFailedException.class" + 171 " && mkdir -p $(genDir)/dexcore" + 172 " && $(location d8) -JXms16M -JXmx2048M" + 173 " --output $(genDir)/dexcore" + 174 " $(genDir)/tests/dot/junit/dexcore.jar-class.jar" + 175 " && $(location soong_zip) -jar -o $(genDir)/tests/dot/junit/dexcore.jar" + 176 " -C $(genDir)/dexcore" + 177 " -D $(genDir)/dexcore" + 178 " && echo Combining tests" + 179 " && mkdir -p $(genDir)/out" + 180 " && unzip -bq $(location :vmtests-generated-resources) -d $(genDir)/generated-resources" + 181 " && cp $(location :vmtests-mains) $(genDir)/mains.jar" + 182 " && $(location soong_zip) -o $(out)" + 183 " -C $(genDir)/generated-resources" + 184 " -D $(genDir)/generated-resources" + 185 " -C $(genDir)" + 186 " -D $(genDir)/tests" + 187 " -j -P tests -f $(genDir)/mains.jar", 188 out: ["vm-tests-tf-lib.jar"], 189} 190 191java_test_host { 192 name: "vm-tests-tf", 193 static_libs: [ 194 "compatibility-host-vm-targetprep", 195 "vm-tests-tf-lib", 196 ], 197 test_config: "AndroidTest.xml", 198 test_suites: [ 199 "cts", 200 "general-tests", 201 ], 202} 203