Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot invoke getAnnotationValue because "annotation" is null #4362

Closed
dgaillard2 opened this issue Jul 18, 2024 · 14 comments
Closed

Cannot invoke getAnnotationValue because "annotation" is null #4362

dgaillard2 opened this issue Jul 18, 2024 · 14 comments

Comments

@dgaillard2
Copy link

dgaillard2 commented Jul 18, 2024

It's strange, my project works well, but when i upgrade from my AGP like this :

from
distributionUrl=https\://services.gradle.org/distributions/gradle-8.4-bin.zip com.android.tools.build:gradle 8.3.2
to
distributionUrl=https\://services.gradle.org/distributions/gradle-8.6-bin.zip com.android.tools.build:gradle 8.4.2

i get this error in my project :

error: [Hilt] Cannot invoke "dagger.spi.internal.shaded.androidx.room.compiler.processing.XAnnotation.getAnnotationValue(String)" because "annotation" is null: java.lang.NullPointerException: Cannot invoke "dagger.spi.internal.shaded.androidx.room.compiler.processing.XAnnotation.getAnnotationValue(String)" because "annotation" is null
  	at dagger.hilt.processor.internal.aggregateddeps.AggregatedDepsMetadata.create(AggregatedDepsMetadata.java:114)
  	at dagger.hilt.processor.internal.aggregateddeps.AggregatedDepsMetadata.lambda$from$0(AggregatedDepsMetadata.java:78)
  	at java.base/java.util.stream.ReferencePipeline$3$1.accept(Unknown Source)
  	at java.base/java.util.Spliterators$ArraySpliterator.forEachRemaining(Unknown Source)
  	at java.base/java.util.stream.AbstractPipeline.copyInto(Unknown Source)
  	at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(Unknown Source)
  	at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(Unknown Source)
  	at java.base/java.util.stream.AbstractPipeline.evaluate(Unknown Source)
  	at java.base/java.util.stream.ReferencePipeline.collect(Unknown Source)
  	at dagger.hilt.processor.internal.aggregateddeps.AggregatedDepsMetadata.from(AggregatedDepsMetadata.java:79)
  	at dagger.hilt.processor.internal.root.ComponentTreeDepsProcessingStep.processComponentTreeDeps(ComponentTreeDepsProcessingStep.java:120)
  	at dagger.hilt.processor.internal.root.ComponentTreeDepsProcessingStep.postProcess(ComponentTreeDepsProcessingStep.java:82)
  	at dagger.hilt.processor.internal.BaseProcessingStep.postRoundProcess(BaseProcessingStep.java:97)
  	at dagger.hilt.processor.internal.JavacBaseProcessingStepProcessor.postRound(JavacBaseProcessingStepProcessor.java:73)
  	at dagger.spi.internal.shaded.androidx.room.compiler.processing.javac.JavacBasicAnnotationProcessor.process(JavacBasicAnnotationProcessor.kt:74)
  	at org.gradle.api.internal.tasks.compile.processing.DelegatingProcessor.process(DelegatingProcessor.java:62)
