blob: d8f00bc5cb163a76cef00851091b2246fe6ab9dc [file] [log] [blame]
/*
* Copyright (C) 2018 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
@file:JvmName("TestSupportLibraries")
package com.android.tools.analytics
import com.google.common.collect.ImmutableTable
import com.google.wireless.android.sdk.stats.TestLibraries.Builder
private val setters = ImmutableTable.Builder<String, String, (Builder, String) -> Builder>().apply {
put("androidx.fragment", "fragment-testing", Builder::setFragmentTestingVersion)
put("androidx.test", "core", Builder::setTestCoreVersion)
put("androidx.test", "core-ktx", Builder::setTestCoreKtxVersion)
put("androidx.test", "orchestrator", Builder::setTestOrchestratorVersion)
put("androidx.test", "rules", Builder::setTestRulesVersion)
put("androidx.test", "runner", Builder::setTestSupportLibraryVersion)
put("androidx.test.espresso", "espresso-accessibility", Builder::setEspressoAccessibilityVersion)
put("androidx.test.espresso", "espresso-contrib", Builder::setEspressoContribVersion)
put("androidx.test.espresso", "espresso-core", Builder::setEspressoVersion)
put("androidx.test.espresso", "espresso-idling-resource", Builder::setEspressoIdlingResourceVersion)
put("androidx.test.espresso", "espresso-intents", Builder::setEspressoIntentsVersion)
put("androidx.test.espresso", "espresso-web", Builder::setEspressoWebVersion)
put("androidx.test.ext", "junit", Builder::setTestExtJunitVersion)
put("androidx.test.ext", "junit-ktx", Builder::setTestExtJunitKtxVersion)
put("androidx.test.ext", "truth", Builder::setTestExtTruthVersion)
put("com.android.support.test", "orchestrator", Builder::setTestOrchestratorVersion)
put("com.android.support.test", "rules", Builder::setTestRulesVersion)
put("com.android.support.test", "runner", Builder::setTestSupportLibraryVersion)
put("com.android.support.test.espresso", "espresso-accessibility", Builder::setEspressoAccessibilityVersion)
put("com.android.support.test.espresso", "espresso-contrib", Builder::setEspressoContribVersion)
put("com.android.support.test.espresso", "espresso-core", Builder::setEspressoVersion)
put("com.android.support.test.espresso", "espresso-idling-resource", Builder::setEspressoIdlingResourceVersion)
put("com.android.support.test.espresso", "espresso-intents", Builder::setEspressoIntentsVersion)
put("com.android.support.test.espresso", "espresso-web", Builder::setEspressoWebVersion)
put("com.google.truth", "truth", Builder::setTruthVersion)
put("junit", "junit", Builder::setJunitVersion)
put("org.mockito", "mockito-core", Builder::setMockitoVersion)
put("org.robolectric", "robolectric", Builder::setRobolectricVersion)
put("androidx.benchmark", "benchmark-common", Builder::setBenchmarkCommonVersion)
put("androidx.benchmark", "benchmark-junit4", Builder::setBenchmarkJunit4Version)
}.build()
/**
* Fills in the right field of a [Builder] based on the maven coordinates.
*/
fun Builder.recordTestLibrary(groupId: String, artifactId: String, version: String) = apply {
setters[groupId, artifactId]?.invoke(this, version)
}