<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>234941</bug_id>
          
          <creation_ts>2022-01-06 17:55:22 -0800</creation_ts>
          <short_desc>postprocess-headers.sh: Avoid redundant processing to speed up incremental Xcode builds</short_desc>
          <delta_ts>2022-01-10 09:11:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Elliott Williams">emw</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>jbedard</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1828791</commentid>
    <comment_count>0</comment_count>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-01-06 17:55:22 -0800</bug_when>
    <thetext>postprocess-headers.sh: Avoid redundant processing to speed up incremental Xcode builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1828792</commentid>
    <comment_count>1</comment_count>
      <attachid>448552</attachid>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-01-06 18:01:16 -0800</bug_when>
    <thetext>Created attachment 448552
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1829149</commentid>
    <comment_count>2</comment_count>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-01-07 17:23:07 -0800</bug_when>
    <thetext>Alexey &lt;ap@webkit.org&gt; pointed me to similar patches in the past that have caused problems. I don&apos;t think they invalidate my approach here, but am curious to hear if you think otherwise:

- https://bugs.webkit.org/show_bug.cgi?id=220239
- https://bugs.webkit.org/show_bug.cgi?id=166810

These involved conditionally skipping a write to a file when its prerequisites changed. Skipping writes meant not updating an output file&apos;s modification time, which caused the respective scripts to execute on every rebuild after it had decided to skip writing an output file.

This patch determines whether *Xcode* skipped a copy, and only skips postprocessing if Xcode skipped copying. Skipping postprocessing should not lead to situations where Xcode tries to copy a header repeatedly, since Xcode&apos;s build system is not interested in whether this script runs at all.

- https://bugs.webkit.org/show_bug.cgi?id=77510

I&apos;m not sure how this one is related -- seems like it ultimately caused problems because of complex Make logic that broke rebuilds.

--

It&apos;s worth noting that we only have postprocess-headers.sh because APPLY_RULES_IN_COPY_FILES is not supported by the legacy build system. Changing it to only process a file once per copy matches behavior we get from the copy file build rule in XCBuild.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1829492</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-01-10 09:10:31 -0800</bug_when>
    <thetext>Committed r287837 (245889@main): &lt;https://commits.webkit.org/245889@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 448552.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1829493</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-01-10 09:11:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/87343965&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>448552</attachid>
            <date>2022-01-06 18:01:16 -0800</date>
            <delta_ts>2022-01-10 09:10:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-234941-20220106180115.patch</filename>
            <type>text/plain</type>
            <size>3818</size>
            <attacher name="Elliott Williams">emw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg3NTk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA2