[Hilt] Cannot invoke "dagger.spi.internal.shaded.androidx.room.compiler.processing.XAnnotation.getAnnotationValue(String)" because "annotation" is null: java.lang.NullPointerException: Cannot invoke "dagger.spi.internal.shaded.androidx.room.compiler.processing.XAnnotation.getAnnotationValue(String)" because "annotation" is null

  	at org.gradle.api.internal.tasks.compile.processing.IsolatingProcessor.process(IsolatingProcessor.java:50)
  	at org.gradle.api.internal.tasks.compile.processing.DelegatingProcessor.process(DelegatingProcessor.java:62)
  	at org.gradle.api.internal.tasks.compile.processing.TimeTrackingProcessor.access$401(TimeTrackingProcessor.java:37)
  	at org.gradle.api.internal.tasks.compile.processing.TimeTrackingProcessor$5.create(TimeTrackingProcessor.java:99)
  	at org.gradle.api.internal.tasks.compile.processing.TimeTrackingProcessor$5.create(TimeTrackingProcessor.java:96)
  	at org.gradle.api.internal.tasks.compile.processing.TimeTrackingProcessor.track(TimeTrackingProcessor.java:117)
  	at org.gradle.api.internal.tasks.compile.processing.TimeTrackingProcessor.process(TimeTrackingProcessor.java:96)
  	at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.callProcessor(Unknown Source)
  	at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.discoverAndRunProcs(Unknown Source)
  	at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment$Round.run(Unknown Source)
  	at jdk.compiler/com.sun.tools.javac.processing.JavacProcessingEnvironment.doProcessing(Unknown Source)
  	at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.processAnnotations(Unknown Source)
  	at jdk.compiler/com.sun.tools.javac.main.JavaCompiler.compile(Unknown Source)
  	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.lambda$doCall$0(Unknown Source)
  	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.invocationHelper(Unknown Source)
  	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.doCall(Unknown Source)
  	at jdk.compiler/com.sun.tools.javac.api.JavacTaskImpl.call(Unknown Source)
  	at org.gradle.internal.compiler.java.IncrementalCompileTask.call(IncrementalCompileTask.java:92)
  	at org.gradle.api.internal.tasks.compile.AnnotationProcessingCompileTask.call(AnnotationProcessingCompileTask.java:94)
  	at org.gradle.api.internal.tasks.compile.ResourceCleaningCompilationTask.call(ResourceCleaningCompilationTask.java:57)
  	at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:59)
  	at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:41)
  	at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:98)
  	at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:52)
  	at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38)
  	at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:52)
  	at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:38)
  	at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:46)
  	at org.gradle.api.internal.tasks.compile.ModuleApplicationNameWritingCompiler.execute(ModuleApplicationNameWritingCompiler.java:36)
  	at org.gradle.jvm.toolchain.internal.DefaultToolchainJavaCompiler.execute(DefaultToolchainJavaCompiler.java:57)
  	at org.gradle.api.tasks.compile.JavaCompile.lambda$createToolchainCompiler$3(JavaCompile.java:202)
  	at org.gradle.api.internal.tasks.compile.CleaningJavaCompiler.execute(CleaningJavaCompiler.java:53)
  	at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory.lambda$createRebuildAllCompiler$0(IncrementalCompilerFactory.java:52)
  	at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:70)
  	at org.gradle.api.internal.tasks.compile.incremental.SelectiveCompiler.execute(SelectiveCompiler.java:44)
  	at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:66)
  	at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:52)
  	at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$1.call(CompileJavaBuildOperationReportingCompiler.java:64)
  	at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$1.call(CompileJavaBuildOperationReportingCompiler.java:48)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
  	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
  	at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler.execute(CompileJavaBuildOperationReportingCompiler.java:48)
  	at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:220)
  	at org.gradle.api.tasks.compile.JavaCompile.performIncrementalCompilation(JavaCompile.java:161)
  	at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:146)
  	at jdk.internal.reflect.GeneratedMethodAccessor664.invoke(Unknown Source)
  	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
  	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
  	at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:125)
  	at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:45)
  	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:51)
  	at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.execute(IncrementalTaskAction.java:26)
  	at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:29)
  	at org.gradle.api.internal.tasks.execution.TaskExecution$3.run(TaskExecution.java:247)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:29)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner$1.execute(DefaultBuildOperationRunner.java:26)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner.run(DefaultBuildOperationRunner.java:47)
  	at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:68)
  	at org.gradle.api.internal.tasks.execution.TaskExecution.executeAction(TaskExecution.java:232)
  	at org.gradle.api.internal.tasks.execution.TaskExecution.executeActions(TaskExecution.java:215)
  	at org.gradle.api.internal.tasks.execution.TaskExecution.executeWithPreviousOutputFiles(TaskExecution.java:198)
  	at org.gradle.api.internal.tasks.execution.TaskExecution.execute(TaskExecution.java:165)
  	at org.gradle.internal.execution.steps.ExecuteStep.executeInternal(ExecuteStep.java:105)
  	at org.gradle.internal.execution.steps.ExecuteStep.access$000(ExecuteStep.java:44)
  	at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:59)
  	at org.gradle.internal.execution.steps.ExecuteStep$1.call(ExecuteStep.java:56)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
  	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
  	at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:56)
  	at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:44)
  	at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:41)
  	at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:74)
  	at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:55)
  	at org.gradle.internal.execution.steps.PreCreateOutputParentsStep.execute(PreCreateOutputParentsStep.java:50)
  	at org.gradle.internal.execution.steps.PreCreateOutputParentsStep.execute(PreCreateOutputParentsStep.java:28)
  	at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:67)
  	at org.gradle.internal.execution.steps.RemovePreviousOutputsStep.execute(RemovePreviousOutputsStep.java:37)
  	at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:61)
  	at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:26)
  	at org.gradle.internal.execution.steps.CaptureOutputsAfterExecutionStep.execute(CaptureOutputsAfterExecutionStep.java:64)
  	at org.gradle.internal.execution.steps.CaptureOutputsAfterExecutionStep.execute(CaptureOutputsAfterExecutionStep.java:42)
  	at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:40)
  	at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:29)
  	at org.gradle.internal.execution.steps.BuildCacheStep.executeWithoutCache(BuildCacheStep.java:189)
  	at org.gradle.internal.execution.steps.BuildCacheStep.executeAndStoreInCache(BuildCacheStep.java:145)
  	at org.gradle.internal.execution.steps.BuildCacheStep.lambda$executeWithCache$4(BuildCacheStep.java:101)
  	at java.base/java.util.Optional.orElseGet(Unknown Source)
  	at org.gradle.internal.execution.steps.BuildCacheStep.lambda$executeWithCache$5(BuildCacheStep.java:101)
  	at org.gradle.internal.Try$Success.map(Try.java:164)
  	at org.gradle.internal.execution.steps.BuildCacheStep.executeWithCache(BuildCacheStep.java:85)
  	at org.gradle.internal.execution.steps.BuildCacheStep.lambda$execute$0(BuildCacheStep.java:74)
  	at org.gradle.internal.Either$Left.fold(Either.java:115)
  	at org.gradle.internal.execution.caching.CachingState.fold(CachingState.java:59)
  	at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:73)
  	at org.gradle.internal.execution.steps.BuildCacheStep.execute(BuildCacheStep.java:48)
  	at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:44)
  	at org.gradle.internal.execution.steps.StoreExecutionStateStep.execute(StoreExecutionStateStep.java:33)
  	at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:76)
  	at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$2(SkipUpToDateStep.java:54)
  	at java.base/java.util.Optional.orElseGet(Unknown Source)
  	at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:54)
  	at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:36)
  	at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:65)
  	at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:36)
  	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:37)
  	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:27)
  	at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:76)
  	at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:37)
  	at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:106)
  	at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:55)
  	at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:64)
  	at org.gradle.internal.execution.steps.AbstractCaptureStateBeforeExecutionStep.execute(AbstractCaptureStateBeforeExecutionStep.java:43)
  	at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.executeWithNonEmptySources(AbstractSkipEmptyWorkStep.java:125)
  	at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:61)
  	at org.gradle.internal.execution.steps.AbstractSkipEmptyWorkStep.execute(AbstractSkipEmptyWorkStep.java:36)
  	at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38)
  	at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:36)
  	at org.gradle.internal.execution.steps.LoadPreviousExecutionStateStep.execute(LoadPreviousExecutionStateStep.java:23)
  	at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:75)
  	at org.gradle.internal.execution.steps.HandleStaleOutputsStep.execute(HandleStaleOutputsStep.java:41)
  	at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.lambda$execute$0(AssignMutableWorkspaceStep.java:35)
  	at org.gradle.api.internal.tasks.execution.TaskExecution$4.withWorkspace(TaskExecution.java:292)
  	at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:31)
  	at org.gradle.internal.execution.steps.AssignMutableWorkspaceStep.execute(AssignMutableWorkspaceStep.java:22)
  	at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:40)
  	at org.gradle.internal.execution.steps.ChoosePipelineStep.execute(ChoosePipelineStep.java:23)
  	at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.lambda$execute$2(ExecuteWorkBuildOperationFiringStep.java:66)
  	at java.base/java.util.Optional.orElseGet(Unknown Source)
  	at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:66)
  	at org.gradle.internal.execution.steps.ExecuteWorkBuildOperationFiringStep.execute(ExecuteWorkBuildOperationFiringStep.java:38)
  	at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:36)
  	at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:26)
  	at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:47)
  	at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:34)
  	at org.gradle.internal.execution.impl.DefaultExecutionEngine$1.execute(DefaultExecutionEngine.java:61)
  	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:145)
  	at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:134)
  	at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
  	at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:51)
  	at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
  	at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:74)
  	at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
  	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
  	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
  	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:204)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:199)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
  	at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
  	at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
  	at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
  	at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:42)
  	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:331)
  	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:318)
  	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.lambda$execute$0(DefaultTaskExecutionGraph.java:314)
  	at org.gradle.internal.operations.CurrentBuildOperationRef.with(CurrentBuildOperationRef.java:80)
  	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:314)
  	at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:303)
  	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:463)
  	at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:380)
  	at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
  	at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
  	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
  	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  	at java.base/java.lang.Thread.run(Unknown Source)

