-
Notifications
You must be signed in to change notification settings - Fork 24.8k
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
fix(ngcc): implement lockfile #34722
Conversation
6519660
to
ee60c99
Compare
ee60c99
to
9a37183
Compare
9a37183
to
a7f3eed
Compare
a7f3eed
to
023a995
Compare
process.once('SIGINT', this.signalHandler); | ||
process.once('SIGHUP', this.signalHandler); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OOC: Does this work on Windows?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No idea! I am hoping that our CI (or one of our Windows gurus) will test that for me :-)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But to be serious, I looked into it and in theory this should be enough...
2f60cef
to
2157c9b
Compare
2157c9b
to
9ccf5a4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looking good! Some minor comments/questions/suggestions.
packages/compiler-cli/src/ngtsc/file_system/testing/src/mock_file_system.ts
Outdated
Show resolved
Hide resolved
6456953
to
673e4a3
Compare
673e4a3
to
f16e7e4
Compare
@matsko - what is the reason for the presubmit failure? |
@petebacondarwin it looks like there were some pre-existing failing tests. I marked "google3" check as passing for this PR. Thank you. |
@petebacondarwin please rebase. |
This commit adds an `exclusive` parameter to the `FileSystem.writeFile()` method. When this parameter is true, the method will fail with an `EEXIST` error if the file already exists on disk.
Previously, it was possible for multiple instance of ngcc to be running at the same time, but this is not supported and can cause confusing and flakey errors at build time. Now, only one instance of ngcc can run at a time. If a second instance tries to execute it fails with an appropriate error message. See angular#32431 (comment)
The Angular CLI will continue to call ngcc on all possible packages, even if they have already been processed by ngcc in a postinstall script. In a parallel build environment, this was causing ngcc to complain that it was being run in more than one process at the same time. This commit moves the check for whether the targeted package has been processed outside the locked code section, since there is no issue with multiple ngcc processes from doing this check.
Similar to c602563 this commit aligns the node.js version requirements of the Angular compiler with Angular CLI.
84bcaee
to
7a644ef
Compare
@matsko - done. |
This commit adds an `exclusive` parameter to the `FileSystem.writeFile()` method. When this parameter is true, the method will fail with an `EEXIST` error if the file already exists on disk. PR Close #34722
Previously, it was possible for multiple instance of ngcc to be running at the same time, but this is not supported and can cause confusing and flakey errors at build time. Now, only one instance of ngcc can run at a time. If a second instance tries to execute it fails with an appropriate error message. See #32431 (comment) PR Close #34722
The Angular CLI will continue to call ngcc on all possible packages, even if they have already been processed by ngcc in a postinstall script. In a parallel build environment, this was causing ngcc to complain that it was being run in more than one process at the same time. This commit moves the check for whether the targeted package has been processed outside the locked code section, since there is no issue with multiple ngcc processes from doing this check. PR Close #34722
This commit adds an `exclusive` parameter to the `FileSystem.writeFile()` method. When this parameter is true, the method will fail with an `EEXIST` error if the file already exists on disk. PR Close #34722
Previously, it was possible for multiple instance of ngcc to be running at the same time, but this is not supported and can cause confusing and flakey errors at build time. Now, only one instance of ngcc can run at a time. If a second instance tries to execute it fails with an appropriate error message. See #32431 (comment) PR Close #34722
The Angular CLI will continue to call ngcc on all possible packages, even if they have already been processed by ngcc in a postinstall script. In a parallel build environment, this was causing ngcc to complain that it was being run in more than one process at the same time. This commit moves the check for whether the targeted package has been processed outside the locked code section, since there is no issue with multiple ngcc processes from doing this check. PR Close #34722
This commit adds an `exclusive` parameter to the `FileSystem.writeFile()` method. When this parameter is true, the method will fail with an `EEXIST` error if the file already exists on disk. PR Close angular#34722
Previously, it was possible for multiple instance of ngcc to be running at the same time, but this is not supported and can cause confusing and flakey errors at build time. Now, only one instance of ngcc can run at a time. If a second instance tries to execute it fails with an appropriate error message. See angular#32431 (comment) PR Close angular#34722
…4722) The Angular CLI will continue to call ngcc on all possible packages, even if they have already been processed by ngcc in a postinstall script. In a parallel build environment, this was causing ngcc to complain that it was being run in more than one process at the same time. This commit moves the check for whether the targeted package has been processed outside the locked code section, since there is no issue with multiple ngcc processes from doing this check. PR Close angular#34722
Similar to c602563 this commit aligns the node.js version requirements of the Angular compiler with Angular CLI. PR Close angular#34722
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |
Previously, it was possible for multiple instance of ngcc to be running
at the same time, but this is not supported and can cause confusing and
flakey errors at build time.
Now, only one instance of ngcc can run at a time. If a second instance
tries to execute it fails with an appropriate error message.
See #32431 (comment)