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

tools: prevent js2c from running if nothing changed #33844

Closed
wants to merge 1 commit into from

Conversation

danbev
Copy link
Contributor

@danbev danbev commented Jun 11, 2020

This commit updates tools/js2c.py to touch the target output file
, <(SHARED_INTERMEDIATE_DIR)/node_javascript.cc, even if the content
has not changed. This is to "help" the build system so that it can
compare the inputs against the output to determine if the gyp action
should be run.

I believe the issue here is that if js2c.py is updated this can
cause the action to be run as the node_javascript.cc target would be
older than js2c.py. But when the target is run the timestamp for
node_javascript.cc will not be updated (because we have not changed
anything that would change the contents of the file) so the js2c.py
prerequisite will always be passed and the target always run.

Using the update in this commit one would have to touch/modify one of
the js files specified in the library_files list, config.gypi, or
tools/js2c.py for this action to be run again.

@nodejs/build-files

Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • commit message follows commit guidelines

This commit updates tools/js2c.py to touch the target output file
, <(SHARED_INTERMEDIATE_DIR)/node_javascript.cc, even if the content
has not changed. This is to "help" the build system so that it can
compare the inputs against the output to determine if the gyp action
should be run.

I believe the issue here is that if js2c.py is updated this can
cause the action to be run as the node_javascript.cc target would be
older than js2c.py. But when the target is run the timestamp for
node_javascript.cc will not be updated (because we have not changed
anything that would change the contents of the file) so the js2c.py
prerequisite will always be passed and the target always run.

Using the update in this commit one would have to touch/modify one of
the js files specified in the library_files list, config.gypi, or
tools/js2c.py for this action to be run again.
@nodejs-github-bot nodejs-github-bot added the build Issues and PRs related to build files or the CI. label Jun 11, 2020
@nodejs-github-bot
Copy link
Collaborator

danbev added a commit that referenced this pull request Jun 15, 2020
This commit updates tools/js2c.py to touch the target output file
, <(SHARED_INTERMEDIATE_DIR)/node_javascript.cc, even if the content
has not changed. This is to "help" the build system so that it can
compare the inputs against the output to determine if the gyp action
should be run.

I believe the issue here is that if js2c.py is updated this can
cause the action to be run as the node_javascript.cc target would be
older than js2c.py. But when the target is run the timestamp for
node_javascript.cc will not be updated (because we have not changed
anything that would change the contents of the file) so the js2c.py
prerequisite will always be passed and the target always run.

Using the update in this commit one would have to touch/modify one of
the js files specified in the library_files list, config.gypi, or
tools/js2c.py for this action to be run again.

PR-URL: #33844
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
@danbev
Copy link
Contributor Author

danbev commented Jun 15, 2020

Landed in f645cc7.

@danbev danbev closed this Jun 15, 2020
@danbev danbev deleted the node_js2c_rebuild branch June 15, 2020 04:12
codebytere pushed a commit that referenced this pull request Jun 18, 2020
This commit updates tools/js2c.py to touch the target output file
, <(SHARED_INTERMEDIATE_DIR)/node_javascript.cc, even if the content
has not changed. This is to "help" the build system so that it can
compare the inputs against the output to determine if the gyp action
should be run.

I believe the issue here is that if js2c.py is updated this can
cause the action to be run as the node_javascript.cc target would be
older than js2c.py. But when the target is run the timestamp for
node_javascript.cc will not be updated (because we have not changed
anything that would change the contents of the file) so the js2c.py
prerequisite will always be passed and the target always run.

Using the update in this commit one would have to touch/modify one of
the js files specified in the library_files list, config.gypi, or
tools/js2c.py for this action to be run again.

PR-URL: #33844
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
@codebytere codebytere mentioned this pull request Jun 28, 2020
codebytere pushed a commit that referenced this pull request Jun 30, 2020
This commit updates tools/js2c.py to touch the target output file
, <(SHARED_INTERMEDIATE_DIR)/node_javascript.cc, even if the content
has not changed. This is to "help" the build system so that it can
compare the inputs against the output to determine if the gyp action
should be run.

I believe the issue here is that if js2c.py is updated this can
cause the action to be run as the node_javascript.cc target would be
older than js2c.py. But when the target is run the timestamp for
node_javascript.cc will not be updated (because we have not changed
anything that would change the contents of the file) so the js2c.py
prerequisite will always be passed and the target always run.

Using the update in this commit one would have to touch/modify one of
the js files specified in the library_files list, config.gypi, or
tools/js2c.py for this action to be run again.

PR-URL: #33844
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
codebytere pushed a commit that referenced this pull request Jul 10, 2020
This commit updates tools/js2c.py to touch the target output file
, <(SHARED_INTERMEDIATE_DIR)/node_javascript.cc, even if the content
has not changed. This is to "help" the build system so that it can
compare the inputs against the output to determine if the gyp action
should be run.

I believe the issue here is that if js2c.py is updated this can
cause the action to be run as the node_javascript.cc target would be
older than js2c.py. But when the target is run the timestamp for
node_javascript.cc will not be updated (because we have not changed
anything that would change the contents of the file) so the js2c.py
prerequisite will always be passed and the target always run.

Using the update in this commit one would have to touch/modify one of
the js files specified in the library_files list, config.gypi, or
tools/js2c.py for this action to be run again.

PR-URL: #33844
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
@codebytere codebytere mentioned this pull request Jul 13, 2020
codebytere pushed a commit that referenced this pull request Jul 14, 2020
This commit updates tools/js2c.py to touch the target output file
, <(SHARED_INTERMEDIATE_DIR)/node_javascript.cc, even if the content
has not changed. This is to "help" the build system so that it can
compare the inputs against the output to determine if the gyp action
should be run.

I believe the issue here is that if js2c.py is updated this can
cause the action to be run as the node_javascript.cc target would be
older than js2c.py. But when the target is run the timestamp for
node_javascript.cc will not be updated (because we have not changed
anything that would change the contents of the file) so the js2c.py
prerequisite will always be passed and the target always run.

Using the update in this commit one would have to touch/modify one of
the js files specified in the library_files list, config.gypi, or
tools/js2c.py for this action to be run again.

PR-URL: #33844
Reviewed-By: Richard Lau <riclau@uk.ibm.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants