blob: 20b1101958d001f368241c8cc46d703f728dcf57 [file] [log] [blame]
/*
* Copyright (C) 2021 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.
*/
/**
* 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 androidx.build.LibraryType
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
id("AndroidXPlugin")
id("AndroidXComposePlugin")
id("com.android.library")
id("kotlin-android")
id("androidx.inspection")
}
dependencies {
implementation("androidx.annotation:annotation:1.1.0", {
exclude group: "org.jetbrains.kotlin", module: "kotlin-stdlib"
})
// Following dependencies will be provided by inspected app itself
// because compose:ui-inspector can be run only in app with compose:ui:ui
// thus all its transitive dependencies will be present too.
compileOnly(libs.kotlinStdlib)
compileOnly("androidx.collection:collection:1.4.0")
compileOnly("androidx.inspection:inspection:1.0.0")
compileOnly("androidx.compose.runtime:runtime:1.2.1")
compileOnly(project(":compose:ui:ui-graphics"))
compileOnly(project(":compose:ui:ui"))
// we ignore its transitive dependencies, because ui-inspection should
// depend on them as "compile-only" deps.
implementation(project(":compose:ui:ui-tooling-data"), {
transitive(false)
})
implementation(libs.kotlinReflect, {
exclude group: "org.jetbrains.kotlin", module: "kotlin-stdlib"
})
androidTestImplementation(libs.kotlinStdlib)
androidTestImplementation(libs.kotlinCoroutinesAndroid)
androidTestImplementation(libs.testCore)
androidTestImplementation(project(":compose:foundation:foundation-layout"))
androidTestImplementation(project(":compose:ui:ui-tooling"))
androidTestImplementation(project(":compose:ui:ui-tooling-data"))
androidTestImplementation(project(":compose:ui:ui"))
androidTestImplementation(project(":compose:ui:ui-util"))
androidTestImplementation(project(":compose:ui:ui-test-junit4"))
androidTestImplementation(project(":internal-testutils-fonts"))
androidTestImplementation(project(":compose:material:material"))
androidTestImplementation(project(":inspection:inspection-testing"))
androidTestImplementation("androidx.activity:activity-compose:1.3.1")
androidTestImplementation(libs.testRunner)
androidTestImplementation(libs.testRules)
androidTestImplementation(libs.testExtJunit)
androidTestImplementation(libs.truth)
}
androidx {
name = "Compose Layout Inspector"
type = LibraryType.IDE_PLUGIN
inceptionYear = "2021"
description = "Compose layout inspector. Exposes information to our tools for better IDE support."
}
android {
defaultConfig {
// layout inspection supported starting on Android Q
minSdkVersion 29
}
sourceSets {
main.resources.srcDirs += "src/main/proto"
}
externalNativeBuild {
cmake {
path "src/main/cpp/CMakeLists.txt"
version libs.versions.cmake.get()
}
}
namespace "androidx.compose.ui.inspection"
}
tasks.withType(KotlinCompile).configureEach {
kotlinOptions {
freeCompilerArgs += [
"-P", "plugin:androidx.compose.compiler.plugins.kotlin:sourceInformation=true"
]
}
}
inspection {
name = "compose-ui-inspection.jar"
}