I'm using
com.google.dagger:hilt-compiler:2.49
and
com.google.dagger:hilt-android:2.49

I found this issue : #4241

What i tried :

  • So i added com.google.dagger:dagger-producers but it didn't resolve the problem
  • I check for proguard too, i delete all my proguard but still got the issue

It happens on hiltJavaCompilePreprodRelease but it works on hiltJavaCompilePreprodDebug

Any idea why upgrading my AGP cause this problem ?

Thanks

@bcorso
Copy link

bcorso commented Jul 18, 2024

Hi @dgaillard2, are you able to reproduce this in a minimal repro example that you can share with us?

@dgaillard2
Copy link
Author

Yes i created this minimal repo project : https://github.com/dgaillard2/hiltTest

But sadly, i can't reproduce.
HiltJavaCompileRelease works on this project, but it doesn't on my project.
I can't understand why. I add step by step every think i have that "can be a problem" in this repo project, but can't reproduce.

What i have done in my project : removing all proguard rules but still have problem

What i have done in this minimal repo project :

  • Create projet with dagger hilt injection: provide and bind -> can t reproduce
  • Add room -> Can t reproduce
  • Add tierces lib who have annotation -> Can t reproduce

As i explain above, logs doesn't explain a lot, do someone have an idea how i can isolate the problem or have better logs ? I try --stacktrace or --info but it doesn't say much, "annotation is null"

