1 /*
2 * Copyright (C) 2024 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
<lambda>null17 plugins {
18 `java-library`
19 `java-test-fixtures`
20 id("org.jetbrains.kotlin.jvm")
21 id("metalava-build-plugin")
22
23 // This project does not actually provide an implementation of the metalava-model, but it does
24 // run the test suite over other models, on a snapshot of the codebase they create.
25 id("metalava-model-provider-plugin")
26 }
27
<lambda>null28 dependencies {
29 testImplementation(project(":metalava-model"))
30 testImplementation(testFixtures(project(":metalava-model")))
31
32 // Include the text model's test runner so that the test suite will run its signature based
33 // tests on a snapshot of the codebase it produces.
34 testImplementation(testFixtures(project(":metalava-model-text")))
35
36 // Pick up the SourceModelSuiteRunner service to run the `metalava-model-testsuite` against a
37 // SourceModelProvider.
38 testImplementation(testFixtures(project(":metalava-model-source")))
39
40 // Include the turbine model's SourceModelProvider so that the test suite will run its Java
41 // based tests on a snapshot of the codebase it produces.
42 testImplementation(project(":metalava-model-turbine"))
43
44 // Include the psi model's SourceModelProvider so that the test suite will run its Java based
45 // tests on a snapshot of the codebase it produces.
46 testImplementation(project(":metalava-model-psi"))
47 }
48