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

[pull] master from google:master #72

Open
wants to merge 779 commits into
base: master
Choose a base branch
from
Open
This pull request is big! We’re only showing the most recent 250 commits.

Commits on Jun 30, 2023

  1. Mark enableTransformForLocalTests from the Gradle plugin options as…

    … deprecated.
    
    With the minimum AGP required to be 7.0 the option is no longer relevant and its code path has been removed.
    
    Also added a bit more documentation to the other options.
    
    RELNOTES=Deprecate the `enableTransformForLocalTests` in the Hilt Android Gradle plugin.
    PiperOrigin-RevId: 544721475
    danysantiago authored and Dagger Team committed Jun 30, 2023
    Configuration menu
    Copy the full SHA
    b3fd56f View commit details
    Browse the repository at this point in the history
  2. Include KSP configurations in hiltJavaCompile task.

    This adds supports for SPI Plugins used in KSP to be discoverable during ComponentProcessor's run in the dedicate Dagger compile task when aggregation is turned ON.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 544737396
    danysantiago authored and Dagger Team committed Jun 30, 2023
    Configuration menu
    Copy the full SHA
    cf05eeb View commit details
    Browse the repository at this point in the history

Commits on Jul 1, 2023

  1. Update ActivityGeneratorTest to use HiltCompilerTests and GoldenFileR…

    …ule.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 544783996
    wanyingd1996 authored and Dagger Team committed Jul 1, 2023
    Configuration menu
    Copy the full SHA
    4b2bbd1 View commit details
    Browse the repository at this point in the history

Commits on Jul 6, 2023

  1. Update KotlinMetadataUtil to only dedupe annotations that match the…

    … class name of the annotations on the synthetic property.
    
    This prevents XProcessing from needing to wrap unnecessary annotations in `XAnnotations.equivalence()` which can throw a `TypeNotPresentException` for annotations that have error types in their annotation values.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 546089941
    bcorso authored and Dagger Team committed Jul 6, 2023
    Configuration menu
    Copy the full SHA
    1420b68 View commit details
    Browse the repository at this point in the history

Commits on Jul 10, 2023

  1. Implement isSubsignature() with XProcessing API

    RELNOTES=N/A
    PiperOrigin-RevId: 546857277
    kuanyingchou authored and Dagger Team committed Jul 10, 2023
    Configuration menu
    Copy the full SHA
    9fbef13 View commit details
    Browse the repository at this point in the history

Commits on Jul 11, 2023

  1. Update Dagger's XProcessing jars.

    This version of the jar contains the updated kotlinx-metadata-jvm needed to support Kotlin 1.9.
    
    Fixes #3951
    
    RELNOTES=N/A
    PiperOrigin-RevId: 547249179
    danysantiago authored and Dagger Team committed Jul 11, 2023
    Configuration menu
    Copy the full SHA
    ba73556 View commit details
    Browse the repository at this point in the history
  2. Warn about @JvmSuppressWildcards.

    RELNOTES=n/a
    PiperOrigin-RevId: 547330693
    wanyingd1996 authored and Dagger Team committed Jul 11, 2023
    Configuration menu
    Copy the full SHA
    4ce467b View commit details
    Browse the repository at this point in the history

