blob: 49c98b275c71522bde3e4c7a66afc8d2dd4d9f27 [file] [log] [blame]
// Copyright (C) 2023 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.
buildscript {
ext.versions = [
'gradle' : '8.1.0',
'minSdk' : 34,
'targetSdk' : 34,
'compileSdk' : 34,
'buildTools' : '30.0.3',
'kotlin' : '1.6.21',
'ktx' : '1.10.1',
'coroutines' : '1.6.4',
'appcompat' : '1.6.1',
'androidXLib' : '1.1.0-alpha02',
'androidXRun' : '1.1.0-alpha4',
'guava' : '31.0.1-android',
'filament' : '1.12.5',
'dagger' : '2.44',
'material' : '1.9.0',
'junit' : '4.13.2',
'androidXTest' : '1.5.0',
'mockito' : '2.28.3',
]
repositories {
google()
mavenCentral()
}
dependencies {
classpath "com.android.tools.build:gradle:$versions.gradle"
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0"
}
}
allprojects {
repositories {
google()
mavenCentral()
}
}
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'org.jetbrains.kotlin.kapt'
android {
namespace 'com.google.android.wallpaper.weathereffects'
compileSdk versions.compileSdk
defaultConfig {
applicationId 'com.google.android.wallpaper.weathereffects'
minSdk versions.minSdk
targetSdk versions.targetSdk
versionCode 1
versionName '0.1.0'
signingConfig signingConfigs.debug
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
sourceSets {
main {
// TODO: Split out debug source.
java.srcDirs = ["${rootDir}/src", "${rootDir}/debug/src"]
res.srcDirs = ["${rootDir}/res", "${rootDir}/debug/res"]
manifest.srcFile "AndroidManifest.xml"
}
debug {
java.srcDirs = ["${rootDir}/debug/src"]
res.srcDirs = ["${rootDir}/debug/res"]
assets.srcDirs = ["${rootDir}/debug/assets"]
manifest.srcFile "debug/AndroidManifest.xml"
}
test {
java.srcDirs = ["${rootDir}/unitTests/src"]
res.srcDirs = ["${rootDir}/unitTests/res"]
}
androidTest {
java.srcDirs = ["${rootDir}/tests/src"]
res.srcDirs = ["${rootDir}/tests/res"]
}
}
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
testCoverageEnabled true
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
testCoverageEnabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '17'
}
testOptions {
unitTests {
includeAndroidResources = true
}
}
}
dependencies {
implementation project(':toruslib')
implementation project(':graphics')
implementation "androidx.slice:slice-builders:$versions.androidXLib"
implementation "androidx.slice:slice-core:$versions.androidXLib"
implementation "androidx.core:core-ktx:$versions.ktx"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$versions.coroutines"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$versions.coroutines"
implementation "androidx.appcompat:appcompat:$versions.appcompat"
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
debugImplementation "com.google.android.material:material:$versions.material"
androidTestImplementation "junit:junit:$versions.junit"
androidTestImplementation "androidx.test:core:$versions.androidXTest"
androidTestImplementation "androidx.test:rules:$versions.androidXTest"
androidTestImplementation "androidx.test:runner:1.5.2"
androidTestImplementation 'androidx.test.ext:junit-ktx:1.1.5'
androidTestImplementation "com.google.truth:truth:1.1.3"
androidTestImplementation "org.mockito:mockito-core:5.3.1"
androidTestImplementation "com.linkedin.dexmaker:dexmaker-mockito-inline:$versions.mockito"
androidTestImplementation "com.linkedin.dexmaker:dexmaker-mockito-inline-extended:$versions.mockito"
androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$versions.coroutines"
androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$versions.coroutines"
// Dagger
api "com.google.dagger:dagger:$versions.dagger"
api "com.google.dagger:dagger-android:$versions.dagger"
kapt "com.google.dagger:dagger-compiler:$versions.dagger"
kapt "com.google.dagger:dagger-android-processor:$versions.dagger"
kaptAndroidTest "com.google.dagger:dagger-compiler:$versions.dagger"
kaptAndroidTest "com.google.dagger:dagger-android-processor:$versions.dagger"
}