OTJmZjgzYmJiZDYzYzc1NDg3MDg5MmEwNjhhZGZkYjViOWQ3YmJjLi4yZGNlNzBiOTE4YjZmNWNl
ZGZjNDQyYTVhNWFhNzY1OTU4NTBhOWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMCBAQAorMjAyMi0wMS0wNiAgRWxsaW90dCBXaWxsaWFtcyAgPGVtd0BhcHBsZS5jb20+
CisKKyAgICAgICAgcG9zdHByb2Nlc3MtaGVhZGVycy5zaDogQXZvaWQgcmVkdW5kYW50IHByb2Nl
c3NpbmcgdG8gc3BlZWQgdXAgaW5jcmVtZW50YWwgWGNvZGUgYnVpbGRzCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzQ5NDEKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBPbiBidWlsZHMgbWFkZSB3aXRoIHRo
ZSBsZWdhY3kgYnVpbGQgc3lzdGVtIChjdXJyZW50bHkgYW55IENMSSBidWlsZCBmb3IgQXBwbGUg
cGxhdGZvcm1zKSwKKyAgICAgICAgcG9zdHByb2Nlc3MtaGVhZGVycy5zaCBhbHdheXMgcnVucywg
ZXZlbiB3aGVuIG5vIGhlYWRlcnMgaGF2ZSBiZWVuIGNvcGllZC4gUEJYQnVpbGQgZG9lc24ndAor
ICAgICAgICBoYXZlIHRoZSBuZWNlc3NhcnkgZ3JhbnVsYXJpdHkgdG8gbGV0IHVzIGF2b2lkIHJ1
bm5pbmcgaXQgd2hlbiB0aGVyZSBhcmUgbm8gaGVhZGVycyB0byBjb3B5LAorICAgICAgICBob3dl
dmVyLCB0aGlzIHBhdGNoIGltcHJvdmVzIGV4ZWN1dGlvbiB0aW1lIGJ5IG9ubHkgcnVubmluZyB0
aGUgcG9zdHByb2Nlc3MgcnVsZSB3aGVuIGEKKyAgICAgICAgaGVhZGVyIGhhcyBjaGFuZ2VkIHNp
bmNlIHRoZSBsYXN0IHRpbWUgaXQgcmFuLgorCisgICAgICAgIFRoaXMgY2hhbmdlIHJlZHVjZXMg
SmF2YVNjcmlwdENvcmUncyBudWxsIGJ1aWxkIHRpbWUgZnJvbSB+MTguM3MgdG8gfjUuMzJzLgor
CisgICAgICAgICogcG9zdHByb2Nlc3MtaGVhZGVycy5zaDogQWRkZWQgdGltZXN0YW1wIGNoZWNr
CisKIDIwMjItMDEtMDQgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbSlNDXSBSZW1vdmUgbV9jYWxsZWVTYXZlUmVnaXN0ZXJzIGZyb20gQ29kZUJsb2NrOjpK
SVREYXRhIGFuZCByZW5hbWUgaXQgdG8gQmFzZWxpbmVKSVREYXRhCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0TGVnYWN5L21hYy9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9D
aGFuZ2VMb2cKaW5kZXggMTdjZGE1YWM3NzBhN2NkMDc5ZDhkYjY2NjlhNjdmYTI1MzhmMmIwYi4u
ZWNiZjQyYzFjN2I1NmM3ZGViMmRkMzIxZTdhZDE5NWM0MWIyMjk3NyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXRMZWdhY3kv
bWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIyLTAxLTA2ICBFbGxpb3R0IFdpbGxp
YW1zICA8ZW13QGFwcGxlLmNvbT4KKworICAgICAgICBwb3N0cHJvY2Vzcy1oZWFkZXJzLnNoOiBB
dm9pZCByZWR1bmRhbnQgcHJvY2Vzc2luZyB0byBzcGVlZCB1cCBpbmNyZW1lbnRhbCBYY29kZSBi
dWlsZHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
NDk0MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICog
cG9zdHByb2Nlc3MtaGVhZGVycy5zaDoKKwogMjAyMi0wMS0wMiAgV2Vuc29uIEhzaWVoICA8d2Vu
c29uX2hzaWVoQGFwcGxlLmNvbT4KIAogICAgICAgICBbV2ViS2l0Ml0gQ2FtZXJhIGNvbnRpbnVp
dHkgaXMgZGlzYWJsZWQgaW4gcmljaGx5IGVkaXRhYmxlIGNvbnRlbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9wb3N0cHJvY2Vzcy1oZWFkZXJzLnNoIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Bvc3Rwcm9jZXNzLWhlYWRlcnMuc2gKaW5kZXggYmI0MGUwZGRhYjkzNDY1NGNi
YThjYTFiZWFlMDNhZDQ0NGVmOTYxNi4uM2I0ODMzOTc5N2RiODRjMzkwMWJlZTc3MGQzOTMwMTIx
MWNmOTczZiAxMDA3NTUKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bvc3Rwcm9jZXNzLWhl
YWRlcnMuc2gKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bvc3Rwcm9jZXNzLWhlYWRlcnMu
c2gKQEAgLTI2LDEwICsyNiwxMiBAQAogCiBQT1NUUFJPQ0VTU19IRUFERVJfUlVMRT0iJHtTUkNS
T09UfS9TY3JpcHRzL3Bvc3Rwcm9jZXNzLWhlYWRlci1ydWxlIgogW1sgLXggIiR7UE9TVFBST0NF
U1NfSEVBREVSX1JVTEV9IiBdXSB8fCB7IGVjaG8gIiMjIyBVbmFibGUgdG8gZmluZCAke1BPU1RQ
Uk9DRVNTX0hFQURFUl9SVUxFfSI7IGV4aXQgMTsgfQorVElNRVNUQU1QPSIke1RBUkdFVF9URU1Q
X0RJUn0vcG9zdHByb2Nlc3MtaGVhZGVycy10aW1lc3RhbXAiCiAKIGZ1bmN0aW9uIHJld3JpdGVf
aGVhZGVycyAoKQogewogICAgIGZvciBIRUFERVJfUEFUSCBpbiAiJHsxfS8iKi5oOyBkbworICAg
ICAgICBbICIke1RJTUVTVEFNUH0iIC1udCAiJHtIRUFERVJfUEFUSH0iIF0gfHwgXAogICAgICAg
ICBTQ1JJUFRfSEVBREVSX1ZJU0lCSUxJVFk9IiR7Mn0iIFwKICAgICAgICAgU0NSSVBUX0lOUFVU
X0ZJTEU9IiR7SEVBREVSX1BBVEh9IiBcCiAgICAgICAgIFNDUklQVF9PVVRQVVRfRklMRV8wPSIk
e0hFQURFUl9QQVRIfSIgXApAQCAtMzksMyArNDEsNCBAQCBmdW5jdGlvbiByZXdyaXRlX2hlYWRl
cnMgKCkKIAogcmV3cml0ZV9oZWFkZXJzICIke1RBUkdFVF9CVUlMRF9ESVJ9LyR7UFVCTElDX0hF
QURFUlNfRk9MREVSX1BBVEh9IiBQdWJsaWMKIHJld3JpdGVfaGVhZGVycyAiJHtUQVJHRVRfQlVJ
TERfRElSfS8ke1BSSVZBVEVfSEVBREVSU19GT0xERVJfUEFUSH0iIFByaXZhdGUKK3RvdWNoICIk
e1RJTUVTVEFNUH0iClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdExlZ2FjeS9tYWMvcG9zdHByb2Nlc3MtaGVhZGVycy5zaCBiL1NvdXJjZS9XZWJL
aXRMZWdhY3kvbWFjL3Bvc3Rwcm9jZXNzLWhlYWRlcnMuc2gKaW5kZXggOTE1YmFkYjE3YzgzMzI2
Y2YxNjc4ZWQ4ZDQ3OTZiMGEwNWE4NTdkMy4uYTY5ZjNkYTNmOTk1NGNlMGZkYTA0MDIwNzk0NzQ2
ZjgwNzZhNGFhOSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYktpdExlZ2FjeS9tYWMvcG9zdHByb2Nl
c3MtaGVhZGVycy5zaAorKysgYi9Tb3VyY2UvV2ViS2l0TGVnYWN5L21hYy9wb3N0cHJvY2Vzcy1o
ZWFkZXJzLnNoCkBAIC0yNiw2ICsyNiw3IEBACiAKIFBPU1RQUk9DRVNTX0hFQURFUl9SVUxFPSIk
e1NSQ1JPT1R9L3NjcmlwdHMvcG9zdHByb2Nlc3MtaGVhZGVyLXJ1bGUiCiBbWyAteCAiJHtQT1NU
UFJPQ0VTU19IRUFERVJfUlVMRX0iIF1dIHx8IHsgZWNobyAiIyMjIFVuYWJsZSB0byBmaW5kICR7
UE9TVFBST0NFU1NfSEVBREVSX1JVTEV9IjsgZXhpdCAxOyB9CitUSU1FU1RBTVA9IiR7VEFSR0VU
X1RFTVBfRElSfS9wb3N0cHJvY2Vzcy1oZWFkZXJzLXRpbWVzdGFtcCIKIAogZnVuY3Rpb24gcmV3
cml0ZV9oZWFkZXJzICgpCiB7CkBAIC0zOCwzICszOSw0IEBAIGZ1bmN0aW9uIHJld3JpdGVfaGVh
ZGVycyAoKQogfQogCiByZXdyaXRlX2hlYWRlcnMgIiR7VEFSR0VUX0JVSUxEX0RJUn0vJHtQUklW
QVRFX0hFQURFUlNfRk9MREVSX1BBVEh9IiBQcml2YXRlCit0b3VjaCAiJHtUSU1FU1RBTVB9Igo=
</data>

          </attachment>
      

    </bug>

</bugzilla>