diff --git a/build.gradle.kts b/build.gradle.kts index 7cb4c4b7..4a693fa3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -156,7 +156,6 @@ apiValidation { ignoredProjects.addAll( listOf( "tangle-test-utils", - "tangle-test-utils-android", "tangle-compiler", "tangle-fragment-compiler", "tangle-viewmodel-compiler", diff --git a/buildSrc/src/main/kotlin/common.kt b/buildSrc/src/main/kotlin/common.kt index b3d8c314..4c941d94 100644 --- a/buildSrc/src/main/kotlin/common.kt +++ b/buildSrc/src/main/kotlin/common.kt @@ -113,3 +113,18 @@ fun Project.common() { dependsOn(dependencySyncTasks) } } + +fun Project.experimentalAnvil() { + + tasks.withType() + .configureEach { + + kotlinOptions { + + freeCompilerArgs = freeCompilerArgs + listOf( + "-Xopt-in=com.squareup.anvil.annotations.ExperimentalAnvilApi" + ) + } + } + +} diff --git a/buildSrc/src/main/kotlin/javaLibrary.gradle.kts b/buildSrc/src/main/kotlin/javaLibrary.gradle.kts index 664300f1..5511a2a7 100644 --- a/buildSrc/src/main/kotlin/javaLibrary.gradle.kts +++ b/buildSrc/src/main/kotlin/javaLibrary.gradle.kts @@ -50,14 +50,3 @@ val testJvm by tasks.registering { val buildTests by tasks.registering { dependsOn("testClasses") } - -tasks.withType() - .configureEach { - - kotlinOptions { - - freeCompilerArgs = freeCompilerArgs + listOf( - "-Xopt-in=com.squareup.anvil.annotations.ExperimentalAnvilApi" - ) - } - } diff --git a/settings.gradle.kts b/settings.gradle.kts index 68d474a4..8406f7a4 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -68,7 +68,6 @@ include( ":tangle-fragment-compiler", ":tangle-gradle-plugin", ":tangle-test-utils", - ":tangle-test-utils-android", ":tangle-viewmodel-activity", ":tangle-viewmodel-api", ":tangle-viewmodel-compiler", diff --git a/tangle-api/build.gradle.kts b/tangle-api/build.gradle.kts index 0d0378dc..a1a78857 100644 --- a/tangle-api/build.gradle.kts +++ b/tangle-api/build.gradle.kts @@ -14,14 +14,18 @@ */ plugins { - androidLibrary + javaLibrary id("com.vanniktech.maven.publish") } +kotlin { + explicitApi() +} + dependencies { api(libs.androidx.annotations) + api(libs.google.dagger.api) testImplementation(projects.tangleTestUtils) - testImplementation(projects.tangleTestUtilsAndroid) } diff --git a/tangle-api/gradle.properties b/tangle-api/gradle.properties index 5c468151..e5785a4d 100644 --- a/tangle-api/gradle.properties +++ b/tangle-api/gradle.properties @@ -14,4 +14,4 @@ # POM_ARTIFACT_ID=tangle-api POM_NAME=tangle-api -POM_PACKAGING=aar +POM_PACKAGING=jar diff --git a/tangle-api/src/main/AndroidManifest.xml b/tangle-api/src/main/AndroidManifest.xml deleted file mode 100644 index 47ba509d..00000000 --- a/tangle-api/src/main/AndroidManifest.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - diff --git a/tangle-api/src/test/kotlin/tangle/inject/samples/TangleGraphSample.kt b/tangle-api/src/test/kotlin/tangle/inject/samples/TangleGraphSample.kt index 608a62fb..393f52c9 100644 --- a/tangle-api/src/test/kotlin/tangle/inject/samples/TangleGraphSample.kt +++ b/tangle-api/src/test/kotlin/tangle/inject/samples/TangleGraphSample.kt @@ -15,9 +15,9 @@ package tangle.inject.samples -import android.app.Application import tangle.inject.TangleGraph -import tangle.inject.test.utils.DaggerMyAppComponent +import tangle.inject.test.utils.Application +import tangle.inject.test.utils.DaggerAppComponent import tangle.inject.test.utils.Sample class TangleGraphSample { @@ -29,7 +29,7 @@ class TangleGraphSample { override fun onCreate() { super.onCreate() - val appComponent = DaggerMyAppComponent.factory() + val appComponent = DaggerAppComponent.factory() .create(this) TangleGraph.init(appComponent) diff --git a/tangle-compiler/build.gradle.kts b/tangle-compiler/build.gradle.kts index a29d6f21..1d32f472 100644 --- a/tangle-compiler/build.gradle.kts +++ b/tangle-compiler/build.gradle.kts @@ -18,6 +18,8 @@ plugins { id("com.vanniktech.maven.publish") } +experimentalAnvil() + dependencies { api(libs.kotlin.compiler) diff --git a/tangle-fragment-compiler/build.gradle.kts b/tangle-fragment-compiler/build.gradle.kts index a958799f..1e31ed23 100644 --- a/tangle-fragment-compiler/build.gradle.kts +++ b/tangle-fragment-compiler/build.gradle.kts @@ -19,6 +19,8 @@ plugins { kotlin("kapt") } +experimentalAnvil() + dependencies { kapt(libs.google.auto.service.processor) diff --git a/tangle-test-utils-android/build.gradle.kts b/tangle-test-utils-android/build.gradle.kts deleted file mode 100644 index 6e96c9ec..00000000 --- a/tangle-test-utils-android/build.gradle.kts +++ /dev/null @@ -1,28 +0,0 @@ -/* - * Copyright (C) 2021 Rick Busarow - * 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 { - androidLibrary - kotlin("kapt") -} - -dependencies { - - kapt(libs.google.dagger.compiler) - - api(libs.google.dagger.api) - - api(projects.tangleApi) -} diff --git a/tangle-test-utils-android/src/main/AndroidManifest.xml b/tangle-test-utils-android/src/main/AndroidManifest.xml deleted file mode 100644 index a7083c31..00000000 --- a/tangle-test-utils-android/src/main/AndroidManifest.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - diff --git a/tangle-test-utils/build.gradle.kts b/tangle-test-utils/build.gradle.kts index 454d3b0f..62235351 100644 --- a/tangle-test-utils/build.gradle.kts +++ b/tangle-test-utils/build.gradle.kts @@ -18,6 +18,8 @@ plugins { kotlin("kapt") } +experimentalAnvil() + dependencies { kapt(libs.google.auto.service.processor) diff --git a/tangle-test-utils-android/src/main/kotlin/tangle/inject/test/utils/MyAppComponent.kt b/tangle-test-utils/src/main/kotlin/tangle/inject/test/utils/MyAppComponent.kt similarity index 87% rename from tangle-test-utils-android/src/main/kotlin/tangle/inject/test/utils/MyAppComponent.kt rename to tangle-test-utils/src/main/kotlin/tangle/inject/test/utils/MyAppComponent.kt index 5dfa86a3..619dbc99 100644 --- a/tangle-test-utils-android/src/main/kotlin/tangle/inject/test/utils/MyAppComponent.kt +++ b/tangle-test-utils/src/main/kotlin/tangle/inject/test/utils/MyAppComponent.kt @@ -17,7 +17,6 @@ package tangle.inject.test.utils -import android.app.Application import dagger.BindsInstance import dagger.Component @@ -26,10 +25,17 @@ interface MyAppComponent { @Component.Factory fun interface Factory { - fun create(@BindsInstance application: Application): MyAppComponent + fun create( + @BindsInstance + application: Application + ): MyAppComponent } } +open class Application { + open fun onCreate() = Unit +} + object DaggerAppComponent : MyAppComponent { fun factory() = MyAppComponent.Factory { diff --git a/tangle-viewmodel-activity/build.gradle.kts b/tangle-viewmodel-activity/build.gradle.kts index 5517621d..fef04e95 100644 --- a/tangle-viewmodel-activity/build.gradle.kts +++ b/tangle-viewmodel-activity/build.gradle.kts @@ -37,6 +37,5 @@ dependencies { testImplementation(projects.tangleFragmentApi) testImplementation(projects.tangleFragmentCompiler) testImplementation(projects.tangleTestUtils) - testImplementation(projects.tangleTestUtilsAndroid) testImplementation(projects.tangleViewmodelCompiler) } diff --git a/tangle-viewmodel-api/build.gradle.kts b/tangle-viewmodel-api/build.gradle.kts index 88c89a71..3de083c9 100644 --- a/tangle-viewmodel-api/build.gradle.kts +++ b/tangle-viewmodel-api/build.gradle.kts @@ -35,7 +35,6 @@ dependencies { testImplementation(projects.tangleFragmentApi) testImplementation(projects.tangleFragmentCompiler) testImplementation(projects.tangleTestUtils) - testImplementation(projects.tangleTestUtilsAndroid) testImplementation(projects.tangleViewmodelActivity) testImplementation(projects.tangleViewmodelCompiler) testImplementation(projects.tangleViewmodelFragment) diff --git a/tangle-viewmodel-compiler/build.gradle.kts b/tangle-viewmodel-compiler/build.gradle.kts index 2d69a3e0..f8063103 100644 --- a/tangle-viewmodel-compiler/build.gradle.kts +++ b/tangle-viewmodel-compiler/build.gradle.kts @@ -19,6 +19,8 @@ plugins { kotlin("kapt") } +experimentalAnvil() + dependencies { kapt(libs.google.auto.service.processor) diff --git a/tangle-viewmodel-fragment/build.gradle.kts b/tangle-viewmodel-fragment/build.gradle.kts index 2b7fbbb1..37303c30 100644 --- a/tangle-viewmodel-fragment/build.gradle.kts +++ b/tangle-viewmodel-fragment/build.gradle.kts @@ -37,6 +37,5 @@ dependencies { testImplementation(projects.tangleFragmentApi) testImplementation(projects.tangleFragmentCompiler) testImplementation(projects.tangleTestUtils) - testImplementation(projects.tangleTestUtilsAndroid) testImplementation(projects.tangleViewmodelCompiler) } diff --git a/tangle-work-api/build.gradle.kts b/tangle-work-api/build.gradle.kts index efaa4779..a3bec0c4 100644 --- a/tangle-work-api/build.gradle.kts +++ b/tangle-work-api/build.gradle.kts @@ -35,7 +35,6 @@ dependencies { testImplementation(projects.tangleFragmentApi) testImplementation(projects.tangleFragmentCompiler) testImplementation(projects.tangleTestUtils) - testImplementation(projects.tangleTestUtilsAndroid) testImplementation(projects.tangleViewmodelApi) testImplementation(projects.tangleViewmodelCompiler) testImplementation(projects.tangleWorkCompiler) diff --git a/tangle-work-api/src/test/kotlin/tangle/work/samples/TangleWorkerFactorySample.kt b/tangle-work-api/src/test/kotlin/tangle/work/samples/TangleWorkerFactorySample.kt index 8f535035..4b73b76d 100644 --- a/tangle-work-api/src/test/kotlin/tangle/work/samples/TangleWorkerFactorySample.kt +++ b/tangle-work-api/src/test/kotlin/tangle/work/samples/TangleWorkerFactorySample.kt @@ -15,9 +15,9 @@ package tangle.work.samples -import android.app.Application import androidx.work.Configuration import tangle.inject.TangleGraph +import tangle.inject.test.utils.Application import tangle.inject.test.utils.DaggerAppComponent import tangle.inject.test.utils.MyApplicationComponent import tangle.inject.test.utils.Sample diff --git a/tangle-work-compiler/build.gradle.kts b/tangle-work-compiler/build.gradle.kts index 2d69a3e0..f8063103 100644 --- a/tangle-work-compiler/build.gradle.kts +++ b/tangle-work-compiler/build.gradle.kts @@ -19,6 +19,8 @@ plugins { kotlin("kapt") } +experimentalAnvil() + dependencies { kapt(libs.google.auto.service.processor)