Thanks to visit codestin.com
Credit goes to github.com

Skip to content

refactor(ivy): remove dependency of Injector on Ivy #28066

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

Conversation

mhevery
Copy link
Contributor

@mhevery mhevery commented Jan 11, 2019

This change is a prerequasity for a later change which will turn the
'di' into its own bazel package. In order to do that we have to:

  • Remove the dependency of class Injector on Ivy so that it can be
    compiled in isolation. We do that by using -1 as special value for
    __NG_ELEMENT_ID__ which tells the Ivy NodeInjector than
    Injector is being requested.

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

  • Bugfix
  • Feature
  • Code style update (formatting, local variables)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • CI related changes
  • Documentation content changes
  • angular.io application / infrastructure changes
  • Other... Please describe:

What is the current behavior?

Issue Number: N/A

What is the new behavior?

Does this PR introduce a breaking change?

  • Yes
  • No

Other information

@mhevery mhevery requested review from a team as code owners January 11, 2019 08:00
@mary-poppins
Copy link

You can preview 8535148 at https://pr28066-8535148.ngbuilds.io/.

Copy link
Contributor

@IgorMinar IgorMinar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@mary-poppins
Copy link

You can preview 82f522c at https://pr28066-82f522c.ngbuilds.io/.

@mary-poppins
Copy link

You can preview 778e791 at https://pr28066-778e791.ngbuilds.io/.

@mhevery mhevery changed the title refactor(ivy): create Injector interface; remove dependency on Ivy refactor(ivy): remove dependency of Injector on Ivy Jan 11, 2019
Copy link
Contributor

@kara kara left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just a few nits

@mhevery mhevery requested a review from a team as a code owner January 11, 2019 19:21
@mary-poppins
Copy link

You can preview ee61217 at https://pr28066-ee61217.ngbuilds.io/.

@mhevery mhevery force-pushed the break_DI_into_separate_ts_library_compilation branch from ee61217 to a6884a4 Compare January 11, 2019 19:28
@mary-poppins
Copy link

You can preview a6884a4 at https://pr28066-a6884a4.ngbuilds.io/.

@mary-poppins
Copy link

You can preview 05514a5 at https://pr28066-05514a5.ngbuilds.io/.

@googlebot
Copy link

So there's good news and bad news.

👍 The good news is that everyone that needs to sign a CLA (the pull request submitter and all commit authors) have done so. Everything is all good there.

😕 The bad news is that it appears that one or more commits were authored or co-authored by someone other than the pull request submitter. We need to confirm that all authors are ok with their commits being contributed to this project. Please have them confirm that here in the pull request.

Note to project maintainer: This is a terminal state, meaning the cla/google commit status will not change from this state. It's up to you to confirm consent of all the commit author(s), set the cla label to yes (if enabled on your project), and then merge this pull request when appropriate.

@mary-poppins
Copy link

You can preview d306f25 at https://pr28066-d306f25.ngbuilds.io/.

@mary-poppins
Copy link

You can preview 6daa87d at https://pr28066-6daa87d.ngbuilds.io/.

@mary-poppins
Copy link

You can preview 1869767 at https://pr28066-1869767.ngbuilds.io/.

This change is a prerequasity for a later change which will turn the
'di' into its own bazel package. In order to do that we have to:
- have `Injector` type be importable by Ivy. This means that we need
  to create `Injector` as a pure type in `interface` folder which is
  already a bazel package which Ivy can depend on.
- Remove the dependency of `class Injector` on Ivy so that it can be
  compiled in isolation. We do that by using `-1` as special value for
  `__NG_ELEMENT_ID__` which tells the Ivy `NodeInjector` than
  `Injector` is being requested.
@mhevery mhevery force-pushed the break_DI_into_separate_ts_library_compilation branch from 1946dc6 to afe2800 Compare January 11, 2019 22:51
@googlebot
Copy link

CLAs look good, thanks!

@mhevery mhevery added the action: merge The PR is ready for merge by the caretaker label Jan 11, 2019
@mhevery mhevery added target: major This PR is targeted for the next major release and removed state: WIP labels Jan 11, 2019
@kara kara added the comp: ivy label Jan 11, 2019
@ngbot ngbot bot added this to the needsTriage milestone Jan 11, 2019
@mary-poppins
Copy link

You can preview 1946dc6 at https://pr28066-1946dc6.ngbuilds.io/.

@mary-poppins
Copy link

You can preview afe2800 at https://pr28066-afe2800.ngbuilds.io/.

@mary-poppins
Copy link

You can preview 2e44e3c at https://pr28066-2e44e3c.ngbuilds.io/.

@mary-poppins
Copy link

You can preview 7003c66 at https://pr28066-7003c66.ngbuilds.io/.

AndrewKushnir pushed a commit that referenced this pull request Jan 12, 2019
@angular-automatic-lock-bot
Copy link

This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.

Read more about our automatic conversation locking policy.

This action has been performed automatically by a bot.

@angular-automatic-lock-bot angular-automatic-lock-bot bot locked and limited conversation to collaborators Sep 14, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
action: merge The PR is ready for merge by the caretaker cla: yes target: major This PR is targeted for the next major release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants