Skip to content

Moe Sync - #1275

Merged
ronshapiro merged 11 commits into
masterfrom
sync-master-2018/09/07
Sep 12, 2018
Merged

ronshapiro merged 11 commits into
masterfrom
sync-master-2018/09/07

Conversation

@ronshapiro

Copy link
Copy Markdown

This code has been reviewed and submitted internally. Feel free to discuss on the PR and we can submit follow-up changes as necessary.

Commits:

Upgrade to bazel 0.16.1

59630b2


Report an error (instead of throwing IAE) if a component builder method has a primitive parameter and is not annotated with @BindsInstance.

Fixes #1233

RELNOTES=Report an error (instead of throwing IAE) if a component builder method has a primitive parameter and is not annotated with @BindsInstance.

834414d


[Ahead-of-time Subcomponents] Support for Optional bindings. This includes support for replacing private binding methods with public modifiable binding methods, and wrapping all modifiable bindings not already wrapped by a modifiable binding method.

This also includes a consolidation of the functional tests.

8c2869f


Refactor DiagnosticReporterImpl so that a separate class gathers all the diagnostic info (dependency trace and other entry points). This way there are fewer methods passing things around.

e1678aa


Report originating elements to the Filer

For certain types (like @ContributesAndroidInjector generated types, which don't refer to their originating element) this can be critical for implementing an incremental processor. See #1120

RELNOTES=Originating elements are now reported to the Filer

ac095ab


Validate members injection requests directly instead of after constructing the binding graph. This way we catch errors in places we weren't, including component members injection methods and unused bindings.

RELNOTES=Report errors when members-injecting primitives and arrays in component methods as well as unused bindings.

fc041a6


Migrate to android_local_test

17f661d


Add support for gradle's incremental annotation processing

Fixes #1120

RELNOTES=Add support for gradle's incremental annotation processing. This can be enabled by passing -Adagger.gradle.incremental to javac

6baf304


Rename validator classes from *Validation to *Validator to be consistent and to use a better noun for objects. Rename validation test classes from *ValidatorTest to *ValidationTest, since they're not really unit tests of the *Validator classes, but rather tests of certain kinds of validation.

9e2b561


Create BindingRequest, which encapsulates a request for a binding with a specific key and with a specific RequestKind and/or FrameworkType.

This is necessary to allow a binding to be requested by FrameworkType alone, even if the FrameworkType has no equivalent RequestKind. Currently there are no such FrameworkTypes, but that will change when we change how internal Producer nodes are represented.

7405495


Report erroneous bindings once for all their incoming dependency requests, instead of once for each incoming dependency request. If a binding is owned in more than one component, it will still be reported once for each component that owns it.

RELNOTES=Report erroneous bindings once for all their incoming dependency requests, instead of once for each incoming dependency request. If a binding is owned in more than one component, it will still be reported once for each component that owns it.

201e225

ronshapiro and others added 11 commits September 7, 2018 14:35
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=211493802
…od has a primitive parameter and is not annotated with @BindsInstance.

Fixes #1233

RELNOTES=Report an error (instead of throwing IAE) if a component builder method has a primitive parameter and is not annotated with `@BindsInstance`.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=211493919
…ludes

support for replacing private binding methods with public modifiable binding
methods, and wrapping all modifiable bindings not already wrapped by a
modifiable binding method.

This also includes a consolidation of the functional tests.

RELNOTES=n/a

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=211634962
…the diagnostic info (dependency trace and other entry points). This way there are fewer methods passing things around.

RELNOTES=n/a

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=211710138
For certain types (like @ContributesAndroidInjector generated types, which don't refer to their originating element) this can be critical for implementing an incremental processor. See #1120

RELNOTES=Originating elements are now reported to the `Filer`

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=211809425
…cting the binding graph. This way we catch errors in places we weren't, including component members injection methods and unused bindings.

RELNOTES=Report errors when members-injecting primitives and arrays in component methods as well as unused bindings.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=211810464
-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=211814342
Fixes #1120

RELNOTES=Add support for gradle's incremental annotation processing. This can be enabled by passing `-Adagger.gradle.incremental` to `javac`

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=211815034
…ent and to use a better noun for objects. Rename validation test classes from *ValidatorTest to *ValidationTest, since they're not really unit tests of the *Validator classes, but rather tests of certain kinds of validation.

RELNOTES=n/a

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=211827852
…h a specific key and with a specific RequestKind and/or FrameworkType.

This is necessary to allow a binding to be requested by FrameworkType alone, even if the FrameworkType has no equivalent RequestKind. Currently there are no such FrameworkTypes, but that will change when we change how internal Producer nodes are represented.

RELNOTES=n/a

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=211982028
…ests, instead of once for each incoming dependency request. If a binding is owned in more than one component, it will still be reported once for each component that owns it.

RELNOTES=Report erroneous bindings once for all their incoming dependency requests, instead of once for each incoming dependency request. If a binding is owned in more than one component, it will still be reported once for each component that owns it.

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=211985909
@ronshapiro
ronshapiro merged commit beefa94 into master Sep 12, 2018
@ronshapiro
ronshapiro deleted the sync-master-2018/09/07 branch September 12, 2018 15:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants