"Prefiere ejecutar el procesador daga sobre esa class en su lugar" en Kotlin

Recibo esta nota en la compilation cada vez que hago una inyección en una class de kotlin (por cierto, tengo un proyecto de Android mixto con kotlin y java).

Por ejemplo, después de esta tarea de gradle: compileStagingDebugJavaWithJavac (StagingDebug es mi variante de compilation), aparece este post:

"Nota: Generar un MemberInjector o Factory para com.packageNameXXX.CourseDiscoveryMapFragment. Prefiere ejecutar el procesador dagger sobre esa class en su lugar".

Mi código CourseDiscoveryMapFragment se puede ver aquí:

 class CourseDiscoveryMapFragment : Fragment(){ @Inject lateinit var presenter: CourseDiscoveryMapPresenter lateinit var mapView: MapView override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? { val view = inflater.inflate(R.layout.fragment_discovery_map, container, false) MapsInitializer.initialize(activity) mapView = view.mapView mapView.onCreate(savedInstanceState?.getBundle(BUNDLE_KEY_MAP_STATE)) (activity as BaseActivity) .activityComponent.inject(this) } 

Y mi ActivityComponent es:

 @ActivityScope @Subcomponent(modules = ActivityModule.class) public interface ActivityComponent { void inject(BaseActivity baseActivity); void inject(CourseDiscoveryMapFragment fragment); //Exposed to sub-graphs. Activity activity(); } 

Entonces, tengo un componente y modules de daga escritos en Java, mientras recibo inyecciones de daga en Kotlin.

¿Es esto algo por lo que debería estar preocupado?

Gracias.

Me temo que no puedes. ¿Por qué no escribir modules de dependencia en Kotlin?

Para escribir modules de dependencia en java, debe configurar su script de Gradle de esta manera:

  compile 'com.google.dagger:dagger:2.8' apt 'com.google.dagger:dagger-compiler:2.8' 

Pero, para escribir modules de dependencia en Kotlin, debe configurar su script de Gradle de esta manera:

 compile 'com.google.dagger:dagger:2.8' kapt 'com.google.dagger:dagger-compiler:2.8' 

dagger necesita la herramienta de procesamiento de annotations para generar el código de dependencia durante el process de compilation. Así que supongo que solo necesita usar el APT correcto (herramienta de procesamiento de annotations) de acuerdo con el idioma correcto.