Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Dagger 2 swallows errors #306

Closed
Closed
Dagger 2 swallows errors#306

Description

Hi, i have an unexpected problem with my setup. Also to inform you, i heavily use the official android databinding in my project (in 10+ activities and 20+ fragments).

my app build.gradle is something like this:

apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'

android {
compileSdkVersion 23
buildToolsVersion '23.0.2'

dataBinding {
enabled = true
}

dexOptions {
incremental true
javaMaxHeapSize "4g"
}

defaultConfig {
applicationId "com.charbgr"
minSdkVersion 16
targetSdkVersion 23
versionCode 1
versionName "1"

//Espresso
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

//RenderScript
renderscriptTargetApi 19
renderscriptSupportModeEnabled true

multiDexEnabled true
}

packagingOptions {

//Espresso excludes
exclude 'META-INF/DEPENDENCIES.txt'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/notice.txt'
exclude 'META-INF/license.txt'
exclude 'META-INF/dependencies.txt'
exclude 'META-INF/LGPL2.1'
exclude 'LICENSE.txt'
//Espresso excludes

}

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}

}



dependencies {

...

compile 'com.google.dagger:dagger:2.0.2'
apt 'com.google.dagger:dagger-compiler:2.0.2'
provided 'org.glassfish:javax.annotation:10.0-b28'
}

the root build.gradle is this one:

buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.0.0-alpha5'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}

allprojects {
repositories {
jcenter()
}
}

In my code, i make an enforced error(i know that i cannot create an object with the same method name in a module). The enforced error looks like this:

@Module
public class AndroidModule {

@Provides
public Foo providesFoo(String bar) {
return new Foo(bar);
}

@Provides
public Foo providesFoo(String bar, String unusedArgument) {
return new Foo(bar);
}
}

For some reason, when i build my project i get 100+ errors from databinding with this output:
cannot find symbol class BR

and dagger doesn't prints this error
Cannot have more than one @Provides method with the same name in a single module

Seems that Dagger "swallows" this error or the databinding overrides some behaviour of the annotation processor tool(apt).

Do you know what's going on?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions