sample/build.gradle.kts (82 lines of code) (raw):

/* * Copyright (C) 2017. Uber Technologies * * 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 * * https://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. */ import net.ltgt.gradle.errorprone.CheckSeverity import net.ltgt.gradle.errorprone.errorprone import net.ltgt.gradle.nullaway.nullaway import org.jetbrains.kotlin.gradle.dsl.JvmTarget import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { alias(libs.plugins.android.application) alias(libs.plugins.kotlin.android) alias(libs.plugins.errorProne) alias(libs.plugins.nullAway) } android { namespace = "autodispose2.sample" defaultConfig { targetSdk = libs.versions.targetSdkVersion.get().toInt() multiDexEnabled = true } sourceSets { getByName("main") { java.srcDirs("src/main/kotlin") } } lint { checkDependencies = true } buildTypes { getByName("debug") { matchingFallbacks += listOf("release") } } testOptions { execution = "ANDROIDX_TEST_ORCHESTRATOR" } } val classesWithScope = listOf( "android.app.Activity", "android.app.Fragment", "androidx.lifecycle.LifecycleOwner", "autodispose2.ScopeProvider", "autodispose2.sample.CustomScope" ) tasks.withType<JavaCompile>().configureEach { options.errorprone { nullaway { severity = CheckSeverity.ERROR annotatedPackages.add("com.uber") } check("AutoDispose", CheckSeverity.ERROR) option("AutoDispose:TypesWithScope", classesWithScope.joinToString(",")) } } androidComponents { beforeVariants { builder -> if (builder.buildType == "release") { builder.enable = false } } } project.tasks.withType<KotlinCompile>().configureEach { compilerOptions { freeCompilerArgs.addAll("-Xjsr305=strict") progressiveMode.set(true) jvmTarget.set(JvmTarget.JVM_1_8) } } dependencies { implementation(project(":android:autodispose-android")) implementation(project(":android:autodispose-androidx-lifecycle")) implementation(project(":autodispose")) implementation(project(":autodispose-lifecycle")) // implementation project(":autodispose-rxlifecycle3") implementation(libs.multidex) implementation(libs.androidx.appcompat) implementation(libs.androidx.constraintlayout) implementation(libs.material) implementation(libs.androidx.lifecycle.extensions) implementation(libs.androidx.fragment.ktx) implementation(libs.androidx.activityKtx) implementation(libs.androidx.lifecycle.runtimeKtx) implementation(libs.androidx.lifecycle.vmKtx) implementation(libs.rx.android) implementation(libs.replaying.share.kotlin) implementation(libs.rxrelay) implementation(libs.rxjava3.bridge) errorprone(libs.build.errorProne) errorprone(libs.build.nullAway) errorprone(project(":static-analysis:autodispose-error-prone")) debugImplementation(libs.leakcanary.android) androidTestImplementation(project(":test-utils")) androidTestImplementation(libs.test.androidRunner) androidTestImplementation(libs.test.androidRules) androidTestUtil(libs.test.androidOrchestrator) androidTestImplementation(libs.test.androidExtJunit) }