Commits on Jul 12, 2023

  1. Release dagger.ignoreProvisionKeyWildcards flag.

    The flag is off by default but can be enabled by compiling with the following annotation processor options: `-Adagger.ignoreProvisionKeyWildcards=enabled`.
    
    When enabled, Dagger's annotation processor will no longer allow provisioning two bindings that only differ by the types in their wild cards.
    
    See https://dagger.dev/dev-guide/compiler-options#ignore-provision-key-wildcards
    
    RELNOTES=Release `dagger.ignoreProvisionKeyWildcards` flag (See https://dagger.dev/dev-guide/compiler-options#ignore-provision-key-wildcards).
    PiperOrigin-RevId: 547560456
    bcorso authored and Dagger Team committed Jul 12, 2023
    Configuration menu
    Copy the full SHA
    4167803 View commit details
    Browse the repository at this point in the history

Commits on Jul 14, 2023

  1. Update Dagger yml and README with new latest version number.

    RELNOTES=N/A
    PiperOrigin-RevId: 548025923
    Chang-Eric authored and Dagger Team committed Jul 14, 2023
    Configuration menu
    Copy the full SHA
    d98303f View commit details
    Browse the repository at this point in the history
  2. Update Dagger's XProcessing jars.

    RELNOTES=N/A
    PiperOrigin-RevId: 548241407
    kuanyingchou authored and Dagger Team committed Jul 14, 2023
    Configuration menu
    Copy the full SHA
    9c83c98 View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2023

  1. Internal changes

    RELNOTES=N/A
    PiperOrigin-RevId: 548753175
    bcorso authored and Dagger Team committed Jul 17, 2023
    Configuration menu
    Copy the full SHA
    d2e1d25 View commit details
    Browse the repository at this point in the history
  2. Fix how Dagger calculates nullability in KSP to match KAPT behavior.

    This CL fixes an issue in KSP where a `KSType` from a java source may show up as nullable due to an @nullable (TYPE_USE target) annotation. In this case, the annotation actually changes the `KSType` itself (e.g. `@Nullable Foo` becomes `Foo?`), and we ended up treating the type as nullable in Dagger. This CL fixes the issue by ignoring type nullability altogether for java sources since we know that Java sources can't actually declare a nullable type. This matches Dagger's KAPT behavior for these types.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 548799879
    bcorso authored and Dagger Team committed Jul 17, 2023
    Configuration menu
    Copy the full SHA
    a1a2565 View commit details
    Browse the repository at this point in the history
  3. Rollback of a1a2565

    PiperOrigin-RevId: 548820787
    java-team-github-bot authored and Dagger Team committed Jul 17, 2023
    Configuration menu
    Copy the full SHA
    517effd View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2023

  1. Configure Hilt Gradle Plugin project buildDir

    Closes #3913
    Fixes #3967
    
    RELNOTES=N/A
    PiperOrigin-RevId: 549005035
    mdzyuba authored and Dagger Team committed Jul 18, 2023
    Configuration menu
    Copy the full SHA
    1c4effa View commit details
    Browse the repository at this point in the history
  2. Fix how Dagger calculates nullability in KSP to match KAPT behavior.

    This CL fixes an issue in KSP where a KSType from a java source may show up as nullable due to an @nullable (TYPE_USE target) annotation. In this case, the annotation actually changes the KSType itself (e.g. @nullable Foo becomes Foo?), and we ended up treating the type as nullable in Dagger. This CL fixes the issue by ignoring type nullability altogether for java sources since we know that Java sources can't actually declare a nullable type. This matches Dagger's KAPT behavior for these types.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 549087723
    bcorso authored and Dagger Team committed Jul 18, 2023
    Configuration menu
    Copy the full SHA
    1711196 View commit details
    Browse the repository at this point in the history
  3. Internal changes

    RELNOTES=N/A
    PiperOrigin-RevId: 549142634
    bcorso authored and Dagger Team committed Jul 18, 2023
    Configuration menu
    Copy the full SHA
    a26ee64 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2023

  1. Update Dagger's XProcessing jars.

    RELNOTES=N/A
    PiperOrigin-RevId: 551097100
    bcorso authored and Dagger Team committed Jul 26, 2023
    Configuration menu
    Copy the full SHA
    496e45c View commit details
    Browse the repository at this point in the history
  2. Add script to automate GitHub Actions cache clean up on each run.

    This CL fixes an issues in our GitHub Actions where we are consistently going over our cache limit. Typically, we would need to clean out the cache manually at https://github.com/google/dagger/actions/caches. This script automates that process by deleting caches each run.
    
      - For a PR that is already closed: deletes all corresponding caches.
      - For duplicate caches with the same Git reference and cache key: deletes the older cache.
    
    The script should be idempotent, so I decided to run the script both at the beginning and end of each workflow. This ensure that the caches are cleaned up after a workflow ends, but also that we don't start accumulating unnecessary caches when a workflow fails before the script can be run.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 551349636
    bcorso authored and Dagger Team committed Jul 26, 2023
    Configuration menu
    Copy the full SHA
    3e7572a View commit details
    Browse the repository at this point in the history

Commits on Jul 27, 2023

  1. Refactor Dagger spi model types to be able to incrementally move impl…

    …ementation details into Dagger internal.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 551628363
    wanyingd1996 authored and Dagger Team committed Jul 27, 2023
    Configuration menu
    Copy the full SHA
    c8ac198 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2023

  1. Internal changes.

    RELNOTES=N/A
    PiperOrigin-RevId: 552540977
    bcorso authored and Dagger Team committed Jul 31, 2023
    Configuration menu
    Copy the full SHA
    2067f51 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2023

  1. Upgrade Kotlin, KSP, Bazel, and XProcessing jars.

    RELNOTES=Upgraded Kotlin to 1.9.0, KSP to 1.9.0-1.0.12, Bazel to 6.3.1, and XProcessing jar.
    PiperOrigin-RevId: 553246632
    bcorso authored and Dagger Team committed Aug 2, 2023
    Configuration menu
    Copy the full SHA
    64d54a6 View commit details
    Browse the repository at this point in the history

Commits on Aug 3, 2023

  1. Migrate ViewModelGeneratorTest and ViewModelValidationPluginTest to u…

    …se HiltCompilerTests.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 553304510
    wanyingd1996 authored and Dagger Team committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    5ed23b8 View commit details
    Browse the repository at this point in the history
  2. Migrate AliasOfProcessorTest to use HiltCompilerTests

    RELNOTES=N/A
    PiperOrigin-RevId: 553458202
    kuanyingchou authored and Dagger Team committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    354d744 View commit details
    Browse the repository at this point in the history
  3. Add a better error message when Hilt Gradle Plugin class loader confl…

    …icts with KSP's Gradle plugin.
    
    See #3965
    
    RELNOTES=Add a better error message when Hilt Gradle Plugin class loader conflicts with KSP's Gradle plugin.
    PiperOrigin-RevId: 553467242
    danysantiago authored and Dagger Team committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    3f7b9b5 View commit details
    Browse the repository at this point in the history
  4. Migrate RootFileFormatterTest to use HiltCompilerTests

    RELNOTES=N/A
    PiperOrigin-RevId: 553491705
    kuanyingchou authored and Dagger Team committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    0127cf9 View commit details
    Browse the repository at this point in the history
  5. Remove unused class

    RELNOTES=N/A
    PiperOrigin-RevId: 553495719
    bcorso authored and Dagger Team committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    4053c2f View commit details
    Browse the repository at this point in the history
  6. Migrating AndroidEntryPointProcessorTest to use HiltCompilerTests.

    RELNOTES=n/a
    PiperOrigin-RevId: 553561912
    wanyingd1996 authored and Dagger Team committed Aug 3, 2023
    Configuration menu
    Copy the full SHA
    ea85f71 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2023

  1. Migrate GeneratorsTest to use HiltCompilerTests

    RELNOTES=N/A
    PiperOrigin-RevId: 554507627
    kuanyingchou authored and Dagger Team committed Aug 7, 2023
    Configuration menu
    Copy the full SHA
    c1b68d8 View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2023

  1. Add @nullable annotation in error message when formatting methods wit…

    …h nullable types.
    
    This CL adds an @nullable annotation in the error message when formatting binding methods with nullable types like `Foo?`. This behavior matches KAPT's generated java stubs which will add an `@Nullable` annotation to the stub's method when the return type of the method is a nullable type.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 554830004
    bcorso authored and Dagger Team committed Aug 8, 2023
    Configuration menu
    Copy the full SHA
    506579e View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2023

  1. Fix BindValueMetadata to properly check visibility on property meth…

    …ods in KSP.
    
    This relies on recent support in XProcessing added in aosp/2674117. Before this change we were only correctly finding the property methods in KAPT but missing them in KSP.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 555172373
    bcorso authored and Dagger Team committed Aug 9, 2023
    Configuration menu
    Copy the full SHA
    8e4a4b4 View commit details
    Browse the repository at this point in the history

Commits on Aug 10, 2023

  1. Fix crash when there are multiple injected constructors

    RELNOTES=N/A
    PiperOrigin-RevId: 555635748
    kuanyingchou authored and Dagger Team committed Aug 10, 2023
    Configuration menu
    Copy the full SHA
    698f6cb View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2023

  1. Delete experimental mode.

    RELNOTES=n/a
    PiperOrigin-RevId: 556833204
    wanyingd1996 authored and Dagger Team committed Aug 14, 2023
    Configuration menu
    Copy the full SHA
    7a613ea View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2023

  1. Internal changes

    RELNOTES=N/A
    PiperOrigin-RevId: 557094089
    kuanyingchou authored and Dagger Team committed Aug 15, 2023
    Configuration menu
    Copy the full SHA
    2fa3195 View commit details
    Browse the repository at this point in the history
  2. Require dagger.ignoreProvisionKeyWildcards=ENABLED when using KSP.

    This CL also flips the default for `dagger.ignoreProvisionKeyWildcards` to `ENABLED`.
    
    RELNOTES=Require `dagger.ignoreProvisionKeyWildcards=ENABLED` when using KSP and flip the default to `ENABLED`.
    PiperOrigin-RevId: 557170874
    bcorso authored and Dagger Team committed Aug 15, 2023
    Configuration menu
    Copy the full SHA
    6683391 View commit details
    Browse the repository at this point in the history
  3. delete unused deps

    RELNOTES=n/a
    PiperOrigin-RevId: 557234097
    wanyingd1996 authored and Dagger Team committed Aug 15, 2023
    Configuration menu
    Copy the full SHA
    cca174b View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2023

  1. Allow kotlin source to use java keywords as parameter names in KSP.

    Using keywords as parameter names has been working with KAPT because KAPT just renames the parameters to something that is valid Java in the generated Java stubs. However, in order to support this in KSP we need to switch over to use `XExecutableParameterElement#jvmName` rather than `XExecutableParameterElement#name`.
    
    This CL also requires updates from XProcessing, so I've updated Dagger's XProcessing jars as well.
    
    Fixes #3995: Allow kotlin source to use java keywords as parameter names in KSP
    
    RELNOTES=Fixed #3995: Allow kotlin source to use java keywords as parameter names in KSP
    PiperOrigin-RevId: 557565286
    bcorso authored and Dagger Team committed Aug 16, 2023
    Configuration menu
    Copy the full SHA
    2c31d66 View commit details
    Browse the repository at this point in the history

Commits on Aug 17, 2023

  1. Forbid using extension function for @Binds/@provides.

    RELNOTES=n/a
    PiperOrigin-RevId: 557882685
    wanyingd1996 authored and Dagger Team committed Aug 17, 2023
    Configuration menu
    Copy the full SHA
    b37cffd View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2023

  1. Update Dagger/Hilt artifact tests to use kotlin 1.9

    RELNOTES=N/A
    PiperOrigin-RevId: 558176324
    bcorso authored and Dagger Team committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    f8334d8 View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2023

  1. Move Dagger spi model types implementation into Dagger internal.

    RELNOTES=n/a
    PiperOrigin-RevId: 559210781
    wanyingd1996 authored and Dagger Team committed Aug 22, 2023
    Configuration menu
    Copy the full SHA
    8d2385f View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2023

  1. UPDATE Bazel version to 6.3.2

    RELNOTES=N/A
    PiperOrigin-RevId: 559431563
    bcorso authored and Dagger Team committed Aug 23, 2023
    Configuration menu
    Copy the full SHA
    c53be9a View commit details
    Browse the repository at this point in the history
  2. Update xprocessing jar

    RELNOTES=n/a
    PiperOrigin-RevId: 559508361
    wanyingd1996 authored and Dagger Team committed Aug 23, 2023
    Configuration menu
    Copy the full SHA
    278e4ec View commit details
    Browse the repository at this point in the history
  3. Internal change

    RELNOTES=n/a
    PiperOrigin-RevId: 559538248
    java-team-github-bot authored and Dagger Team committed Aug 23, 2023
    Configuration menu
    Copy the full SHA
    b7d97ba View commit details
    Browse the repository at this point in the history
  4. Rename #java() to #javac() for Dagger SPI model types.

    This CL also updates the `javac()` and `ksp()` methods to throw if they are used with the wrong backend.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 559565413
    bcorso authored and Dagger Team committed Aug 23, 2023
    Configuration menu
    Copy the full SHA
    7107431 View commit details
    Browse the repository at this point in the history

Commits on Aug 24, 2023

  1. Remove workaround for b/269172737.

    The bug in b/269172737 required us to have the scope annotation in a certain order to avoid KSP returning error types. However, it appears this ordering is no longer required with the latest Kotlin 1.9.0 and KSP 1.9.0-1.0.12.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 559898050
    bcorso authored and Dagger Team committed Aug 24, 2023
    Configuration menu
    Copy the full SHA
    046baa4 View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2023

  1. Fix github action

    RELNOTES=n/a
    PiperOrigin-RevId: 560849062
    wanyingd1996 authored and Dagger Team committed Aug 28, 2023
    Configuration menu
    Copy the full SHA
    232e524 View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2023

  1. Ban usage of var in Component.

    RELNOTES=n/a
    PiperOrigin-RevId: 560887022
    wanyingd1996 authored and Dagger Team committed Aug 29, 2023
    Configuration menu
    Copy the full SHA
    f5d686d View commit details
    Browse the repository at this point in the history
  2. Don't run RootProcessingStep#postProcess if no root element was detec…

    …ted.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 560887928
    wanyingd1996 authored and Dagger Team committed Aug 29, 2023
    Configuration menu
    Copy the full SHA
    b90b416 View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2023

  1. Update Dagger yml and README with new latest version number.

    RELNOTES=N/A
    PiperOrigin-RevId: 561732623
    wanyingd1996 authored and Dagger Team committed Aug 31, 2023
    Configuration menu
    Copy the full SHA
    651d4ab View commit details
    Browse the repository at this point in the history
  2. Replace XMethodElements#isDefault with XMethodElement#isJavaDefault

    RELNOTES=n/a
    PiperOrigin-RevId: 561788625
    wanyingd1996 authored and Dagger Team committed Aug 31, 2023
    Configuration menu
    Copy the full SHA
    7b3e523 View commit details
    Browse the repository at this point in the history

Commits on Sep 2, 2023

  1. Fix issue with using generic types in Dagger's ClassKey

    The issue here was that `AnnotationExpression` was using `XType#getTypeName()` resulting in `GenericType<?>.class` in generated code. This CL fixes the issue by using `XTypeElement#getClassName()` instead so that the generated code results in `GenericType.class` instead.
    
    See #4055.
    
    Fixes #4055
    
    RELNOTES=Fixes #4055:
    PiperOrigin-RevId: 562096148
    bcorso authored and Dagger Team committed Sep 2, 2023
    Configuration menu
    Copy the full SHA
    9852b42 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2023

  1. [Refactor] Remove duplicated logic in BindingGraphFactory.

    When searching for multibinding declarations, the key (e.g. `Map<K, Provider<V>>`) has to be unwrapped since the declaration keys have the form `Map<K, V>`. This CL consolidates the logic into a single function so that we only have to document these details once.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 564374943
    bcorso authored and Dagger Team committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    47953aa View commit details
    Browse the repository at this point in the history
  2. Fix Lint crash with AGP 8.1.0. See https://github.com/google/dagger/p…

    …ull/4023/files#r1308159525 for details.
    
    Fixes #3980.
    
    RELNOTES=Fixes #3980.
    PiperOrigin-RevId: 564502143
    Chang-Eric authored and Dagger Team committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    e651294 View commit details
    Browse the repository at this point in the history
  3. Rollback of "[Refactor] Remove duplicated logic in `BindingGraphFacto…

    …ry`"
    
    PiperOrigin-RevId: 564526719
    bcorso authored and Dagger Team committed Sep 11, 2023
    Configuration menu
    Copy the full SHA
    76bde06 View commit details
    Browse the repository at this point in the history

Commits on Sep 25, 2023

  1. Internal changes

    RELNOTES=N/A
    PiperOrigin-RevId: 568310453
    bcorso authored and Dagger Team committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    7412301 View commit details
    Browse the repository at this point in the history
  2. Drop latest XProcessing jars into Dagger.

    RELNOTES=N/A
    PiperOrigin-RevId: 568345537
    bcorso authored and Dagger Team committed Sep 25, 2023
    Configuration menu
    Copy the full SHA
    e8f5f2b View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2023

  1. [Refactor]: This CL refactors a few things in ComponentDescriptor.

      * Moves `abstract` methods in `ComponentDescriptor` to the top of the class so that it's easier to tell which methods contributes to the AutoValue equals/hashcode.
      * Moves `ComponentDescriptorFactory` directly to a nested class, `ComponentDescriptor.Factory`, to be more consistent with how structure other descriptors like `ModuleDescriptor`/`ModuleDescriptor.Factory`.
      * Moves `CancellationPolicy` class definition out of `ComponentDescriptor` since it's not directly related to that class.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 568890232
    bcorso authored and Dagger Team committed Sep 27, 2023
    Configuration menu
    Copy the full SHA
    5cc209c View commit details
    Browse the repository at this point in the history

Commits on Sep 29, 2023

  1. Fix Dagger's incremental processing for KSP.

    This change should be temporary until we can get a more robust fix in KSP (google/ksp#1555).
    
    Fixes #4063
    Fixes #4054
    
    RELNOTES=N/A
    PiperOrigin-RevId: 569608460
    bcorso authored and Dagger Team committed Sep 29, 2023
    Configuration menu
    Copy the full SHA
    558cc51 View commit details
    Browse the repository at this point in the history

Commits on Sep 30, 2023

  1. Allow sharding for Dagger compiler tests.

    Recently, some of our tests have started timing out on GitHub Actions (https://github.com/google/dagger/actions/runs/6355090490/job/17262572158?pr=4082):
    
    ```
    //javatests/dagger/internal/codegen:ComponentProcessorTest              TIMEOUT in 315.2s
    ```
    
    This CL adds the ability to shard some of our large and medium sized tests.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 569752153
    bcorso authored and Dagger Team committed Sep 30, 2023
    Configuration menu
    Copy the full SHA
    fd907cb View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2023

  1. Refactor ResolvedBindings and LegacyBindingGraph to include the Compo…

    …nentPath.
    
    Including the ComponentPath in ResolvedBindings avoids having to create new objects
    of type ResolvedBindingsWithPath to satisfy our Map key. In addition, passing the ComponentPath while creating LegacyBindingGraph avoids having to recreate it from scratch during BindingGraphConverter phase.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 570137117
    bcorso authored and Dagger Team committed Oct 2, 2023
    Configuration menu
    Copy the full SHA
    378535e View commit details
    Browse the repository at this point in the history

Commits on Oct 4, 2023

  1. Update Dagger yml and README with new latest version number.

    RELNOTES=N/A
    PiperOrigin-RevId: 570790118
    bcorso authored and Dagger Team committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    7173b40 View commit details
    Browse the repository at this point in the history
  2. Refactor BindingGraphConverter.

    This CL inlines some functions that are only used at a single call-site and are essentially 1-liners.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 570810185
    bcorso authored and Dagger Team committed Oct 4, 2023
    Configuration menu
    Copy the full SHA
    6120dd1 View commit details
    Browse the repository at this point in the history

Commits on Oct 6, 2023

  1. Consolidate logic for whether we generate MembersInjector in one place.

    The logic for whether we generate a MembersInjector was duplicated in `InjectBindingRegistryImpl` and `MembersInjectorGenerator`. In particular, there are cases where `InjectBindingRegistryImpl` decided that a MembersInjector should be generated, but additional logic in `MembersInjectorGenerator` overrides that decision and decides not to generate the MembersInjector (e.g. if the class has no local injection sites).
    
    This led to duplicating of logic in `InjectBindingRegistryImpl` when we're trying to decide if we should output a warning for the case where a MembersInjector should be generated in an upstream library because we needed to repeat the logic in `MembersInjectorGenerator` to know if the MembersInjector will actually be generated.
    
    This CL moves the decision on whether to generate a MembersInjector completely into `InjectBindingRegistryImpl`, which removes the duplicated logic and also makes it easier to understand when the MembersInjector will actually be generated since we only need to look in one location.
    
    This CL also removes `warnIfNotAlreadyGenerated` since `isCalledFromInjectProcessor`  contains all the information we need to decide whether to warn in this case.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 571421631
    bcorso authored and Dagger Team committed Oct 6, 2023
    Configuration menu
    Copy the full SHA
    774bee1 View commit details
    Browse the repository at this point in the history

Commits on Oct 10, 2023

  1. Add AssistedInject to Hilt ViewModel.

    RELNOTES=Add support for using `@AssistedInject` with `@HiltViewModel`.
    PiperOrigin-RevId: 572216305
    kuanyingchou authored and Dagger Team committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    8327177 View commit details
    Browse the repository at this point in the history
  2. Rename model method from java() to javac().

    RELNOTES=N/A
    PiperOrigin-RevId: 572362454
    bcorso authored and Dagger Team committed Oct 10, 2023
    Configuration menu
    Copy the full SHA
    3c8d28c View commit details
    Browse the repository at this point in the history

Commits on Oct 11, 2023

  1. Replace XElements.isFromJavaSource() and XElements.isFromKotlinSource…

    …() with the version in XProcessing
    
    This also fixes a Github issue where we use `XConverters.toKS()` to get the underlying KSAnnotated and its origin but it doesn't work for synthetic elements like SyntheticExecutableParameterElement. The XProcessing version fixes this by
    
    1. Making these functions member functions of XMemberContainer so that we can skip the implementation in most element types and we can't miss any XMemberContainer subtypes.
    2. Simply consider that the member container is from Kotlin if it's KspFileMemberContainer or KspSyntheticFileMemberContainer as these are generated from Kotlin top-level properties.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 572595483
    kuanyingchou authored and Dagger Team committed Oct 11, 2023
    Configuration menu
    Copy the full SHA
    4593c0a View commit details
    Browse the repository at this point in the history

Commits on Oct 12, 2023

  1. Add check to prevent injecting assisted factories for HiltViewModels

    RELNOTES=Add check to prevent injecting assisted factories for HiltViewModels
    PiperOrigin-RevId: 572901826
    kuanyingchou authored and Dagger Team committed Oct 12, 2023
    Configuration menu
    Copy the full SHA
    740a7c6 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2023

  1. [Refactor]: Move FrameworkInstanceSupplier logic directly into `Pro…

    …viderInstanceRequestRepresentation`.
    
    In this case there's no need to pass in the `FrameworkInstanceSupplier` as an assisted parameter since we can derive it directly in `ProviderInstanceRequestRepresentation` using other injected objects.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 573928235
    bcorso authored and Dagger Team committed Oct 16, 2023
    Configuration menu
    Copy the full SHA
    d7dd656 View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2023

  1. Remove caching of @AssistedInject bindings to work around b/305748522.

    This is a short-term fix for b/305748522 so that we can push through our other fix for b/302199325. The long-term fix is outlined in the b/305748522 but probably requires more design discussion.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 574226829
    bcorso authored and Dagger Team committed Oct 17, 2023
    Configuration menu
    Copy the full SHA
    f6ddcc3 View commit details
    Browse the repository at this point in the history

Commits on Oct 18, 2023

  1. Update Dagger's XProcessing jars.

    RELNOTES=N/A
    PiperOrigin-RevId: 574510675
    kuanyingchou authored and Dagger Team committed Oct 18, 2023
    Configuration menu
    Copy the full SHA
    fb5ce89 View commit details
    Browse the repository at this point in the history

Commits on Oct 23, 2023

  1. Update Dagger's XProcessing jars.

    RELNOTES=N/A
    PiperOrigin-RevId: 575765188
    kuanyingchou authored and Dagger Team committed Oct 23, 2023
    Configuration menu
    Copy the full SHA
    8129a91 View commit details
    Browse the repository at this point in the history

Commits on Oct 24, 2023

  1. Remove dependency of XProcessing, and changed shaded package name to …

    …use `internal`.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 576313767
    wanyingd1996 authored and Dagger Team committed Oct 24, 2023
    Configuration menu
    Copy the full SHA
    1fa299e View commit details
    Browse the repository at this point in the history

Commits on Oct 25, 2023

  1. Add a fix for LocalDependencyChecker#dependsOnLocalBindings and a f…

    …lag to enable it.
    
    RELNOTES=Fixes an issue where bindings that depend on local bindings were not properly re-resolved in a component when some of its' transitive dependencies contain a cycle.
    PiperOrigin-RevId: 576542469
    bcorso authored and Dagger Team committed Oct 25, 2023
    Configuration menu
    Copy the full SHA
    fe29f87 View commit details
    Browse the repository at this point in the history
  2. Rollback fix for LocalDependencyChecker#dependsOnLocalBindings and …

    …a flag to enable it.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 576615427
    bcorso authored and Dagger Team committed Oct 25, 2023
    Configuration menu
    Copy the full SHA
    877a2df View commit details
    Browse the repository at this point in the history

Commits on Oct 26, 2023

  1. Remove producer dependency from Dagger's compiler.

    There's no technical reason for Dagger's compiler to depend on Dagger Producers. In all of these cases we were pulling in producers just for either the class name or javadoc.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 577017144
    bcorso authored and Dagger Team committed Oct 26, 2023
    Configuration menu
    Copy the full SHA
    05f2b70 View commit details
    Browse the repository at this point in the history

Commits on Oct 30, 2023

  1. Add helper function CreationExtras.withCreationCallback() and Mutable…

    …CreationExtras.addCreationCallback()
    
    These can be used to pass creation callbacks with functions like `viewModels()`.
    
    RELNOTES=Add helper function CreationExtras.withCreationCallback() and MutableCreationExtras.addCreationCallback()
    PiperOrigin-RevId: 577890589
    kuanyingchou authored and Dagger Team committed Oct 30, 2023
    Configuration menu
    Copy the full SHA
    6fe4a23 View commit details
    Browse the repository at this point in the history
  2. Provide SavedStateHandle binding from ActivityRetainedComponent.

    RELNOTES=n/a
    PiperOrigin-RevId: 577983612
    wanyingd1996 authored and Dagger Team committed Oct 30, 2023
    Configuration menu
    Copy the full SHA
    1cac33b View commit details
    Browse the repository at this point in the history

Commits on Oct 31, 2023

  1. Rollforward fix for LocalDependencyChecker#dependsOnLocalBindings a…

    …nd a flag to enable it.
    
    RELNOTES=Rollforward fix for `LocalDependencyChecker#dependsOnLocalBindings` and a flag to enable it.
    PiperOrigin-RevId: 578245756
    bcorso authored and Dagger Team committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    871eda7 View commit details
    Browse the repository at this point in the history
  2. Fix a memory performance issue when creating Dagger's BindingGraph.

    This CL fixes an issues where each subcomponent was storing its complete list of accessible bindings, which includes any bindings it needs from its ancestor components. This ends up requiring much more space than actually required if we just store the bindings owned by the subcomponent and delegate to the parent component for any bindings accessible there.
    
    I think this can likely be done for our `LegacyBindingGraph` classes as well, but I'll save that for another CL.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 578306878
    bcorso authored and Dagger Team committed Oct 31, 2023
    Configuration menu
    Copy the full SHA
    d9d0a8e View commit details
    Browse the repository at this point in the history

Commits on Nov 1, 2023

  1. Removes unused (@Deprecated) module setter methods that contain onl…

    …y `static`/`abstract` binding methods.
    
    Note that this doesn't remove all of the deprecated setter methods. In particular, this CL removes setter methods only for the case where a module instance is never needed because it contains only `static` and `abstract` methods.
    
    However, this CL does not remove the deprecated setter methods in the general case where a module instance is not needed because it is unused in the component. That case is a bit trickier because it depends on the usage of the bindings rather than properties of the module itself.
    
    RELNOTES=Potentially breaking change. Dagger no longer generates module setter methods for modules that have only static/abstract methods. These methods were previously marked as deprecated, as the module instances passed in aren't actually used by the Dagger component.
    PiperOrigin-RevId: 578651221
    bcorso authored and Dagger Team committed Nov 1, 2023
    Configuration menu
    Copy the full SHA
    ed47d4b View commit details
    Browse the repository at this point in the history

Commits on Nov 2, 2023

  1. Add a test observing r8 behavior with HiltViewModel.

    RELNOTES=n/a
    PiperOrigin-RevId: 578956204
    wanyingd1996 authored and Dagger Team committed Nov 2, 2023
    Configuration menu
    Copy the full SHA
    8801fd2 View commit details
    Browse the repository at this point in the history

Commits on Nov 3, 2023

  1. Fix FileNotFoundException in AGP 8.3

    RELNOTES=N/A
    PiperOrigin-RevId: 579237165
    kuanyingchou authored and Dagger Team committed Nov 3, 2023
    Configuration menu
    Copy the full SHA
    6018cd2 View commit details
    Browse the repository at this point in the history

Commits on Nov 6, 2023

  1. Move "Bazel Test" GitHub action to a large runner.

    "Bazel Test" has been the bottleneck of our builds for a while now. A large part of that is due to the default GitHub runner only having 2 cores and thus only being able to run at most 2 Bazel actions at a time. Things have also gotten worse due to the increasing number of tests in Dagger's codebase and the slowing down of tests due to the move to XProcessing Testing and possibly increased I/O due to golden files, though these issues aren't addressed in this CL.
    
    This CL moves our "Bazel Test" GitHub actions onto the large test runner. This runner now has 16 cores which should allow 8x more tests to run in parallel and we should see a similar improvement in the time it takes these GitHub actions to run.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 579881816
    bcorso authored and Dagger Team committed Nov 6, 2023
    Configuration menu
    Copy the full SHA
    221fc86 View commit details
    Browse the repository at this point in the history
  2. Update Dagger's XProcessing jars.

    RELNOTES=n/a
    PiperOrigin-RevId: 579923643
    wanyingd1996 authored and Dagger Team committed Nov 6, 2023
    Configuration menu
    Copy the full SHA
    0323371 View commit details
    Browse the repository at this point in the history

Commits on Nov 7, 2023

  1. Make Nullability#nullableAnnotations return a set of ClassNames i…

    …nstead of `XAnnotation`s
    
    All uses of this API immediately convert to `ClassName`, and this makes it
    easier to deduplicate the returned set.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 580220708
    cushon authored and Dagger Team committed Nov 7, 2023
    Configuration menu
    Copy the full SHA
    6278d31 View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2023

  1. Change onReceive marker from field to annotation and read it with AGP…

    …'s ClassContext
    
    RELNOTES=N/A
    PiperOrigin-RevId: 582018651
    kuanyingchou authored and Dagger Team committed Nov 13, 2023
    Configuration menu
    Copy the full SHA
    f946e34 View commit details
    Browse the repository at this point in the history
  2. Dagger Android Ksp support

    RELNOTES=n/a
    PiperOrigin-RevId: 582028428
    wanyingd1996 authored and Dagger Team committed Nov 13, 2023
    Configuration menu
    Copy the full SHA
    e42fa2c View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2023

  1. Rollback fix for LocalDependencyChecker#dependsOnLocalBindings as i…

    …t contains a performance regression.
    
    PiperOrigin-RevId: 582400758
    bcorso authored and Dagger Team committed Nov 14, 2023
    Configuration menu
    Copy the full SHA
    0e68875 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2023

  1. Support TYPE_USE @nullable annotations in Dagger.

    When targeting Java 1.8+, TYPE_USE annotations annotate the return type of methods, not the method itself. Similarly, they annotate the type of a parameter, not the parameter itself.
    
    ConfigurationAnnotations now checks the method, the return type of methods, and the type of all elements for a Nullable annotation.
    
    RELNOTES=Adds support for TYPE_USE @nullable annotations. In rare cases this could be a breaking change originating from the NullableBindingValidation plugin. This could happen if an undetected TYPE_USE @nullable is used on a module provides method, but @nullable is not used at injection sites.
    PiperOrigin-RevId: 583048123
    cushon authored and Dagger Team committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    2b4346a View commit details
    Browse the repository at this point in the history
  2. Fix HiltGradlePlugin not working in KMP's androidMain directory

    RELNOTES=N/A
    PiperOrigin-RevId: 583124622
    kuanyingchou authored and Dagger Team committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    f0c2510 View commit details
    Browse the repository at this point in the history
  3. [Dagger Optimization]: Avoid copying bindings for each parent compone…

    …nt when creating our `BindingGraph`.
    
    This CL replaces `LegacyBindingGraph` with a new class `BindingGraphFactory.LegacyBindingGraph` which is nested in `BindingGraphFactory` so that it can delegate directly to its `BindingGraphFactory.Resolver`. This allows us to just reuse the resolver under the hood and to implement it in a way that avoids copying all parent bindings into a giant `Map<Key, ResolvedBindings>`. Instead, the resolver can first look up in its own `resolvedContributionBindings` map and just delegate to its parent if the key doesn't exist.
    
    This can save quite a bit of resources for cases where a project has many small subcomponents branched from a larger component since each small subcomponent doesn't have to copy over all of the bindings from the larger component into its own `Map<Key, ResolvedBindings>`.
    
    Note: This is a similar optimization to CL/578306878.
    RELNOTES=N/A
    PiperOrigin-RevId: 583124976
    bcorso authored and Dagger Team committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    85e9ff1 View commit details
    Browse the repository at this point in the history
  4. Temporary fix for comparing equality of wildcard types in Dagger Andr…

    …oid.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 583187249
    wanyingd1996 authored and Dagger Team committed Nov 16, 2023
    Configuration menu
    Copy the full SHA
    244b171 View commit details
    Browse the repository at this point in the history

Commits on Nov 17, 2023

  1. Add extra debug information for GitHub issues #4137 and #4138.

    See
    
      * #4138
      * #4137
    
    RELNOTES=N/A
    PiperOrigin-RevId: 583408937
    bcorso authored and Dagger Team committed Nov 17, 2023
    Configuration menu
    Copy the full SHA
    afc33bf View commit details
    Browse the repository at this point in the history

Commits on Nov 20, 2023

  1. Internal change

    RELNOTES=N/A
    PiperOrigin-RevId: 584100389
    cushon authored and Dagger Team committed Nov 20, 2023
    Configuration menu
    Copy the full SHA
    75a3a0a View commit details
    Browse the repository at this point in the history

Commits on Nov 21, 2023

  1. Add gradle test for Dagger Android Ksp

    RELNOTES=n/a
    PiperOrigin-RevId: 584175632
    wanyingd1996 authored and Dagger Team committed Nov 21, 2023
    Configuration menu
    Copy the full SHA
    95f2afb View commit details
    Browse the repository at this point in the history

Commits on Nov 22, 2023

  1. Update ASM to 9.6 to support newer Java versions

    Update ASM from 9.0 to 9.6, the latest version. According to https://asm.ow2.io/versions.html,
    this version should work with Java up to 22.
    
    For testing, I tried a sample project using Gradle's `jvmToolchain`:
    
    ```
    kotlin {
      jvmToolchain(20)
    }
    ```
    
    And installed different versions of OpenJDK separately.
    
    It works with OpenJDK 19 and 20.0.2, but not 21.0.1, the latest stable version
    (https://jdk.java.net/archive/).
    
    Here's the error message:
    
    ```
    * What went wrong:
    Execution failed for task ':app:compileDebugJavaWithJavac'.
    > Could not resolve all files for configuration ':app:androidJdkImage'.
       > Failed to transform core-for-system-modules.jar to match attributes {artifactType=_internal_android_jdk_image, org.gradle.libraryelements=jar, org.gradle.usage=java-runtime}.
          > Execution failed for JdkImageTransform: /usr/local/google/home/kuanyingchou/Android/Sdk/platforms/android-34/core-for-system-modules.jar.
             > Error while executing process /usr/local/google/home/kuanyingchou/downloads/jdk-21.0.1/bin/jlink with arguments {--module-path /usr/local/google/home/kuanyingchou/.gradle/caches/transforms-3/b52ba5074efe1b01da421b426c4b2680/transformed/output/temp/jmod --add-modules java.base --output /usr/local/google/home/kuanyingchou/.gradle/caches/transforms-3/b52ba5074efe1b01da421b426c4b2680/transformed/output/jdkImage --disable-plugin system-modules}
    ```
    
    It could be that AGP doesn't yet support JDK 21. From Gradle's release note
    (https://docs.gradle.org/8.4/release-notes.html), it seems that Kotiln doesn't
    support JDK 21 either:
    
    ```
    Currently, you cannot run Gradle on Java 21 because Kotlin lacks support for JDK 21.
    However, support for running Gradle with Java 21 is expected in future versions.
    ```
    
    So the highest JDK version Hilt Gradle Plugin supports after this CL should be 20.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 584641218
    kuanyingchou authored and Dagger Team committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    4c75892 View commit details
    Browse the repository at this point in the history
  2. Internal change.

    RELNOTES=Internal change.
    PiperOrigin-RevId: 584688332
    java-team-github-bot authored and Dagger Team committed Nov 22, 2023
    Configuration menu
    Copy the full SHA
    7121b67 View commit details
    Browse the repository at this point in the history

Commits on Nov 27, 2023

  1. Internal changes

    RELNOTES=N/A
    PiperOrigin-RevId: 585693139
    bcorso authored and Dagger Team committed Nov 27, 2023
    Configuration menu
    Copy the full SHA
    0896fbe View commit details
    Browse the repository at this point in the history

Commits on Nov 29, 2023

  1. Increase time out for Android Emulator Test on API 30.

    RELNOTES=n/a
    PiperOrigin-RevId: 586383007
    wanyingd1996 authored and Dagger Team committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    4dcebb5 View commit details
    Browse the repository at this point in the history
  2. make ActivityRetainedSaveState an opt-in API.

    RELNOTES=n/a
    PiperOrigin-RevId: 586393130
    wanyingd1996 authored and Dagger Team committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    cd70dea View commit details
    Browse the repository at this point in the history
  3. Upgrade Dagger's dependencies of kotlin to 1.9.20 and ksp to `1.9.2…

    …0-1.0.14`.
    
    This should bring in a number of fixes in KSP, especially related to incremental processing.
    
    Fixes #4060
    
    RELNOTES=Upgrade Dagger's dependencies of kotlin to `1.9.20` and ksp to `1.9.20-1.0.14`.
    PiperOrigin-RevId: 586435985
    bcorso authored and Dagger Team committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    692015f View commit details
    Browse the repository at this point in the history
  4. Update release script to include changes to `artifact-android-local-t…

    …ests`.
    
    These changes were added to the continuous integration (presubmit) script but we forgot to propagate it to the release script.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 586459523
    bcorso authored and Dagger Team committed Nov 29, 2023
    Configuration menu
    Copy the full SHA
    e0b9b8e View commit details
    Browse the repository at this point in the history

Commits on Nov 30, 2023

  1. Update annotation-experimental dependency to latest version.

    RELNOTES=n/a
    PiperOrigin-RevId: 586804123
    wanyingd1996 authored and Dagger Team committed Nov 30, 2023
    Configuration menu
    Copy the full SHA
    b074037 View commit details
    Browse the repository at this point in the history

Commits on Dec 1, 2023

  1. Update Dagger's GitHub Actions to move the remaining emulator test to…

    … run in post-submit only.
    
    The emulator tests have become more flaky recently and are also one of our slowest jobs in GitHub Actions. It should be fairly safe to move these to post-submit given our other non-emulator test coverage.
    
    This CL also updates the release script to use the large-runner. This should be negligible to the overall cost since releases are done so infrequently compared to presubmits.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 587014286
    bcorso authored and Dagger Team committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    a6e65fa View commit details
    Browse the repository at this point in the history
  2. Update Dagger yml and README with new latest version number.

    RELNOTES=N/A
    PiperOrigin-RevId: 587109243
    bcorso authored and Dagger Team committed Dec 1, 2023
    Configuration menu
    Copy the full SHA
    344e135 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2023

  1. Update hjar generators to output valid method bodies for methods and …

    …constructors.
    
    This CL updates Dagger's hjar generators to have valid return statements for methods with non-`void` return types and valid super calls for constructors. For example:
    
    ```
    // Example of hjar generated class with valid constructor and method bodies.
    class Foo extends FooSuper {
      Foo() {
        super(null, 0, null);
      }
    
      String stringMethod() {
        return null;
      }
    
      int intMethod() {
        return 0;
      }
    }
    ```
    
    Note that this isn't required when compiling with Turbine, but is necessary when compiling the Hjar stubs in Javac.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 588456719
    bcorso authored and Dagger Team committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    668269d View commit details
    Browse the repository at this point in the history
  2. Add a dagger.internal.Provider in order to in the future help with ad…

    …ding support for jakarta.inject.Provider.
    
    RELNOTES=Unavoidable breaking change for AssistedInject factories built at a previous version
    PiperOrigin-RevId: 588500546
    Chang-Eric authored and Dagger Team committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    75d3cbc View commit details
    Browse the repository at this point in the history
  3. Configure Bazel and Gradle to avoid spurious flakes.

    This CL updates the global `bazelrc` file to enable `--incompatible_sandbox_hermetic_tmp` to avoid tmp file collision issues between actions.
    
    This CL also updates the `gradle.properties` to give more memory to avoid Java Heap OOM issues.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 588547788
    bcorso authored and Dagger Team committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    eb9a034 View commit details
    Browse the repository at this point in the history

Commits on Dec 7, 2023

  1. Internal changes

    RELNOTES=N/A
    PiperOrigin-RevId: 588861836
    bcorso authored and Dagger Team committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    f4b4519 View commit details
    Browse the repository at this point in the history
  2. Make minSdk and targetSdk versions consistent across Gradle tests.

    The `minSdk` is set to `16` since we test some of our artifacts on API 16.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 588910365
    bcorso authored and Dagger Team committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    45d3b87 View commit details
    Browse the repository at this point in the history
  3. Increase timeout for emulator tests from 25min to 35min in CI.

    RELNOTES=N/A
    PiperOrigin-RevId: 588931824
    bcorso authored and Dagger Team committed Dec 7, 2023
    Configuration menu
    Copy the full SHA
    45af1ed View commit details
    Browse the repository at this point in the history

Commits on Dec 12, 2023

  1. Optimize InjectionSiteFactory#getInjectionSites().

    RELNOTES=N/A
    PiperOrigin-RevId: 590323796
    bcorso authored and Dagger Team committed Dec 12, 2023
    Configuration menu
    Copy the full SHA
    5f8b76c View commit details
    Browse the repository at this point in the history

Commits on Dec 14, 2023

  1. Internal changes

    RELNOTES=n/a
    PiperOrigin-RevId: 591015561
    Chang-Eric authored and Dagger Team committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    13d64c6 View commit details
    Browse the repository at this point in the history
  2. Flip the default for explicitBindingConflictsWithInject to enabled.

    RELNOTES=Flip the default for explicitBindingConflictsWithInject to enabled.
    PiperOrigin-RevId: 591064440
    Chang-Eric authored and Dagger Team committed Dec 14, 2023
    Configuration menu
    Copy the full SHA
    8372c63 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2023

  1. Dagger build performance optimizations.

    This CL:
    
      1. Adds state to keep track of any generated monitoring modules that Dagger generates, and uses this state to eagerly defer processing of components to the next round. This is useful to avoid doing work in the current round which will likely end up getting deferred anyway due to referencing the monitoring module.
      2. Adds a cache for ComponentDescriptors similar to our caches for other descriptors to avoid recomputing these descriptors.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 591092232
    bcorso authored and Dagger Team committed Dec 15, 2023
    Configuration menu
    Copy the full SHA
    be77d24 View commit details
    Browse the repository at this point in the history

Commits on Dec 18, 2023

  1. Fix error message for an @Binds @IntoSet implementation with duplic…

    …ate bindings.
    
    This CL fixes a case where an `@Binds @IntoSet` that delegates to an implementation with duplicate bindings was throwing an `IllegalArgumentException` rather than reporting an error properly.
    
    An example of the problematic code is shown below:
    
    ```java
    @module
    interface FooModule {
      @BINDS
      @IntoSet
      Foo bindFoo(FooImpl impl);
    
      @provides
      static FooImpl provideFooImpl1() { ... }
    
      @provides
      static FooImpl provideFooImpl2() { ... }
    }
    ```
    
    The above code now reports the duplicate binding rather than throwing an `IllegalArgumentException`.
    
    RELNOTES=Fixed error message for an `@Binds @IntoSet` implementation with duplicate bindings.
    PiperOrigin-RevId: 591976664
    bcorso authored and Dagger Team committed Dec 18, 2023
    Configuration menu
    Copy the full SHA
    8d01223 View commit details
    Browse the repository at this point in the history

Commits on Dec 19, 2023

  1. DisableCachingByDefault for CopyTransform

    The CopyTransform is simply copying files and does not benefit from caching. It is faster to re-execute the transform.
    
    Closes #4194
    
    RELNOTES=N/A
    PiperOrigin-RevId: 592308544
    runningcode authored and Dagger Team committed Dec 19, 2023
    Configuration menu
    Copy the full SHA
    958fabb View commit details
    Browse the repository at this point in the history

Commits on Dec 20, 2023

  1. Update Dagger yml and README with new latest version number.

    RELNOTES=N/A
    PiperOrigin-RevId: 592408487
    Chang-Eric authored and Dagger Team committed Dec 20, 2023
    Configuration menu
    Copy the full SHA
    fca20a0 View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2023

  1. Minor clean up in BindingGraphFactory.

      * We no longer need to wrap the call to get the generated MonitoringModule in `DaggerSuperficialValidation#requireTypeElement()` after CL/591092232 since we now wait until the next round before running `ComponentProcessingStep`.
      * Inlined `descriptorForMonitoringModule` and `descriptorForProductionExecutorModule`.
      * Simplified the logic in `shouldIncludeImplicitProductionModules` to avoid multiple nested parenthesis.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 594050374
    bcorso authored and Dagger Team committed Dec 27, 2023
    Configuration menu
    Copy the full SHA
    09289eb View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2024

  1. Ban @Inject protected field.

    RELNOTES=Ban @Inject protected field.
    PiperOrigin-RevId: 595746282
    wanyingd1996 authored and Dagger Team committed Jan 4, 2024
    Configuration menu
    Copy the full SHA
    408431a View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2024

  1. Add @LazyClassKey for injecting class keyed map and doesn't load cl…

    …ass when unused.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 596634724
    wanyingd1996 authored and Dagger Team committed Jan 8, 2024
    Configuration menu
    Copy the full SHA
    2705c28 View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2024

  1. Update Dagger XProcessing jars.

    The fix for #4199 is included in the new XProcessing jars (aosp/2891694), so this CL also adds a regression test for that issue.
    
    Fixes #4199
    
    RELNOTES=Fixed #4199
    PiperOrigin-RevId: 597054515
    bcorso authored and Dagger Team committed Jan 9, 2024
    Configuration menu
    Copy the full SHA
    662d823 View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2024

  1. Fix github build failure caused by missing android.jar

    RELNOTES=n/a
    PiperOrigin-RevId: 597429059
    wanyingd1996 authored and Dagger Team committed Jan 11, 2024
    Configuration menu
    Copy the full SHA
    3a75918 View commit details
    Browse the repository at this point in the history
  2. Add error message if user make onCreate and onDestroy in base class f…

    …inal.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 597600148
    wanyingd1996 authored and Dagger Team committed Jan 11, 2024
    Configuration menu
    Copy the full SHA
    69ac5d8 View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2024

  1. Update build tool version for examples/bazel.

    RELNOTES=n/a
    PiperOrigin-RevId: 599569187
    wanyingd1996 authored and Dagger Team committed Jan 18, 2024
    Configuration menu
    Copy the full SHA
    983c4d1 View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2024

  1. Remove @Deprecated from javax version of DoubleCheck.lazy() as this…

    … can still
    
    be used by the factory classes. A future change will re-add this `@Deprecated` once the factory classes have been switched to use `dagger.internal.Provider`
    
    Fixes #4203.
    
    RELNOTES=Fixes #4203. Removes `@Deprecated` annotation causing warnings
    PiperOrigin-RevId: 599667182
    Chang-Eric authored and Dagger Team committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    3cbc94a View commit details
    Browse the repository at this point in the history
  2. Suppress unnecessary casts.

    These were introduced in a previous change that introduced the `dagger.internal.Provider` type. They are difficult to avoid with Map Providers.
    
    Fixes #4201.
    
    RELNOTES=Fixes #4201.
    PiperOrigin-RevId: 599885719
    Chang-Eric authored and Dagger Team committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    813ffce View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2024

  1. reorganize Dagger Android jars with gen_maven_artifact rule.

    RELNOTES=n/a
    PiperOrigin-RevId: 600579650
    wanyingd1996 authored and Dagger Team committed Jan 22, 2024
    Configuration menu
    Copy the full SHA
    1503f1f View commit details
    Browse the repository at this point in the history
  2. Add Ksp Processor for Dagger Android ProguardProcessor.

    RELNOTES=Add Ksp Processor for Dagger Android ProguardProcessor.
    PiperOrigin-RevId: 600594616
    wanyingd1996 authored and Dagger Team committed Jan 22, 2024
    Configuration menu
    Copy the full SHA
    e71de27 View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2024

  1. Use gen_maven_artifact for dagger core library

    RELNOTES=n/a
    PiperOrigin-RevId: 602450093
    wanyingd1996 authored and Dagger Team committed Jan 29, 2024
    Configuration menu
    Copy the full SHA
    846a64c View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2024

  1. Automated Code Change

    PiperOrigin-RevId: 602836841
    cpovirk authored and Dagger Team committed Jan 30, 2024
    Configuration menu
    Copy the full SHA
    25f56d2 View commit details
    Browse the repository at this point in the history
  2. Automated Code Change

    PiperOrigin-RevId: 602843262
    cpovirk authored and Dagger Team committed Jan 30, 2024
    Configuration menu
    Copy the full SHA
    195cd1e View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2024

  1. Update bazel-common to pick up Guava 33.0.0 and Truth to 1.3.0.

    New commit: google/bazel-common@2a6b640
    
    This helps with google/truth#746.
    
    PiperOrigin-RevId: 603081634
    cpovirk authored and Dagger Team committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    c8b9605 View commit details
    Browse the repository at this point in the history
  2. Automated Code Change

    PiperOrigin-RevId: 603130434
    cpovirk authored and Dagger Team committed Jan 31, 2024
    Configuration menu
    Copy the full SHA
    8ca035a View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2024

  1. Update to [Truth 1.4.0](https://github.com/google/truth/releases/tag/…

    …v1.4.0).
    
    This makes available the rest of the Truth APIs that were recently added in Google's monorepo.
    
    It may be worth also updating to the _following_ version of Truth after it's released, but the purpose of that release will mostly be to deprecate `Truth8`. So, if you just avoid using `Truth8` now (starting by approving any migration CLs that I send your way), then there will be little need for that upgrade. Or, more to the point: I don't expect to keep sending you weekly upgrade CLs after this one :)
    
    PiperOrigin-RevId: 604717194
    cpovirk authored and Dagger Team committed Feb 6, 2024
    Configuration menu
    Copy the full SHA
    388da49 View commit details
    Browse the repository at this point in the history
  2. Migrate usages of Truth8.assertThat to equivalent usages of `Truth.…

    …assertThat`.
    
    The `Truth8` methods will be deprecated (or hidden) in the future. Callers should move to `Truth`.
    
    Some (but not all) of the CLs in this batch require Truth [1.4.0](https://github.com/google/truth/releases/tag/v1.4.0). I submitted a CL earlier today to (I hope) perform that upgrade for your project.
    
    PiperOrigin-RevId: 604740587
    cpovirk authored and Dagger Team committed Feb 6, 2024
    Configuration menu
    Copy the full SHA
    76cebe1 View commit details
    Browse the repository at this point in the history
  3. Migrate usages of Truth8.assertThat to equivalent usages of `Truth.…

    …assertThat`.
    
    The `Truth8` methods will be deprecated (or hidden) in the future. Callers should move to `Truth`.
    
    PiperOrigin-RevId: 604763576
    cpovirk authored and Dagger Team committed Feb 6, 2024
    Configuration menu
    Copy the full SHA
    d7a55be View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2024

  1. Rename proguard_specs attribute for gen_maven_artifact to reflect how…

    … it will be used.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 605055941
    wanyingd1996 authored and Dagger Team committed Feb 7, 2024
    Configuration menu
    Copy the full SHA
    348bd75 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2024

  1. Include proguard rules in dagger core artifact so that LazyClassKeyMa…

    …p's string keys can be obfuscated.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 605381957
    wanyingd1996 authored and Dagger Team committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    09e5ac2 View commit details
    Browse the repository at this point in the history
  2. Internal changes

    RELNOTES=N/A
    PiperOrigin-RevId: 605384714
    bcorso authored and Dagger Team committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    7ac1dcc View commit details
    Browse the repository at this point in the history
  3. Improve Dagger error messages to give more information and be more co…

    …nsistent.
    
    RELNOTES=Improve Dagger error messages to give more information and be more consistent.
    PiperOrigin-RevId: 605450793
    bcorso authored and Dagger Team committed Feb 8, 2024
    Configuration menu
    Copy the full SHA
    c872238 View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2024

  1. Replace processingEnv.requireTypeElement() with `DaggerSuperficialV…

    …alidation.requireTypeElement()`.
    
    I found a case when using `--dagger.pluginsVisitFullBindingGraphs` where `BindingGraphFactory` is triggered from the `ModuleProcessingStep`. In this case, we can't guarantee that the monitoring module has been generated yet so we need to wrap in `DaggerSuperficialValidation.requireTypeElement` to ensure that processing will get delayed if the modules doesn't exist yet.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 606341195
    bcorso authored and Dagger Team committed Feb 12, 2024
    Configuration menu
    Copy the full SHA
    02d62d6 View commit details
    Browse the repository at this point in the history

Commits on Feb 20, 2024

  1. Add a SkipTestInjection annotation to disable injecting the test clas…

    …s. This may be useful for outside rules that wants to inject the test class from some other Hilt component.
    
    This annotation may be used directly on the test class or on some other annotation, as typically outside rules would have some other code generators on their own to generate needed entry points.
    
    RELNOTES=Add @SkipTestInjection
    PiperOrigin-RevId: 608724405
    Chang-Eric authored and Dagger Team committed Feb 20, 2024
    Configuration menu
    Copy the full SHA
    c40811e View commit details
    Browse the repository at this point in the history

Commits on Feb 24, 2024

  1. Remove kitkat-specific test.

    PiperOrigin-RevId: 609862242
    java-team-github-bot authored and Dagger Team committed Feb 24, 2024
    Configuration menu
    Copy the full SHA
    c5075df View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2024

  1. Allow obfuscating @HiltViewModel annotated ViewModel name with r8.

    RELNOTES=Allow obfuscating @HiltViewModel annotated ViewModel name with r8.
    PiperOrigin-RevId: 610474363
    wanyingd1996 authored and Dagger Team committed Feb 26, 2024
    Configuration menu
    Copy the full SHA
    0786d0a View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2024

  1. Update Dagger yml and README with new latest version number.

    RELNOTES=N/A
    PiperOrigin-RevId: 611227707
    wanyingd1996 authored and Dagger Team committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    a06ed06 View commit details
    Browse the repository at this point in the history
  2. Bump the dagger version in README.md

    RELNOTES=n/a
    PiperOrigin-RevId: 611241776
    wanyingd1996 authored and Dagger Team committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    1bbd7db View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2024

  1. reduce number of times resolving parameter types in an extreme case.

    RELNOTES=n/a
    PiperOrigin-RevId: 612562471
    wanyingd1996 authored and Dagger Team committed Mar 4, 2024
    Configuration menu
    Copy the full SHA
    922ff50 View commit details
    Browse the repository at this point in the history

Commits on Mar 6, 2024

  1. Migrate from soon-to-be-deprecated propagateIfPossible to equivalen…

    …t `throwIfInstanceOf` and `throwIfUnchecked` calls.
    
    This migration makes clearer that the existing call is not doing much, so I've simplified further from there.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 613322217
    cpovirk authored and Dagger Team committed Mar 6, 2024
    Configuration menu
    Copy the full SHA
    3fa9a8a View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2024

  1. Fix diagnostic kind in InjectValidator.

    RELNOTES=n/a
    PiperOrigin-RevId: 615894485
    wanyingd1996 authored and Dagger Team committed Mar 14, 2024
    Configuration menu
    Copy the full SHA
    e8e1ce6 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2024

  1. Delete obsolete documentation

    RELNOTES=n/a
    PiperOrigin-RevId: 615951840
    wanyingd1996 authored and Dagger Team committed Mar 15, 2024
    Configuration menu
    Copy the full SHA
    e6c2ac8 View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2024

  1. Fix bug in AnnotationExpression.

    When generating creator for annotation, the case when the return type is an array was ignored previously.
    
    fixes #4262
    
    RELNOTES=n/a
    PiperOrigin-RevId: 618003551
    wanyingd1996 authored and Dagger Team committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    c213e36 View commit details
    Browse the repository at this point in the history
  2. Make LazyClassKeyMap accept both MapFactory and MapProviderFactory

    Will support producer in a follow up cl.
    
    Fixes #4254
    
    RELNOTES=n/a
    PiperOrigin-RevId: 618220537
    wanyingd1996 authored and Dagger Team committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    29d9a8e View commit details
    Browse the repository at this point in the history
  3. Associate Dagger Android output with generated Component.

    fixes #4181
    
    RELNOTES=n/a
    PiperOrigin-RevId: 618273295
    wanyingd1996 authored and Dagger Team committed Mar 22, 2024
    Configuration menu
    Copy the full SHA
    fc2363d View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2024

  1. Reset processingEnv for BindingGraphPlugins for each round.

    Previously, plugin initialization was performed in processingSteps(), which is only called once at the time when the Processor is created.
    
    RELNOTES=Added `BindingGraphPlugin#onProcessingRoundBegin` for pre processing initialization.
    PiperOrigin-RevId: 618910291
    wanyingd1996 authored and Dagger Team committed Mar 25, 2024
    Configuration menu
    Copy the full SHA
    2a6a0b4 View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2024

  1. Update xprocessing.jar for Dagger.

    RELNOTES=n/a
    PiperOrigin-RevId: 620087952
    wanyingd1996 authored and Dagger Team committed Mar 28, 2024
    Configuration menu
    Copy the full SHA
    8689679 View commit details
    Browse the repository at this point in the history

Commits on Mar 29, 2024

  1. Update Dagger yml and README with new latest version number.

    RELNOTES=N/A
    PiperOrigin-RevId: 620322505
    wanyingd1996 authored and Dagger Team committed Mar 29, 2024
    Configuration menu
    Copy the full SHA
    d201736 View commit details
    Browse the repository at this point in the history

Commits on Apr 4, 2024

  1. Update to Kotlin 1.9.23

    PiperOrigin-RevId: 621683889
    java-team-github-bot authored and Dagger Team committed Apr 4, 2024
    Configuration menu
    Copy the full SHA
    6722bb3 View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2024

  1. Add load() statements for the builtin Bazel java rules

    Loads are being added in preparation for moving the rules out of Bazel and into `rules_java`.
    
    PiperOrigin-RevId: 622922174
    java-team-github-bot authored and Dagger Team committed Apr 8, 2024
    Configuration menu
    Copy the full SHA
    18ce1b5 View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2024

  1. Correctly handle cases where base classes have a package private cons…

    …tructor that isn't visible to the subclass.
    
    RELNOTES=Fixed an issue where base classes with a package private constructor would cause the generated code to fail
    PiperOrigin-RevId: 6236625
    Chang-Eric authored and Dagger Team committed Apr 11, 2024
    Configuration menu
    Copy the full SHA
    db25237 View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2024

  1. Delete redundant logic in FrameworkType.

    RELNOTES=n/a
    PiperOrigin-RevId: 625462723
    wanyingd1996 authored and Dagger Team committed Apr 16, 2024
    Configuration menu
    Copy the full SHA
    4077ea0 View commit details
    Browse the repository at this point in the history

Commits on Apr 22, 2024

  1. Support @LazyClassKey usage with dagger producers.

    RELNOTES=n/a
    PiperOrigin-RevId: 627152997
    wanyingd1996 authored and Dagger Team committed Apr 22, 2024
    Configuration menu
    Copy the full SHA
    5b0aa4a View commit details
    Browse the repository at this point in the history

Commits on Apr 23, 2024

  1. A dagger binding methods may be declared as a kotlin property, and we…

    … need a representation of it in DaggerExecutableElement.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 627262828
    wanyingd1996 authored and Dagger Team committed Apr 23, 2024
    Configuration menu
    Copy the full SHA
    efa34f2 View commit details
    Browse the repository at this point in the history

Commits on Apr 25, 2024

  1. Add a test case for asserting current behavior with type argument nul…

    …lability.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 628130557
    wanyingd1996 authored and Dagger Team committed Apr 25, 2024
    Configuration menu
    Copy the full SHA
    d9c0357 View commit details
    Browse the repository at this point in the history
  2. Change group name as the result of Github runner group migration.

    RELNOTES=n/a
    PiperOrigin-RevId: 628205438
    wanyingd1996 authored and Dagger Team committed Apr 25, 2024
    Configuration menu
    Copy the full SHA
    e209fa9 View commit details
    Browse the repository at this point in the history

Commits on May 1, 2024

  1. Fixed the incorrect logic from ProductionBindingRepresentation which …

    …could have resulted in type casting error.
    
    In the existing logic, if someone is requesting a production binding with Provider, Dagger will end up generating a Producer typed expression.
    
    This cl changes the behavior, so that if a binding request kind for a production binding is PROVIDER, then use derivedFromFrameworkInstanceRequestRepresentation to derive the expression from the corresponding ProducerNodeInstanceRequestRepresentation. This will still fail, but with better error message "request kind PROVIDER cannot be satisfied by production binding" from the BindingGraphPlugin Validator.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 629639958
    wanyingd1996 authored and Dagger Team committed May 1, 2024
    Configuration menu
    Copy the full SHA
    afd1011 View commit details
    Browse the repository at this point in the history
  2. Fix typo in PropertyQualifierTest and add test for property setter an…

    …notation
    
    RELNOTES=n/a
    PiperOrigin-RevId: 629786551
    wanyingd1996 authored and Dagger Team committed May 1, 2024
    Configuration menu
    Copy the full SHA
    9a67471 View commit details
    Browse the repository at this point in the history

Commits on May 14, 2024

  1. Suppress deprecation warnings in generated code.

    Fixes #4302.
    
    RELNOTES=Suppress deprecation warnings in generated code. Fixes #4302
    PiperOrigin-RevId: 633649389
    Chang-Eric authored and Dagger Team committed May 14, 2024
    Configuration menu
    Copy the full SHA
    f41033c View commit details
    Browse the repository at this point in the history

Commits on May 17, 2024

  1. Make dagger.internal.Provider extend jakarta.inject.Provider.

    Issue #2058.
    
    RELNOTES=Add a jakarta.inject.Provider runtime dependency in preparation for supporting Jakarta Providers
    PiperOrigin-RevId: 634896178
    Chang-Eric authored and Dagger Team committed May 17, 2024
    Configuration menu
    Copy the full SHA
    a8581e0 View commit details
    Browse the repository at this point in the history

Commits on May 29, 2024

  1. Internal change

    PiperOrigin-RevId: 638422441
    nreid260 authored and Dagger Team committed May 29, 2024
    Configuration menu
    Copy the full SHA
    b96e9bf View commit details
    Browse the repository at this point in the history

Commits on May 30, 2024

  1. Set MAX_STATEMENTS_PER_METHOD to 25 based on performance analysis.

    RELNOTES=n/a
    PiperOrigin-RevId: 638462173
    java-team-github-bot authored and Dagger Team committed May 30, 2024
    Configuration menu
    Copy the full SHA
    79aeed8 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2024

  1. Support prunable hilt entry points.

    Added `@OnlyUsedBy(\*binding identifiers*\)` to be used on entry points that indicates an entry point should be pruned if no usage of it is found. An entry point is considered as unused if:
    1. No corresponding binding identifier is found. A binding's default identifier is its enclosing class, user may also explicitly specify a identifier using `@BindingIdentifier` on the binding element.
    
    1. The entry point is only being used by a binding that is unused, which will not present in the pruned graph.
    
    RELNOTES=Support prunable hilt entry points.
    PiperOrigin-RevId: 640960016
    wanyingd1996 authored and Dagger Team committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    9c5d902 View commit details
    Browse the repository at this point in the history
  2. Rollback changelist 640960016.

    PiperOrigin-RevId: 641013296
    java-team-github-bot authored and Dagger Team committed Jun 6, 2024
    Configuration menu
    Copy the full SHA
    e679774 View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2024

  1. Internal changes

    RELNOTES=n/a
    PiperOrigin-RevId: 641978383
    hoisie authored and Dagger Team committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    5440ab7 View commit details
    Browse the repository at this point in the history
  2. Internal change

    RELNOTES=n/a
    PiperOrigin-RevId: 642001855
    java-team-github-bot authored and Dagger Team committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    8b3b370 View commit details
    Browse the repository at this point in the history
  3. Skip view injection when in edit mode

    Closes #4305
    
    RELNOTES=Skip view injection when in edit mode for previews.
    PiperOrigin-RevId: 642038084
    Edson Moraes Menegatti authored and Dagger Team committed Jun 10, 2024
    Configuration menu
    Copy the full SHA
    65b74f8 View commit details
    Browse the repository at this point in the history

Commits on Jun 11, 2024

  1. Remove checks for unused binding kinds in FactoryGenerator.

    Factory generator can only be used with `INJECTION`, `ASSISTED_INJECTION`, and `PROVISION` kinds, so fail early if other kinds are detected.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 642258494
    bcorso authored and Dagger Team committed Jun 11, 2024
    Configuration menu
    Copy the full SHA
    33c7673 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2024

  1. Add rules to stop LazyClassKey referenced classes being merged with R8.

    Also adjusted the proguard rule to avoid keeping the LazyClassKeyProvider which is unnecessary.
    
    Issue#4323
    
    RELNOTES=n/a
    PiperOrigin-RevId: 643422417
    wanyingd1996 authored and Dagger Team committed Jun 14, 2024
    Configuration menu
    Copy the full SHA
    81512af View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2024

  1. Refactor factory generators for better consistency and readability.

    This CL refactors the factory generators into smaller functions. Specifically, each function encapsulates a generated method on the factory. I've also added code snippets above the functions to document examples of the generated methods they return, and aligned the classes so that the overall style is consistent.
    
    This CL is a no-op change.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 643999088
    bcorso authored and Dagger Team committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    cb76f99 View commit details
    Browse the repository at this point in the history
  2. Fix handling of Kotlin object Producer modules so that @JvmStatic isn…

    …'t required
    
    RELNOTES=n/a
    PiperOrigin-RevId: 644066003
    Chang-Eric authored and Dagger Team committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    c9903cc View commit details
    Browse the repository at this point in the history
  3. Rollback of: "Fix handling of Kotlin object Producer modules so that …

    …@JvmStatic isn't required"
    
    PiperOrigin-RevId: 644122947
    Chang-Eric authored and Dagger Team committed Jun 17, 2024
    Configuration menu
    Copy the full SHA
    2de0949 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2024

  1. internal_change

    PiperOrigin-RevId: 644190345
    dx404 authored and Dagger Team committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    96ccd24 View commit details
    Browse the repository at this point in the history
  2. Update Kotlin Metadata dependency from 0.9.0 to 2.0.0-Beta5

    RELNOTES=Update Kotlin Metadata dependency from 0.9.0 to 2.0.0-Beta5
    PiperOrigin-RevId: 644733433
    java-team-github-bot authored and Dagger Team committed Jun 19, 2024
    Configuration menu
    Copy the full SHA
    8fd51a4 View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2024

  1. Automated Code Change

    PiperOrigin-RevId: 645175124
    kluever authored and Dagger Team committed Jun 21, 2024
    Configuration menu
    Copy the full SHA
    fff8c7b View commit details
    Browse the repository at this point in the history
  2. Revert Kotlin Metadata dependency back to 0.9.0 from 2.0.0-Beta5

    RELNOTES=n/a
    PiperOrigin-RevId: 645498660
    Chang-Eric authored and Dagger Team committed Jun 21, 2024
    Configuration menu
    Copy the full SHA
    f7f40dd View commit details
    Browse the repository at this point in the history

Commits on Jun 24, 2024

  1. Internal changes

    RELNOTES=N/A
    PiperOrigin-RevId: 646098252
    bcorso authored and Dagger Team committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    a6867f2 View commit details
    Browse the repository at this point in the history
  2. Internal changes

    RELNOTES=N/A
    PiperOrigin-RevId: 646171536
    bcorso authored and Dagger Team committed Jun 24, 2024
    Configuration menu
    Copy the full SHA
    4f019d9 View commit details
    Browse the repository at this point in the history

Commits on Jun 25, 2024

  1. Fix qualifier annotations with the wrong retention per the JSR330 spec.

    PiperOrigin-RevId: 646268040
    eamonnmcmanus authored and Dagger Team committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    b2a1fe6 View commit details
    Browse the repository at this point in the history
  2. Add ComponentDescriptor#bindings(), similar to `ModuleDescriptor#bi…

    …ndings()` to easily access the bindings of a component.
    
    This CL also moves the various `Map<Key, BindingDeclaration>` state from `BindingGraphFactory` into a new class, `ComponentDeclarations`, that encapsulates all of the various declarations of a component into a single location
    
    RELNOTES=N/A
    PiperOrigin-RevId: 646464552
    bcorso authored and Dagger Team committed Jun 25, 2024
    Configuration menu
    Copy the full SHA
    537acb9 View commit details
    Browse the repository at this point in the history

Commits on Jul 3, 2024

  1. Change the Binding class hierarchy to reflect BindingKind rather …

    …than `BindingType`.
    
    This change is necessary to decouple the `BindingType` from the binding class hierarchy, which currently prevents us from creating a binding without already having access to its dependencies.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 649081259
    bcorso authored and Dagger Team committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    d456afc View commit details
    Browse the repository at this point in the history
  2. Remove a binding's associated declarations from ResolvedBindings an…

    …d use `BindingNode` directly instead.
    
    This CL refactors the code to remove the associated declarations from `ResolvedBindings` and have the class use `BindingNode` (which includes the associated declarations itself) instead of `Binding`. This change is subtle, but it allows us to reuse the `BindingNode` instance from an ancestor component rather than trying to recreate it with the exact same declarations in a child component (see follow-up CL/644086367).
    
    Overall, I think this refactor is also an improvement to maintainability because it cuts out the `ResolvedBindings#associatedDeclarations()` being used as a middle-man for then creating a `BindingNode` and just holds the `BindingNode`s directly.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 649129006
    bcorso authored and Dagger Team committed Jul 3, 2024
    Configuration menu
    Copy the full SHA
    fb8bd41 View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2024

  1. Internal changes

    RELNOTES=N/A
    PiperOrigin-RevId: 653003160
    bcorso authored and Dagger Team committed Jul 16, 2024
    Configuration menu
    Copy the full SHA
    56e1eeb View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2024

  1. Internal changes

    PiperOrigin-RevId: 653428725
    bcorso authored and Dagger Team committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    982dab4 View commit details
    Browse the repository at this point in the history
  2. Fix broken assertion in `RequiresResolutionChecker#visitUncachedDepen…

    …dencies()`
    
    Within `visitUncachedDependencies()` we assert that each uncached key is actually uncached before caching it. However, this assertion can fail because during the process of caching, we call `getLocalExplicitBindings()` and `getLocalMultibindingContributions()` which can trigger its own call to `visitUncachedDependencies()` and cache it first.
    
    This CL fixes this issue by avoiding the calls to `getLocalExplicitBindings()` and `getLocalMultibindingContributions()`. In these cases we don't actually need the bindings themselves since we just need to know if the declarations exist or not, so we can just use the declarations directly. This saves us a bit of work because creating the binding requires us to not only resolve the binding itself, but also bindings for dependencies (possibly even transitive dependencies) in the case `@Binds` delegate declarations. It's also nice to keep the assertion because it gaurantees some simplicity to the code.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 653633501
    bcorso authored and Dagger Team committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    216a9d2 View commit details
    Browse the repository at this point in the history
  3. Completely remove dependency on https://github.com/google/bazel-common.

    This CL removes the last few dependencies on bazel-common (mainly the definitions of `jarjar_library` and `javadoc_library` which have now been copied directly into Dagger). This has the following benefits
    
      * The android sdk is now defined in Dagger's WORKSPACE
      * All maven dependencies should now be defined in Dagger's WORKSPACE
    
    **Background:** We've been in the process of removing bazel-common dependencies for a while due to the confusion of mixing maven dependencies between both Dagger and bazel-common and the hassle of upgrading those dependencies on bazel-common (requires first updating in bazel-common, then updating version of bazel-common in Dagger).
    
    RELNOTES=N/A
    PiperOrigin-RevId: 653711935
    bcorso authored and Dagger Team committed Jul 18, 2024
    Configuration menu
    Copy the full SHA
    140e201 View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2024

  1. Internal changes

    PiperOrigin-RevId: 654840578
    bcorso authored and Dagger Team committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    917c005 View commit details
    Browse the repository at this point in the history
  2. Fix an issue where the parameter name "instance" could conflict with …

    …fields of the same name in the component.
    
    Fixes #4352.
    
    RELNOTES=Fixes #4352. Fix an issue where the parameter name "instance" could conflict with fields of the same name in the component.
    PiperOrigin-RevId: 654937603
    Chang-Eric authored and Dagger Team committed Jul 22, 2024
    Configuration menu
    Copy the full SHA
    952c250 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2024

  1. No public description

    RELNOTES=n/a
    PiperOrigin-RevId: 657335531
    java-team-github-bot authored and Dagger Team committed Jul 29, 2024
    Configuration menu
    Copy the full SHA
    d55d61c View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2024

  1. Automated Code Change

    PiperOrigin-RevId: 657804794
    hoisie authored and Dagger Team committed Jul 31, 2024
    Configuration menu
    Copy the full SHA
    5293ff5 View commit details
    Browse the repository at this point in the history
  2. Update Bazel to use JDK 18.

    This is required before updating to the latest XProcessing jars (which require JDK 17+). Note that we're not using JDK 17 because there's a bug that affects Dagger (https://bugs.openjdk.org/browse/JDK-8268575).
    
    This CL sets the default target level to 8, which is used by all of the processors, but some of the Dagger (non-processor) artifacts are set explicitly to target 7. Note that we're keeping the target low to avoid forcing downstream users to have to use a higher JDK.
    
    I've also added a validation step to our GitHub Actions to add some level of guarantee that the classes in the artifact jars all have the expected language level.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 658131076
    bcorso authored and Dagger Team committed Jul 31, 2024
    Configuration menu
    Copy the full SHA
    31eec2a View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2024

  1. Add jarjar test libraries to the Allstar exemption file for binary ar…

    …tifacts.
    
    Issue #3415.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 658516509
    Chang-Eric authored and Dagger Team committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    4dcf006 View commit details
    Browse the repository at this point in the history
  2. Drop latest XProcessing jars into Dagger.

    The latest XProcessing jars require an update to Kotln and KSP dependency, so I've updated those in our gradle tests.
    
    RELNOTES=Drop latest XProcessing jars. Requires users to update to KSP 1.9.24-1.0.20
    PiperOrigin-RevId: 658533119
    bcorso authored and Dagger Team committed Aug 1, 2024
    Configuration menu
    Copy the full SHA
    da92d19 View commit details
    Browse the repository at this point in the history

Commits on Aug 2, 2024

  1. Add more information to error message when @AggregatedDeps annotation…

    … 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
    bcorso authored and Dagger Team committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    3e0d349 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2024

  1. Update Dagger yml and README with new latest version number.

    RELNOTES=N/A
    PiperOrigin-RevId: 660572837
    bcorso authored and Dagger Team committed Aug 7, 2024
    Configuration menu
    Copy the full SHA
    486be28 View commit details
    Browse the repository at this point in the history

Commits on Aug 8, 2024

  1. Reorganize functional multibinding tests into separate targets.

    This is part of an on-going refactor to clean up Dagger's tests. The new structure follows Bazel best practices and has a number of benefits such as:
    
      * Makes it clear which classes go with a particular test class just by reading the BUILD file
      * Makes error messages clearer because a problematic class will only cause its corresponding test to fail and not unrelated tests.
      * Speeds up builds, as tests don't need to wait for unrelated classes to build.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 660590373
    bcorso authored and Dagger Team committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    78be2f5 View commit details
    Browse the repository at this point in the history
  2. Refactor BindingGraphFactory to remove the need for `keysMatchingRe…

    …quest` and corresponding cache.
    
    This CL refactors `BindingGraphFactory` so that we no longer need to loop through all variations of a multibindings key when getting the `@Multibindings` declarations or `@IntoMap`/`@IntoSet` contributions from `ComponentDeclarations`. Instead, `ComponentDeclarations` now indexes these declarations by the unwrapped multibinding key (i.e. `Map<K, V>` or `Set<V>`) which we can use to get all declarations with a single key. In addition, the unwrapping of the key is done within `ComponentDeclarations` so that each caller doesn't have to remember to unwrap the key.
    
    RELNOTES=Fixes missing variance in KSP for multibindings which can break KSP users who forgot the `@JvmSuppressWildcards`.
    PiperOrigin-RevId: 660963882
    bcorso authored and Dagger Team committed Aug 8, 2024
    Configuration menu
    Copy the full SHA
    93201e0 View commit details
    Browse the repository at this point in the history

Commits on Aug 9, 2024

  1. Combine BindingGraphFactory.Resolver's caching logic into a single …

    …location.
    
    Currently, there are two places where we try to cache a binding:
    
      1. `Resolver#resolve(Key)` checks if there's a previously resolved binding for the given key in an ancestor resolver.
      2. `Resolver#lookUpBindings(Key)` checks if a resolved binding should be owned by an ancestor component (e.g. because its scoped).
    
    Note that these two checks are slightly different. Case 1 only depends on the `Key` and is iteration-order dependent since it depends on whether the key has already been resolved in a ancestor binding. Case 2 depends on the binding rather than just the key (which is why it occurs at the end of `lookUpBindings`) and tries to determine if a binding could be resolved in a parent component (e.g. based on the scope or which component installs the module). Thus, case 2 may cache bindings that case 1 doesn't in cases where we know a binding is resolvable in an ancestor but hasn't yet been resolved (e.g. due to order or just because nothing actually requests it).
    
    In any case, this CL consolidates that logic into a single place. This should make it easier to extract the caching logic later from the intermediate graph creation.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 661363402
    bcorso authored and Dagger Team committed Aug 9, 2024
    Configuration menu
    Copy the full SHA
    86fcef5 View commit details
    Browse the repository at this point in the history
  2. Rollback of: Combine BindingGraphFactory.Resolver's caching logic i…

    …nto a single location.
    
    PiperOrigin-RevId: 661446058
    bcorso authored and Dagger Team committed Aug 9, 2024
    Configuration menu
    Copy the full SHA
    f397f6b View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2024

  1. Update robolectric dependencies.

    Our bazel example projects was using an old version of `bazel-robolectric` (4.1) which referenced an obsolete repository for the robolectric jars `"https://repo1.maven.org/central"`:
    
    https://github.com/robolectric/robolectric-bazel/blob/4.1/bazel/robolectric.bzl#L7
    
    The new repository we're supposed to use is `"https://repo1.maven.org/maven2"`, which is used by `bazel-robolectric` 4.4+, e.g.:
    
    https://github.com/robolectric/robolectric-bazel/blob/4.4/bazel/robolectric.bzl#L7
    
    This CL updates `bazel-robolectric` and all robolectric deps to 4.11.1 so that everything is using the same version.
    
    In addition, the above changes ended up breaking other tests (e.g. https://github.com/google/dagger/actions/runs/10360876140/job/28680303187), due to robolectric/robolectric#6593, and required further updating espresso to `androidx.test.espresso:espresso-core:3.5.1`.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 662367956
    bcorso authored and Dagger Team committed Aug 13, 2024
    Configuration menu
    Copy the full SHA
    f1acd72 View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2024

  1. [Cleanup] Remove unnecessary switch on BindingType in `SourceFiles#…

    …generatedClassNameForBinding()
    
    RELNOTES=N/A
    PiperOrigin-RevId: 663442605
    bcorso authored and Dagger Team committed Aug 15, 2024
    Configuration menu
    Copy the full SHA
    3b1c84e View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2024

  1. [Cleanup]: Use MultiboundMapBinding and MultiboundSetBinding in m…

    …ore places.
    
    This CL replaces some usages of `Binding`/`ContributionBinding` with the more explicit types when possible. This has the benefit of being able to use more specific APIs in these locations and also avoids having to check that the bindings are of the correct kind in every method.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 663836816
    bcorso authored and Dagger Team committed Aug 16, 2024
    Configuration menu
    Copy the full SHA
    c69189e View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2024

  1. Add GWT dependencies for Jakarta Inject

    Issue #4391
    
    RELNOTES=Add GWT dependencies for Jakarta Inject
    PiperOrigin-RevId: 665040399
    Chang-Eric authored and Dagger Team committed Aug 19, 2024
    Configuration menu
    Copy the full SHA
    bea926c View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2024

  1. Internal changes

    RELNOTES=n/a
    PiperOrigin-RevId: 665964775
    wanyingd1996 authored and Dagger Team committed Aug 21, 2024
    Configuration menu
    Copy the full SHA
    4a0a5e9 View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2024

  1. Internal changes

    RELNOTES=n/a
    PiperOrigin-RevId: 666104552
    wanyingd1996 authored and Dagger Team committed Aug 22, 2024
    Configuration menu
    Copy the full SHA
    a15cf23 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2024

  1. Remove unnecessary boxing in AutoValue classes

    PiperOrigin-RevId: 667661624
    java-team-github-bot authored and Dagger Team committed Aug 26, 2024
    Configuration menu
    Copy the full SHA
    d883a9a View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2024

  1. Combine BindingGraphFactory.Resolver's caching logic into a single lo…

    …cation.
    
    Currently, there are two places where we try to cache a binding:
    
    Resolver#resolve(Key) checks if there's a previously resolved binding for the given key in an ancestor resolver.
    Resolver#lookUpBindings(Key) checks if a resolved binding should be owned by an ancestor component (e.g. because its scoped).
    Note that these two checks are slightly different. Case 1 only depends on the Key and is iteration-order dependent since it depends on whether the key has already been resolved in a ancestor binding. Case 2 depends on the binding rather than just the key (which is why it occurs at the end of lookUpBindings) and tries to determine if a binding could be resolved in a parent component (e.g. based on the scope or which component installs the module). Thus, case 2 may cache bindings that case 1 doesn't in cases where we know a binding is resolvable in an ancestor but hasn't yet been resolved (e.g. due to order or just because nothing actually requests it).
    
    In any case, this CL consolidates that logic into a single place. This should make it easier to extract the caching logic later from the intermediate graph creation.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 668007196
    bcorso authored and Dagger Team committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    de59d69 View commit details
    Browse the repository at this point in the history
  2. Fix ordering of LazyClassKeyMap

    fixes #4398
    
    RELNOTES=n/a
    PiperOrigin-RevId: 668175042
    wanyingd1996 authored and Dagger Team committed Aug 27, 2024
    Configuration menu
    Copy the full SHA
    5d61a6c View commit details
    Browse the repository at this point in the history

Commits on Aug 28, 2024

  1. Remove support for Java 7.

    We're aiming to add proper nullable annotations to Dagger's runtime API types in the upcoming Dagger release. In order to do this we need to drop support for Java 7.
    
    Given Java 7 itself was officially out of support after July 2022, dropping support for Java 7 in Dagger seem reasonable.
    
    RELNOTES=Remove support for Java 7
    PiperOrigin-RevId: 668525969
    bcorso authored and Dagger Team committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    c06a25f View commit details
    Browse the repository at this point in the history
  2. Remove support for Java 7.

    We're aiming to add proper nullable annotations to Dagger's runtime API types in the upcoming Dagger release. In order to do this we need to drop support for Java 7.
    
    Given Java 7 itself was officially out of support after July 2022, dropping support for Java 7 in Dagger seem reasonable.
    
    RELNOTES=Remove support for Java 7
    PiperOrigin-RevId: 668577143
    java-team-github-bot authored and Dagger Team committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    c4e30e7 View commit details
    Browse the repository at this point in the history
  3. Add @NullMarked to dagger.internal package

    RELNOTES=n/a
    PiperOrigin-RevId: 668591111
    java-team-github-bot authored and Dagger Team committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    53ae898 View commit details
    Browse the repository at this point in the history
  4. Remove usage of XConverters#toJavac().

    RELNOTES=N/A
    PiperOrigin-RevId: 668632552
    bcorso authored and Dagger Team committed Aug 28, 2024
    Configuration menu
    Copy the full SHA
    b073dcb View commit details
    Browse the repository at this point in the history

Commits on Aug 29, 2024

  1. Internal changes

    RELNOTES=N/A
    PiperOrigin-RevId: 668962229
    bcorso authored and Dagger Team committed Aug 29, 2024
    Configuration menu
    Copy the full SHA
    a91448e View commit details
    Browse the repository at this point in the history
  2. Internal changes

    PiperOrigin-RevId: 668995662
    bcorso authored and Dagger Team committed Aug 29, 2024
    Configuration menu
    Copy the full SHA
    88493b6 View commit details
    Browse the repository at this point in the history
  3. Internal changes

    RELNOTES=n/a
    PiperOrigin-RevId: 669014463
    wanyingd1996 authored and Dagger Team committed Aug 29, 2024
    Configuration menu
    Copy the full SHA
    cca779a View commit details
    Browse the repository at this point in the history

Commits on Sep 5, 2024

  1. Remove calls to Binding#bindingType() from within the Resolver.

    We're currently refactoring the resolution logic to avoid things that require lookup of transitive dependencies, like the `BindingType`. Furthermore, for the usages in this CL, we shouldn't actually need the `BindingType` since just using the `BindingKind` should be sufficient.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 671438774
    bcorso authored and Dagger Team committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    4571f35 View commit details
    Browse the repository at this point in the history
  2. Fix Dagger.gwt.xml

    Issue #4391
    
    RELNOTES=Fix gwt issue #4391
    PiperOrigin-RevId: 671441590
    Chang-Eric authored and Dagger Team committed Sep 5, 2024
    Configuration menu
    Copy the full SHA
    af62f2d View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2024

  1. Internal changes

    PiperOrigin-RevId: 671862639
    bcorso authored and Dagger Team committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    c718e0b View commit details
    Browse the repository at this point in the history
  2. Add GWT dependencies for Jspecify. Also upgrade Jspecify from 0.3.0 t…

    …o 1.0.0
    
    Issue #4391.
    
    RELNOTES=n/a
    PiperOrigin-RevId: 671909308
    Chang-Eric authored and Dagger Team committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    ed2685b View commit details
    Browse the repository at this point in the history

Commits on Sep 9, 2024

  1. Reorganize the binding class hierarchy.

    This CL moves properties from `Binding` to `BindingDeclaration` such that `BindingDeclaration` now contains all of the properties that can be determined directly from the binding element itself, and `Binding` just contains the `BindingType` information (which requires knowledge of transitive dependencies).
    
    RELNOTES=N/A
    PiperOrigin-RevId: 672586235
    bcorso authored and Dagger Team committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    406bc87 View commit details
    Browse the repository at this point in the history
  2. Internal changes

    RELNOTES=N/A
    PiperOrigin-RevId: 672655387
    bcorso authored and Dagger Team committed Sep 9, 2024
    Configuration menu
    Copy the full SHA
    5918d11 View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2024

  1. Ban scoping on @Binds that delegate to @Produces implementations.

    This CL bans scoping on `@Binds` methods that delegate to `@Produces` methods. Note that scoping on `@Produces` methods themselves is already banned because production bindings are implicitly scoped.
    
    There's a few benefits to banning this. First, allowing users to arbitrarily add scopes can be misleading because the scopes will just be ignored. Second, this change allows us to clean up places in `BindingFactory` that required knowledge of the `BindingType` (which is something we're currently trying to remove).
    
    RELNOTES=Ban scoping on production bindings.
    PiperOrigin-RevId: 673020697
    bcorso authored and Dagger Team committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    03b237f View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2024

  1. Fix Dagger error messages with missing component references in the de…

    …pendency trace.
    
    We recently added component references to the dependency trace for missing bindings, but that logic is missing for the dependency traces in other validators. This CL moves the logic out of `MissingBindingValidator` and into `DependencyRequestFormatter` so that it can be shared across multiple validators.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 673457794
    bcorso authored and Dagger Team committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    d02798b View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2024

  1. Require @nullable explicitly on @BINDS methods.

    The way we currently calculate the nullability of @BINDS methods is misleading. In particular, the nullability is based on the nullability of the implementation, and we ignore the nullability on the actual method. This CL makes 2 changes:
    
      1. The nullability of delegate bindings is based on the nullability of the method/return type
      2. The nullability of the delegate method/return type must match the nullability of the method parameter.
    
    RELNOTES=Require @nullable explictly on @BINDS methods.
    PiperOrigin-RevId: 673922090
    bcorso authored and Dagger Team committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    4941926 View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2024

  1. Internal changes

    RELNOTES=n/a
    PiperOrigin-RevId: 674004016
    Chang-Eric authored and Dagger Team committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    5f50e6d View commit details
    Browse the repository at this point in the history
  2. Upgrade Kotlin Metadata dependency to 2.0.0-Beta5

    RELNOTES=Upgrade Kotlin Metadata dependency to 2.0.0-Beta5
    PiperOrigin-RevId: 674401703
    bcorso authored and Dagger Team committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    9a94d19 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2024

  1. Refactor BindingGraphFactory to build network directly.

    This CL removes the need for `BindingGraphConverter` and `LegacyBindingGraph` and builds up the network as part of the resolution. Since the `BindingGraphConverter` is now only used by `LegacyBindingGraphFactory` I've renamed it to `LegacyBindingGraphConverter`.
    
    Note: This has been a change we've wanted to make for a while now but hasn't been possible due to the complexity and brittleness of the resolution logic.
    RELNOTES=N/A
    PiperOrigin-RevId: 675217954
    bcorso authored and Dagger Team committed Sep 16, 2024
    Configuration menu
    Copy the full SHA
    3fd9588 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2024

  1. [Refactor]: Split BindingFactory.syntheticOptionalDeclaration into se…

    …parate methods for present vs absent.
    
    This change is similar to other refactors which split the `multibinding` method into `multiboundSet` and `multiboundMap`. In general, I think it's better if `BindingFactory` is just responsible for creating the bindings and does not have logic to decide on which binding it should create. This also makes it clearer at the call site which binding we're actually using.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 676053984
    bcorso authored and Dagger Team committed Sep 18, 2024
    Configuration menu
    Copy the full SHA
    000a21d View commit details
    Browse the repository at this point in the history
  2. [Refactor]: Fork ResolvedBindings for LegacyBindingGraphFactory.

    ResolvedBindings is currently shared by both BindingGraphFactory and LegacyBindingGraphFactory, but future changes to BindingGraphFactory will need to make changes to ResolvedBindings that don't apply to  LegacyBindingGraphFactory so I'm forking this in advance to make the legacy code independent of future changes.
    
    I've also removed the `LegacyBindingGraphConverter.LegacyBindingGraph` interface. This was previously needed since both `BindingGraphFactory` and `LegacyBindingGraphFactory` had their own implementations of this interface, but now that `BindingGraphFactory` no longer uses it the interface is no longer needed.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 676123197
    bcorso authored and Dagger Team committed Sep 18, 2024
    Configuration menu
    Copy the full SHA
    5f76186 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

  1. Add tests for nullable field injection and nullable provides methods.

    RELNOTES=n/a
    PiperOrigin-RevId: 676497288
    java-team-github-bot authored and Dagger Team committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    6368dba View commit details
    Browse the repository at this point in the history
  2. Add repro tests for b/367426609.

    This CL adds two tests that repro the issues in b/367426609.
    
    A follow-up CL with fix b/367426609 and fix these tests too.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 676511480
    bcorso authored and Dagger Team committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    93b8bcf View commit details
    Browse the repository at this point in the history
  3. Refactor BindingGraphFactory.RequiresResolutionChecker to use the net…

    …work directly.
    
    This is a follow-up to CL/675217954, which changed `BindingGraphFactory` to build the network during the resolution stage. Now that BindingGraphFactory builds up a network, we can use that network directly in `RequiresResolutionChecker` when calculating whether a particular `BindingNode` needs to be re-resolved in the current component.
    
    This also fixes a bug (b/367426609) that was hiding in the old logic and is now fixed by iterating via the network directly.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 676530675
    bcorso authored and Dagger Team committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    8848866 View commit details
    Browse the repository at this point in the history
  4. Update MissingBindingValidationTest to show full error messages.

    Some of these test cases look correct only because we're not showing the full error message, and showing the full error message shows that there's some things in the error message that should not have been included (e.g. b/360278200).
    
    This CL updates these test cases to ensure we're seeing the full error message. For the incorrect test cases reported in b/360278200, I will fix them in a follow-up CL.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 676551280
    bcorso authored and Dagger Team committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    f8a09b2 View commit details
    Browse the repository at this point in the history
  5. Add a test for Kotlin nullable field injection.

    PiperOrigin-RevId: 676595690
    java-team-github-bot authored and Dagger Team committed Sep 19, 2024
    Configuration menu
    Copy the full SHA
    8d9f082 View commit details
    Browse the repository at this point in the history

Commits on Sep 23, 2024

  1. Load the builtin Bazel java rules from @rules_java

    PiperOrigin-RevId: 677815001
    java-team-github-bot authored and Dagger Team committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    8023c7a View commit details
    Browse the repository at this point in the history
  2. Load the builtin Bazel java rules from @rules_java

    PiperOrigin-RevId: 677815481
    java-team-github-bot authored and Dagger Team committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    843a18e View commit details
    Browse the repository at this point in the history
  3. Remove obsolete TODOs in DaggerSuperficialValidationTest.

    RELNOTES=N/A
    PiperOrigin-RevId: 677901374
    bcorso authored and Dagger Team committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    b2eb30f View commit details
    Browse the repository at this point in the history
  4. Add a test for Kotlin nullable provides methods.

    PiperOrigin-RevId: 677905874
    java-team-github-bot authored and Dagger Team committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    c3f2b94 View commit details
    Browse the repository at this point in the history
  5. Fix MissingBinding error message for similar bindings.

    This CL fixes the issues in b/360278200, where we were suggesting multibinding contributions and duplicating suggestions from the alternative bindings portion of the error message.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 677938702
    bcorso authored and Dagger Team committed Sep 23, 2024
    Configuration menu
    Copy the full SHA
    709e68d View commit details
    Browse the repository at this point in the history

Commits on Sep 24, 2024

  1. Update Dagger tests to support JDK 24.

    https://bugs.openjdk.org/browse/JDK-8338678 is fixed in JDK 24, which now gives more information than we had when reporting errors in previous JDKs. This CL updates our Dagger tests to support JDK 24.
    
    RELNOTES=N/A
    PiperOrigin-RevId: 678052093
    bcorso authored and Dagger Team committed Sep 24, 2024
    Configuration menu
    Copy the full SHA
    3bffd33 View commit details
    Browse the repository at this point in the history
  2. Load the builtin Bazel java rules from @rules_java

    PiperOrigin-RevId: 678257367
    java-team-github-bot authored and Dagger Team committed Sep 24, 2024
    Configuration menu
    Copy the full SHA
    879c7b1 View commit details
    Browse the repository at this point in the history
  3. Add nullability annotations to some generated methods

    RELNOTES=n/a
    PiperOrigin-RevId: 678295107
    java-team-github-bot authored and Dagger Team committed Sep 24, 2024
    Configuration menu
    Copy the full SHA
    ab43d59 View commit details
    Browse the repository at this point in the history