xref: /aosp_15_r20/external/caliper/Android.bp (revision e13194474f9b0035ae014b3193027641ae2d48fb)
1*e1319447SKrzysztof Kosiński// Copyright (C) 2015 The Android Open Source Project
2*e1319447SKrzysztof Kosiński//
3*e1319447SKrzysztof Kosiński// Licensed under the Apache License, Version 2.0 (the "License");
4*e1319447SKrzysztof Kosiński// you may not use this file except in compliance with the License.
5*e1319447SKrzysztof Kosiński// You may obtain a copy of the License at
6*e1319447SKrzysztof Kosiński//
7*e1319447SKrzysztof Kosiński//      http://www.apache.org/licenses/LICENSE-2.0
8*e1319447SKrzysztof Kosiński//
9*e1319447SKrzysztof Kosiński// Unless required by applicable law or agreed to in writing, software
10*e1319447SKrzysztof Kosiński// distributed under the License is distributed on an "AS IS" BASIS,
11*e1319447SKrzysztof Kosiński// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*e1319447SKrzysztof Kosiński// See the License for the specific language governing permissions and
13*e1319447SKrzysztof Kosiński// limitations under the License.
14*e1319447SKrzysztof Kosiński
15*e1319447SKrzysztof Kosiński// build caliper host jar
16*e1319447SKrzysztof Kosiński// ============================================================
17*e1319447SKrzysztof Kosiński
18*e1319447SKrzysztof Kosińskipackage {
19*e1319447SKrzysztof Kosiński    default_applicable_licenses: ["external_caliper_license"],
20*e1319447SKrzysztof Kosiński}
21*e1319447SKrzysztof Kosiński
22*e1319447SKrzysztof Kosiński// Added automatically by a large-scale-change that took the approach of
23*e1319447SKrzysztof Kosiński// 'apply every license found to every target'. While this makes sure we respect
24*e1319447SKrzysztof Kosiński// every license restriction, it may not be entirely correct.
25*e1319447SKrzysztof Kosiński//
26*e1319447SKrzysztof Kosiński// e.g. GPL in an MIT project might only apply to the contrib/ directory.
27*e1319447SKrzysztof Kosiński//
28*e1319447SKrzysztof Kosiński// Please consider splitting the single license below into multiple licenses,
29*e1319447SKrzysztof Kosiński// taking care not to lose any license_kind information, and overriding the
30*e1319447SKrzysztof Kosiński// default license using the 'licenses: [...]' property on targets as needed.
31*e1319447SKrzysztof Kosiński//
32*e1319447SKrzysztof Kosiński// For unused files, consider creating a 'fileGroup' with "//visibility:private"
33*e1319447SKrzysztof Kosiński// to attach the license to, and including a comment whether the files may be
34*e1319447SKrzysztof Kosiński// used in the current project.
35*e1319447SKrzysztof Kosiński//
36*e1319447SKrzysztof Kosiński// large-scale-change included anything that looked like it might be a license
37*e1319447SKrzysztof Kosiński// text as a license_text. e.g. LICENSE, NOTICE, COPYING etc.
38*e1319447SKrzysztof Kosiński//
39*e1319447SKrzysztof Kosiński// Please consider removing redundant or irrelevant files from 'license_text:'.
40*e1319447SKrzysztof Kosiński// See: http://go/android-license-faq
41*e1319447SKrzysztof Kosińskilicense {
42*e1319447SKrzysztof Kosiński    name: "external_caliper_license",
43*e1319447SKrzysztof Kosiński    visibility: [":__subpackages__"],
44*e1319447SKrzysztof Kosiński    license_kinds: [
45*e1319447SKrzysztof Kosiński        "SPDX-license-identifier-Apache-2.0",
46*e1319447SKrzysztof Kosiński        "SPDX-license-identifier-CDDL",
47*e1319447SKrzysztof Kosiński        "SPDX-license-identifier-CDDL-1.0",
48*e1319447SKrzysztof Kosiński        "SPDX-license-identifier-GPL",
49*e1319447SKrzysztof Kosiński        "SPDX-license-identifier-GPL-2.0",
50*e1319447SKrzysztof Kosiński        "SPDX-license-identifier-LGPL",
51*e1319447SKrzysztof Kosiński    ],
52*e1319447SKrzysztof Kosiński    license_text: [
53*e1319447SKrzysztof Kosiński        "COPYING",
54*e1319447SKrzysztof Kosiński        "NOTICE",
55*e1319447SKrzysztof Kosiński    ],
56*e1319447SKrzysztof Kosiński}
57*e1319447SKrzysztof Kosiński
58*e1319447SKrzysztof Kosińskijava_library_host {
59*e1319447SKrzysztof Kosiński    name: "caliper",
60*e1319447SKrzysztof Kosiński
61*e1319447SKrzysztof Kosiński    srcs: ["caliper/src/main/java/**/*.java"],
62*e1319447SKrzysztof Kosiński    java_resource_dirs: ["caliper/src/main/resources"],
63*e1319447SKrzysztof Kosiński
64*e1319447SKrzysztof Kosiński    static_libs: [
65*e1319447SKrzysztof Kosiński        "apache-commons-math",
66*e1319447SKrzysztof Kosiński        "caliper-prebuilts",
67*e1319447SKrzysztof Kosiński        "dagger2",
68*e1319447SKrzysztof Kosiński        "gson",
69*e1319447SKrzysztof Kosiński        "guava",
70*e1319447SKrzysztof Kosiński        "jsr330",
71*e1319447SKrzysztof Kosiński    ],
72*e1319447SKrzysztof Kosiński
73*e1319447SKrzysztof Kosiński    // Use Dagger2 annotation processor
74*e1319447SKrzysztof Kosiński    plugins: ["dagger2-compiler"],
75*e1319447SKrzysztof Kosiński
76*e1319447SKrzysztof Kosiński    java_version: "1.8",
77*e1319447SKrzysztof Kosiński}
78*e1319447SKrzysztof Kosiński
79*e1319447SKrzysztof Kosiński// build caliper target api jar
80*e1319447SKrzysztof Kosiński// ============================================================
81*e1319447SKrzysztof Kosiński// This contains just those classes needed for benchmarks to compile.
82*e1319447SKrzysztof Kosiński
83*e1319447SKrzysztof Kosińskijava_library {
84*e1319447SKrzysztof Kosiński    name: "caliper-api-target",
85*e1319447SKrzysztof Kosiński    installable: true,
86*e1319447SKrzysztof Kosiński
87*e1319447SKrzysztof Kosiński    srcs: [
88*e1319447SKrzysztof Kosiński        "caliper/src/main/java/com/google/caliper/AfterExperiment.java",
89*e1319447SKrzysztof Kosiński        "caliper/src/main/java/com/google/caliper/BeforeExperiment.java",
90*e1319447SKrzysztof Kosiński        "caliper/src/main/java/com/google/caliper/Param.java",
91*e1319447SKrzysztof Kosiński        "caliper/src/main/java/com/google/caliper/All.java",
92*e1319447SKrzysztof Kosiński        "caliper/src/main/java/com/google/caliper/Benchmark.java",
93*e1319447SKrzysztof Kosiński    ],
94*e1319447SKrzysztof Kosiński    sdk_version: "core_current",
95*e1319447SKrzysztof Kosiński
96*e1319447SKrzysztof Kosiński    java_version: "1.8",
97*e1319447SKrzysztof Kosiński}
98*e1319447SKrzysztof Kosiński
99*e1319447SKrzysztof Kosiński// build caliper tests
100*e1319447SKrzysztof Kosiński// ============================================================
101*e1319447SKrzysztof Kosiński// vogar --expectations $ANDROID_BUILD_TOP/external/caliper/expectations/knownfailures.txt \
102*e1319447SKrzysztof Kosiński//        --test-only \
103*e1319447SKrzysztof Kosiński//        --classpath $ANDROID_BUILD_TOP/out/host/common/obj/JAVA_LIBRARIES/caliper-tests_intermediates/javalib.jar \
104*e1319447SKrzysztof Kosiński//        com.google.caliper
105*e1319447SKrzysztof Kosiński
106*e1319447SKrzysztof Kosińskijava_test_host {
107*e1319447SKrzysztof Kosiński    name: "caliper-tests",
108*e1319447SKrzysztof Kosiński
109*e1319447SKrzysztof Kosiński    srcs: ["caliper/src/test/java/**/*.java"],
110*e1319447SKrzysztof Kosiński    java_resource_dirs: ["caliper/src/test/resources"],
111*e1319447SKrzysztof Kosiński
112*e1319447SKrzysztof Kosiński    static_libs: [
113*e1319447SKrzysztof Kosiński        "caliper",
114*e1319447SKrzysztof Kosiński        "junit",
115*e1319447SKrzysztof Kosiński        "mockito",
116*e1319447SKrzysztof Kosiński    ],
117*e1319447SKrzysztof Kosiński    // Avoid the tests running as unit tests. They have some jar requirement that doesn't currently
118*e1319447SKrzysztof Kosiński    // quite work in CI.
119*e1319447SKrzysztof Kosiński    test_options: {
120*e1319447SKrzysztof Kosiński        unit_test: false,
121*e1319447SKrzysztof Kosiński    },
122*e1319447SKrzysztof Kosiński
123*e1319447SKrzysztof Kosiński    // Use Dagger2 annotation processor
124*e1319447SKrzysztof Kosiński    plugins: ["dagger2-compiler"],
125*e1319447SKrzysztof Kosiński
126*e1319447SKrzysztof Kosiński    java_version: "1.8",
127*e1319447SKrzysztof Kosiński}
128*e1319447SKrzysztof Kosiński
129*e1319447SKrzysztof Kosiński// build caliper examples
130*e1319447SKrzysztof Kosiński// ============================================================
131*e1319447SKrzysztof Kosiński
132*e1319447SKrzysztof Kosińskijava_library_host {
133*e1319447SKrzysztof Kosiński    name: "caliper-examples",
134*e1319447SKrzysztof Kosiński
135*e1319447SKrzysztof Kosiński    srcs: ["examples/src/main/java/**/*.java"],
136*e1319447SKrzysztof Kosiński
137*e1319447SKrzysztof Kosiński    static_libs: [
138*e1319447SKrzysztof Kosiński        "caliper",
139*e1319447SKrzysztof Kosiński        "junit",
140*e1319447SKrzysztof Kosiński        "mockito",
141*e1319447SKrzysztof Kosiński    ],
142*e1319447SKrzysztof Kosiński
143*e1319447SKrzysztof Kosiński    java_version: "1.8",
144*e1319447SKrzysztof Kosiński
145*e1319447SKrzysztof Kosiński    errorprone: {
146*e1319447SKrzysztof Kosiński        javacflags: [
147*e1319447SKrzysztof Kosiński            "-Xep:ReturnValueIgnored:WARN",
148*e1319447SKrzysztof Kosiński        ],
149*e1319447SKrzysztof Kosiński    },
150*e1319447SKrzysztof Kosiński}
151*e1319447SKrzysztof Kosiński
152*e1319447SKrzysztof Kosiński// Build host dependencies.
153*e1319447SKrzysztof Kosiński// ============================================================
154*e1319447SKrzysztof Kosiński
155*e1319447SKrzysztof Kosińskijava_import_host {
156*e1319447SKrzysztof Kosiński    name: "caliper-prebuilts",
157*e1319447SKrzysztof Kosiński    jars: [
158*e1319447SKrzysztof Kosiński        "lib/java-allocation-instrumenter-2.0.jar",
159*e1319447SKrzysztof Kosiński        "lib/jersey-client-1.11.jar",
160*e1319447SKrzysztof Kosiński        "lib/jersey-core-1.11.jar",
161*e1319447SKrzysztof Kosiński        "lib/joda-time-2.1.jar",
162*e1319447SKrzysztof Kosiński        "lib/jsr311-api-1.1.1.jar",
163*e1319447SKrzysztof Kosiński    ],
164*e1319447SKrzysztof Kosiński}
165