wgr1984/DevUtilsProcessor

@Debug annotation breaks the software when the dependencies are mixed

Opened this issue · 0 comments

hi,
i think people should stop using this @Debug annotation. They cannot rely on this annotation because of the laziness.

Here's a case, in which i want to speed up the test. So the dependency tree is like:

myApp (debug)
    ┣ A (debug)
    ┗ B (release) with some @Debug annotations
        ┗ DevUtilsProcessor (release)

here because i don't care how is the output of B, so i add its release variant as dependency to speed up the tests. (yes, it's usual that the release variant runs faster than debug variant)
and because of laziness... the @Debug annotation was added there and it's accessed in the release variant. so the software crashes at the runtime, when myApp tries to call some method there...

myApp_debug::doSomethingInB() {
    // debug variant here
    B.doSomethingDebug()
}

@Debug
B_release::doSomethingDebug() {
    //  this method is called, and crashes
}

could you please fix this broken concept? 😬