Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
* 'main' of https://github.com/deliveryhero/whetstone:
  Update Anvil to fix gradle cache issues (deliveryhero#93)
  Bump snapshot version for whetstone (deliveryhero#92)
  Updating Dependencies with AGP and Kotlin version upgrade (deliveryhero#91)
  • Loading branch information
msfjarvis committed Feb 28, 2024
2 parents 8664efc + 0ff5edb commit 59db14e
Show file tree
Hide file tree
Showing 7 changed files with 25 additions and 9 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
package com.deliveryhero.whetstone.compiler

import java.io.File

internal class GeneratedFileInfo(
val packageName: String,
val fileName: String,
val content: String
val content: String,
val sourceFile: File,
)
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.deliveryhero.whetstone.compiler
import com.google.auto.service.AutoService
import com.squareup.anvil.compiler.api.AnvilContext
import com.squareup.anvil.compiler.api.CodeGenerator
import com.squareup.anvil.compiler.api.GeneratedFile
import com.squareup.anvil.compiler.api.GeneratedFileWithSources
import com.squareup.anvil.compiler.api.createGeneratedFile
import com.squareup.anvil.compiler.internal.reference.classAndInnerClassReferences
import org.jetbrains.kotlin.descriptors.ModuleDescriptor
Expand All @@ -21,11 +21,18 @@ public class WhetstoneCodeGenerator : CodeGenerator {
codeGenDir: File,
module: ModuleDescriptor,
projectFiles: Collection<KtFile>
): Collection<GeneratedFile> {
): Collection<GeneratedFileWithSources> {
return projectFiles
.classAndInnerClassReferences(module)
.flatMap { clas -> codegenHandlers.mapNotNull { it.processClass(clas, module) } }
.map { info -> createGeneratedFile(codeGenDir, info.packageName, info.fileName, info.content) }
.toList()
.map { info ->
createGeneratedFile(
codeGenDir = codeGenDir,
packageName = info.packageName,
fileName = info.fileName,
content = info.content,
sourceFiles = setOf(info.sourceFile),
)
}.toList()
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ internal class AppComponentHandler : CodegenHandler {
writeAppComponent(module, packageName, outputFileName)
}

return GeneratedFileInfo(packageName, outputFileName, content)
return GeneratedFileInfo(packageName, outputFileName, content, clas.containingFileAsJavaFile)
}

private fun FileSpec.Builder.writeAppComponent(module: ModuleDescriptor, packageName: String, className: String) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ internal class BindingsModuleHandler : CodegenHandler {
addType(moduleInterfaceSpec)
}

return GeneratedFileInfo(packageName, outputFileName, content)
return GeneratedFileInfo(packageName, outputFileName, content, clas.containingFileAsJavaFile)
}

private fun <K, V> MutableMap<K, V?>.getOrPutNullable(key: K, func: () -> V?): V? {
Expand Down
6 changes: 6 additions & 0 deletions whetstone-gradle-plugin/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -83,3 +83,9 @@ fun loadParentProperties() {
extra.set(key, value)
}
}

afterEvaluate {
with(tasks) {
findByName("kaptGenerateStubsKotlin")?.dependsOn(findByName("generateBuildConfig"))
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ public interface ActivityModule {

@Binds
@ForScope(ActivityScope::class)
public fun Activity.bindContext(): Context
public fun bindContext(activity: Activity): Context

@Multibinds
public fun membersInjectors(): MembersInjectorMap
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public interface ApplicationModule {

@Binds
@ForScope(ApplicationScope::class)
public fun Application.bindContext(): Context
public fun bindContext(application: Application): Context

@Multibinds
public fun membersInjectors(): MembersInjectorMap
Expand Down

0 comments on commit 59db14e

Please sign in to comment.