@dgaillard2
Copy link
Author

It s really weird because, it s specific to the upgrade of AGP from 8.3.2 to 8.4.2

8.3.2 -> no problems
8.4.2 -> problem

But .. On the minimal repro project i shared with u, there is no problem with the 8.4.2 AGP :')
agp = "8.4.2"
android-application = { id = "com.android.application", version.ref = "agp" }

@bcorso
Copy link

bcorso commented Jul 25, 2024

We can add additional information to the error message to tell you which element it is failing on. That information might help you narrow down possible causes of the issue and help you repro it. I'm out until next Thursday, but I can make the changes once I'm back.

@dgaillard2
Copy link
Author

I appreciate, thanks :)
My repo in error is a private repo company but if you tell me how i can add additional information to the error message, i will, thanks :)

@dgaillard2
Copy link
Author

Hello @bcorso, are you back ?

copybara-service bot pushed a commit that referenced this issue Aug 2, 2024
… is missing.

Users should never actually hit this error but we've seen some reports where a user hit this in #4362, so I've added information about the failing element to help the user further narrow down the issue.

RELNOTES=N/A
PiperOrigin-RevId: 658914140
@bcorso
Copy link

bcorso commented Aug 2, 2024

Yep, I'm back. The information should be added once the PR above is submitted. You can use the HEAD-SNAPSHOT or wait for the next official Dagger release (early next week).

