mirror of
https://github.com/material-components/material-components-android.git
synced 2026-02-20 08:39:55 +08:00
Resolves https://github.com/material-components/material-components-android/issues/4939 PiperOrigin-RevId: 816329734
188 lines
4.2 KiB
Groovy
188 lines
4.2 KiB
Groovy
buildscript {
|
|
repositories {
|
|
google()
|
|
mavenCentral()
|
|
}
|
|
dependencies {
|
|
classpath 'org.jetbrains.kotlin.plugin.compose:org.jetbrains.kotlin.plugin.compose.gradle.plugin:2.2.0'
|
|
}
|
|
}
|
|
|
|
plugins {
|
|
id 'com.android.application'
|
|
id 'org.jetbrains.kotlin.android' version "2.1.21"
|
|
id 'org.jetbrains.kotlin.plugin.compose' version "2.2.0"
|
|
}
|
|
|
|
dependencies {
|
|
|
|
// Align kotlin versions
|
|
implementation(platform('org.jetbrains.kotlin:kotlin-bom:2.2.0'))
|
|
|
|
api libs.dagger
|
|
annotationProcessor libs.dagger.compiler
|
|
|
|
api libs.dagger.android
|
|
api libs.dagger.android.support
|
|
annotationProcessor libs.dagger.android.processor
|
|
|
|
api libs.androidx.multidex
|
|
api libs.androidx.constraintlayout
|
|
api libs.androidx.gridlayout
|
|
api libs.androidx.recyclerview
|
|
api libs.androidx.window
|
|
api libs.androidx.window.java
|
|
api libs.androidx.preference
|
|
|
|
api libs.androidx.activity.compose
|
|
api libs.androidx.compose.material.icons.core
|
|
api libs.androidx.compose.material.icons.extended
|
|
api libs.androidx.compose.material3
|
|
|
|
api libs.guava
|
|
modules {
|
|
module("com.google.guava:listenablefuture") {
|
|
replacedBy("com.google.guava:guava", "listenablefuture is part of guava")
|
|
}
|
|
}
|
|
|
|
api libs.glide
|
|
|
|
api project(':lib')
|
|
|
|
api libs.androidx.recyclerview.selection
|
|
|
|
implementation libs.errorprone.annotations
|
|
|
|
androidTestImplementation libs.androidx.test.core
|
|
androidTestImplementation libs.androidx.test.runner
|
|
androidTestImplementation libs.androidx.test.rules
|
|
androidTestImplementation libs.androidx.espresso.core
|
|
androidTestImplementation libs.androidx.espresso.contrib
|
|
|
|
testImplementation libs.androidx.test.core
|
|
testImplementation libs.androidx.test.runner
|
|
testImplementation libs.junit
|
|
testImplementation libs.truth
|
|
testImplementation libs.mockito.core
|
|
testImplementation libs.robolectric
|
|
}
|
|
|
|
def srcDirs = [
|
|
'adaptive',
|
|
'application',
|
|
'application/attrs',
|
|
'application/legacymultidex',
|
|
'application/scope',
|
|
'application/theme',
|
|
'assets',
|
|
'bottomappbar',
|
|
'bottomnav',
|
|
'bottomsheet',
|
|
'button',
|
|
'card',
|
|
'carousel',
|
|
'checkbox',
|
|
'chip',
|
|
'color',
|
|
'datepicker',
|
|
'dialog',
|
|
'divider',
|
|
'draggable',
|
|
'dockedtoolbar',
|
|
'elevation',
|
|
'imageview',
|
|
'fab',
|
|
'feature',
|
|
'floatingtoolbar',
|
|
'font',
|
|
'internal',
|
|
'loadingindicator',
|
|
'listitem',
|
|
'main',
|
|
'materialswitch',
|
|
'menu',
|
|
'musicplayer',
|
|
'navigationrail',
|
|
'navigationdrawer',
|
|
'overflow',
|
|
'preferences',
|
|
'progressindicator',
|
|
'radiobutton',
|
|
'search',
|
|
'shapetheming',
|
|
'sidesheet',
|
|
'slider',
|
|
'snackbar',
|
|
'tableofcontents',
|
|
'tabs',
|
|
'textfield',
|
|
'themeswitcher',
|
|
'timepicker',
|
|
'topappbar',
|
|
'transition',
|
|
'windowpreferences'
|
|
]
|
|
|
|
android {
|
|
namespace "io.material.catalog"
|
|
defaultConfig {
|
|
manifestPlaceholders = [
|
|
application_name : 'CatalogApplication',
|
|
application_theme : 'Catalog',
|
|
catalog_application_component: 'io.material.catalog.application.DaggerCatalogApplicationComponent'
|
|
]
|
|
|
|
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
|
vectorDrawables.useSupportLibrary = true
|
|
multiDexEnabled true
|
|
minSdkVersion 21
|
|
targetSdkVersion 33
|
|
}
|
|
|
|
testOptions {
|
|
unitTests.returnDefaultValues = true
|
|
}
|
|
|
|
sourceSets {
|
|
main {
|
|
manifest.srcFile 'java/io/material/catalog/AndroidManifest.xml'
|
|
java.srcDir 'java'
|
|
java.includes = srcDirs.collect {
|
|
'io/material/catalog/' + it + '/**/*.java'
|
|
}
|
|
java.excludes = [
|
|
'**/build/**',
|
|
]
|
|
kotlin.srcDir 'java'
|
|
kotlin.includes = srcDirs.collect {
|
|
'io/material/catalog/' + it + '/**/*.kt'
|
|
}
|
|
kotlin.excludes = [
|
|
'**/build/**',
|
|
]
|
|
res.srcDirs = ['java/io/material/catalog/res']
|
|
srcDirs.forEach {
|
|
res.srcDirs += 'java/io/material/catalog/' + it + '/res'
|
|
}
|
|
}
|
|
//TODO(b/141695010)
|
|
// androidTest.java.srcDir 'androidTest/javatests'
|
|
// test.java.srcDir 'test/javatests'
|
|
}
|
|
|
|
compileOptions {
|
|
sourceCompatibility JavaVersion.VERSION_1_8
|
|
targetCompatibility JavaVersion.VERSION_1_8
|
|
}
|
|
kotlinOptions {
|
|
jvmTarget = "1.8"
|
|
}
|
|
buildFeatures {
|
|
compose true
|
|
}
|
|
androidResources {
|
|
additionalParameters '--no-version-vectors'
|
|
}
|
|
}
|