blob: 15cdcdcc90a9b238788adb96a2b9e1119e983d42 [file] [log] [blame]
/**
* This file was created using the `create_project.py` script located in the
* `<AndroidX root>/development/project-creator` directory.
*
* Please use that script when creating a new project, rather than copying an existing project and
* modifying its settings.
*/
import com.android.build.api.artifact.SingleArtifact
/*
* Copyright 2022 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.
*/
plugins {
id("AndroidXPlugin")
id("com.android.application")
id("kotlin-android")
id("androidx.baselineprofile")
id("com.google.devtools.ksp")
id("com.google.dagger.hilt.android")
}
android {
sourceSets {
// This is required because of release variant specific code used by hilt.
releaseLibrariesOnly {
java.srcDirs += "src/release/"
}
}
buildTypes {
release {
minifyEnabled = true
shrinkResources = true
proguardFiles getDefaultProguardFile("proguard-android-optimize.txt")
}
releaseLibrariesOnly {
initWith(release)
matchingFallbacks += "release"
}
}
namespace = "androidx.benchmark.integration.baselineprofile.consumer"
}
dependencies {
implementation(libs.kotlinStdlib)
implementation(libs.constraintLayout)
implementation(libs.hiltAndroid)
ksp(libs.hiltCompiler)
implementation(project(":profileinstaller:profileinstaller"))
}
baselineProfile {
// Note that these are the default settings, just reported here to make it explicit.
// `automaticGenerationDuringBuild` has to be off otherwise assembling release on CI would
// trigger baseline profile generation and integration tests on device.
saveInSrc = true
automaticGenerationDuringBuild = false
variants {
release {
from(project(":benchmark:integration-tests:baselineprofile-producer"))
}
releaseLibrariesOnly {
// No dependency set
}
}
}
apply(from: "../baselineprofile-test-utils/utils.gradle")
// Exposes the apk for profile verifier tests. When calling this function, the generated apks
// can be utilized with `profileinstaller:integration-tests:profile-verification`.
configurations {
apkAssets {
canBeConsumed = true
canBeResolved = false
attributes {
attribute(
LibraryElements.LIBRARY_ELEMENTS_ATTRIBUTE,
objects.named(LibraryElements, 'profileverification-apkAssets')
)
}
}
}
androidComponents {
onVariants(selector().all(), { variant ->
artifacts {
apkAssets(variant.artifacts.get(SingleArtifact.APK.INSTANCE))
}
})
}