copybara-service bot pushed a commit that referenced this issue Aug 2, 2024
… is missing.

Users should never actually hit this error but we've seen some reports where a user hit this in #4362, so I've added information about the failing element to help the user further narrow down the issue.

RELNOTES=N/A
PiperOrigin-RevId: 658923031
@dgaillard2
Copy link
Author

Thanks, i will keep you in touch with next dagger release

@dgaillard2
Copy link
Author

dgaillard2 commented Aug 13, 2024

I upgrade to Dagger 2.52 and indeed i got more information :

error: [Hilt] Missing @AggregatedDeps annotation on hilt_aggregated_deps._com_decathlon_proglove_data_di_BindModule: java.lang.IllegalStateException: Missing @AggregatedDeps annotation on hilt_aggregated_deps._com_decathlon_proglove_data_di_BindModule at com.google.common.base.Preconditions.checkState(Preconditions.java:601) [Hilt] Missing @AggregatedDeps annotation on hilt_aggregated_deps._com_decathlon_proglove_data_di_BindModule: java.lang.IllegalStateException: Missing @AggregatedDeps annotation on hilt_aggregated_deps._xxx_di_BindModule

This android module have got an hilt module (others android modules have hilt module too), but this one seems to be in error. After analyse, i don't understand why, as explain on the original post, all works before upgrade :)

This hilt module of the error is like this :

@Module
@InstallIn(SingletonComponent::class)
@Suppress("unused")
abstract class BindModule {
    @Binds
    abstract fun bindRepository(impl: XxxxRepositoryImpl): XxxxRepository

}

There is one difference with others android modules, this proguard rules :

-dontwarn java.lang.invoke.StringConcatFactory

But this one seems mandatory for a library i'm using :

minifyReleaseWithR8 :
AGPBI: {"kind":"error","text":"Missing class java.lang.invoke.StringConcatFactory (referenced from: void com.decathlon.proglove_data.ProgloveRepositoryImpl.onBarcodeScanned(de.proglove.sdk.scanner.BarcodeScanResults) and 1 other context)","sources":[{}],"tool":"R8"}

@bcorso
Copy link

bcorso commented Aug 13, 2024

Hmm, can you find the hilt_aggregated_deps._com_decathlon_proglove_data_di_BindModule class and ensure that the @AggregatedDeps annotation is actually there?

If it is there in the generated source and you're still getting that error it means the annotation is getting stripped. Are you running proguard/r8 over the library separately from your application?

@dgaillard2
Copy link
Author

Here it is :

/**
 * This class should only be referenced by generated code! This class aggregates information across multiple compilations.
 */
@AggregatedDeps(
    components = "dagger.hilt.components.SingletonComponent",
    modules = "com.decathlon.proglove_data.di.BindModule"
)
@Generated("dagger.hilt.processor.internal.aggregateddeps.AggregatedDepsGenerator")
public class _com_decathlon_proglove_data_di_BindModule {
}

Indeed AgreegatedDeps is there and i have define proguard inside the build.gradle.kts of this android module :

 buildTypes {
        debug {
        }
        release {
            isMinifyEnabled = true
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }

My application module have his own proguard :

  buildTypes {
        debug {
        }
        release {
            signingConfig = signingConfigs.getByName("release")
            isMinifyEnabled = true
            isShrinkResources = true
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
            isDebuggable = false
        }
    }

Thanks

@bcorso bcorso closed this as completed Aug 14, 2024
@dgaillard2
Copy link
Author

Sorry @bcorso i don't understand, maybe we close it too fast, as explained i need inside my proguard module this line :

-dontwarn java.lang.invoke.StringConcatFactory

But with the new version of hilt, it s not possible to have this line ?

How can i solve this ?

@Chang-Eric
Copy link
Member

I think @bcorso meant to link #4384 (comment) when he closed this.

@dgaillard2
Copy link
Author

Ok thank you, i will remove minify from library module 👍🏻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants