tree 07ce6395d9d8ee0e5880dae145fa66796dec0358
parent 1f5a3c35db06a9a1bdfff8e80d8cd31009dc7b1b
author Brad Corso <bcorso@google.com> 1625784608 -0700
committer Daniel Santiago Rivera <danysantiago@google.com> 1625793674 +0000

[GH] Change JavacBasicAnnotationProcessor to wrap each step individually.

## Proposed Changes

This commit changes the behavior of JavacBasicAnnotationProcessor to wrap each XProcessingStep individually in its own Step rather than have a single Step that wraps all XProcessingSteps. The issue with wrapping all XProcessingSteps in a single Step is that the underlying BasicAnnotationProcessor triggers the Step, and thus all wrapped XProcessingSteps, when any annotation is found rather than only triggering the Step that handles the annotation.

In order to share the XProcessingEnv for all XProcessingSteps in a round, the first step to process will initialize the XProcessingEnv for other steps. In addition, the postRound call also now shares the XProcessingEnv too. At the end of each postRound I've set the XProcessingEnv to null to allow GC.

## Testing

Test: I've added a test that adds 2 XProcessingSteps to JavacBasicAnnotationProcessor that each handle a different annotation, and then verify that if only one annotation is present in the sources then only the step that handles that annotation is triggered.

## Issues Fixed

Fixes: 192658371

This is an imported pull request from https://github.com/androidx/androidx/pull/208.

Resolves #208
Github-Pr-Head-Sha: a517295af65047cdf5e762defd7b7b8df28dffed
GitOrigin-RevId: 61aa2f99ffc4dc53aca7e1fe487871afd90faac1
Change-Id: If5700b7626b933c52963802f48728548b9c7439e
