<?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>236995</bug_id>
          
          <creation_ts>2022-02-21 13:46:00 -0800</creation_ts>
          <short_desc>Use ArgumentParser for parsing args in generate-compile-commands</short_desc>
          <delta_ts>2022-02-21 22:45:21 -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>Tools / Tests</component>
          <version>Other</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="Brandon">brandonstewart</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>emw</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1844368</commentid>
    <comment_count>0</comment_count>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-02-21 13:46:00 -0800</bug_when>
    <thetext>Use ArgumentParser for parsing args in generate-compile-commands</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844372</commentid>
    <comment_count>1</comment_count>
      <attachid>452771</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-02-21 13:49:05 -0800</bug_when>
    <thetext>Created attachment 452771
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844383</commentid>
    <comment_count>2</comment_count>
      <attachid>452771</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2022-02-21 14:12:51 -0800</bug_when>
    <thetext>Comment on attachment 452771
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=452771&amp;action=review

&gt; Tools/Scripts/generate-compile-commands:39
&gt; +parser = argparse.ArgumentParser(description=&apos;Generate compile_commands.json&apos;, usage=&apos;generate-compile-commands WebKitBuild/Release&apos;)

Can/should this say something about how it&apos;s used overall, via `make EXPORT_COMPILE_COMMANDS=YES`? I&apos;ve been following this project relatively closely, and yet I&apos;m not sure how to set up code completion in BBEdit using this.

Or maybe there could be a wiki page, linked from here.

&gt; Tools/Scripts/generate-compile-commands:40
&gt; +parser.add_argument(&apos;built_products_dir&apos;, help=&apos;path to the build directory containing generated compile commands (ex: WebKitBuild/Release)&apos;)

This seems like it should be required=True</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844474</commentid>
    <comment_count>3</comment_count>
    <who name="Elliott Williams">emw</who>
    <bug_when>2022-02-21 17:36:57 -0800</bug_when>
    <thetext>LGTM!

(In reply to Alexey Proskuryakov from comment #2)
&gt; 
&gt; &gt; Tools/Scripts/generate-compile-commands:40
&gt; &gt; +parser.add_argument(&apos;built_products_dir&apos;, help=&apos;path to the build directory containing generated compile commands (ex: WebKitBuild/Release)&apos;)
&gt; 
&gt; This seems like it should be required=True

Positional arguments are `required` by default, so it should be fine as-is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844505</commentid>
    <comment_count>4</comment_count>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-02-21 18:38:03 -0800</bug_when>
    <thetext>(In reply to Alexey Proskuryakov from comment #2)
&gt; Comment on attachment 452771 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=452771&amp;action=review
&gt; 
&gt; &gt; Tools/Scripts/generate-compile-commands:39
&gt; &gt; +parser = argparse.ArgumentParser(description=&apos;Generate compile_commands.json&apos;, usage=&apos;generate-compile-commands WebKitBuild/Release&apos;)
&gt; 
&gt; Can/should this say something about how it&apos;s used overall, via `make
&gt; EXPORT_COMPILE_COMMANDS=YES`? I&apos;ve been following this project relatively
&gt; closely, and yet I&apos;m not sure how to set up code completion in BBEdit using
&gt; this.
&gt; 
&gt; Or maybe there could be a wiki page, linked from here.
&gt; 

Created a page on trac on how to setup clangd.
https://trac.webkit.org/wiki/Clangd

It may be useful to link to the trac page in this command.

&gt; &gt; Tools/Scripts/generate-compile-commands:40
&gt; &gt; +parser.add_argument(&apos;built_products_dir&apos;, help=&apos;path to the build directory containing generated compile commands (ex: WebKitBuild/Release)&apos;)
&gt; 
&gt; This seems like it should be required=True

If you call generate-compile-comamnds without an argument it will throw an error with a description on how to use it.

&gt; generate-compile-commands
usage: generate-compile-commands WebKitBuild/Release
generate-compile-commands: error: the following arguments are required: built_products_dir</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844523</commentid>
    <comment_count>5</comment_count>
      <attachid>452817</attachid>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-02-21 19:38:27 -0800</bug_when>
    <thetext>Created attachment 452817
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844524</commentid>
    <comment_count>6</comment_count>
    <who name="Brandon">brandonstewart</who>
    <bug_when>2022-02-21 19:39:15 -0800</bug_when>
    <thetext>Added better documentation on usage

&gt; generate-compile-commands -h
usage:
                  make r EXPORT_COMPILE_COMMANDS=YES
                  generate-compile-commands WebKitBuild/Release

                  https://trac.webkit.org/wiki/Clangd


Generate compile_commands.json

positional arguments:
  built_products_dir  path to the build directory containing generated compile commands (ex:
                      WebKitBuild/Release)

optional arguments:
  -h, --help          show this help message and exit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844554</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-02-21 22:44:52 -0800</bug_when>
    <thetext>Committed r290289 (247613@main): &lt;https://commits.webkit.org/247613@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 452817.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1844555</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-02-21 22:45:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/89276925&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452771</attachid>
            <date>2022-02-21 13:49:05 -0800</date>
            <delta_ts>2022-02-21 19:38:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236995-20220221134904.patch</filename>
            <type>text/plain</type>
            <size>1851</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMjU2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzhkZTVjN2U1MDMxYzFmNzE4MGQyZmMyZDYwMTBmNGEz
NTQzYjcxOS4uNjM2YzcxYjg5OGZhN2Q0ZDNlMTAyYzA4OTcwNWE2ZTJiYjNlZjA1OSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDIyLTAyLTIxICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5j
b20+CisKKyAgICAgICAgVXNlIEFyZ3VtZW50UGFyc2VyIGZvciBwYXJzaW5nIGFyZ3MgaW4gZ2Vu
ZXJhdGUtY29tcGlsZS1jb21tYW5kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM2OTk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVXNlIGFyZ3VtZW50IHBhcnNlciBpbnN0ZWFkIG9mIHN5cy5hcmd2WzFd
IGZvciBnZXR0aW5nIGJ1aWxkIGRpci4KKworICAgICAgICAqIFNjcmlwdHMvZ2VuZXJhdGUtY29t
cGlsZS1jb21tYW5kczoKKwogMjAyMi0wMi0xNyAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBh
cHBsZS5jb20+CiAKICAgICAgICAgW3J1bi13ZWJraXQtdGVzdHNdIFVzZSBQeXRob24gMyAoUGFy
dCAxKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1jb21waWxlLWNvbW1hbmRz
IGIvVG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1jb21waWxlLWNvbW1hbmRzCmluZGV4IDk1MmM4MjY4
ZGE3Y2Q1ZDA0MWE4MDE4NDMyNzNlMThmNmZkNzZjZmUuLjFlYTcwNWUwY2QzZjNhNmE5OWIwNDFk
MWM2OTk4NzdhYTEwOTIxNzIgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtY29t
cGlsZS1jb21tYW5kcworKysgYi9Ub29scy9TY3JpcHRzL2dlbmVyYXRlLWNvbXBpbGUtY29tbWFu
ZHMKQEAgLTMzLDYgKzMzLDEyIEBAIGltcG9ydCBvcwogaW1wb3J0IHN5cwogaW1wb3J0IGdsb2IK
IGltcG9ydCBqc29uCitpbXBvcnQgYXJncGFyc2UKKworIyBHZXQgY29tbWFuZCBsaW5lIGFyZ3MK
K3BhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKGRlc2NyaXB0aW9uPSdHZW5lcmF0ZSBj
b21waWxlX2NvbW1hbmRzLmpzb24nLCB1c2FnZT0nZ2VuZXJhdGUtY29tcGlsZS1jb21tYW5kcyBX
ZWJLaXRCdWlsZC9SZWxlYXNlJykKK3BhcnNlci5hZGRfYXJndW1lbnQoJ2J1aWx0X3Byb2R1Y3Rz
X2RpcicsIGhlbHA9J3BhdGggdG8gdGhlIGJ1aWxkIGRpcmVjdG9yeSBjb250YWluaW5nIGdlbmVy
YXRlZCBjb21waWxlIGNvbW1hbmRzIChleDogV2ViS2l0QnVpbGQvUmVsZWFzZSknKQorb3B0cyA9
IHBhcnNlci5wYXJzZV9hcmdzKCkKIAogIyBDaGFuZ2UgdG8gdGhlIHJvb3Qgb2YgV2ViS2l0IERp
cmVjdG9yeQogZmlsZV9kaXIgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5yZWFscGF0aChfX2Zp
bGVfXykpCkBAIC00MCw3ICs0Niw3IEBAIGJhc2VfZGlyID0gZmlsZV9kaXIgKyAiLy4uLy4uLyIK
IG9zLmNoZGlyKGJhc2VfZGlyKQogCiAjIENoZWNrIGNvbXBpbGVfY29tbWFuZHMgZm9sZGVyIGV4
aXN0cwotY29tcGlsZV9jb21tYW5kc19kaXIgPSBzeXMuYXJndlsxXSArICIvY29tcGlsZV9jb21t
YW5kcy8iCitjb21waWxlX2NvbW1hbmRzX2RpciA9IG9wdHMuYnVpbHRfcHJvZHVjdHNfZGlyICsg
Ii9jb21waWxlX2NvbW1hbmRzLyIKIAogaWYgbm90IG9zLnBhdGguZXhpc3RzKGNvbXBpbGVfY29t
bWFuZHNfZGlyKToKICAgICBwcmludCgiUGxlYXNlIHNwZWNpZnkgdGhlIGJ1aWxkIGRpcmVjdG9y
eSB3aXRoIGNvbXBpbGVfY29tbWFuZHMuIikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>452817</attachid>
            <date>2022-02-21 19:38:27 -0800</date>
            <delta_ts>2022-02-21 22:44:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-236995-20220221193826.patch</filename>
            <type>text/plain</type>
            <size>2022</size>
            <attacher name="Brandon">brandonstewart</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkwMjU2CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cg
Yi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYzhkZTVjN2U1MDMxYzFmNzE4MGQyZmMyZDYwMTBmNGEz
NTQzYjcxOS4uNjM2YzcxYjg5OGZhN2Q0ZDNlMTAyYzA4OTcwNWE2ZTJiYjNlZjA1OSAxMDA2NDQK
LS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0
IEBACisyMDIyLTAyLTIxICBCcmFuZG9uIFN0ZXdhcnQgIDxicmFuZG9uc3Rld2FydEBhcHBsZS5j
b20+CisKKyAgICAgICAgVXNlIEFyZ3VtZW50UGFyc2VyIGZvciBwYXJzaW5nIGFyZ3MgaW4gZ2Vu
ZXJhdGUtY29tcGlsZS1jb21tYW5kcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjM2OTk1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVXNlIGFyZ3VtZW50IHBhcnNlciBpbnN0ZWFkIG9mIHN5cy5hcmd2WzFd
IGZvciBnZXR0aW5nIGJ1aWxkIGRpci4KKworICAgICAgICAqIFNjcmlwdHMvZ2VuZXJhdGUtY29t
cGlsZS1jb21tYW5kczoKKwogMjAyMi0wMi0xNyAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBh
cHBsZS5jb20+CiAKICAgICAgICAgW3J1bi13ZWJraXQtdGVzdHNdIFVzZSBQeXRob24gMyAoUGFy
dCAxKQpkaWZmIC0tZ2l0IGEvVG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1jb21waWxlLWNvbW1hbmRz
IGIvVG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1jb21waWxlLWNvbW1hbmRzCmluZGV4IDk1MmM4MjY4
ZGE3Y2Q1ZDA0MWE4MDE4NDMyNzNlMThmNmZkNzZjZmUuLjFjM2YwYmYxOWRlZTRmOGU4M2Y4MTRm
MzE0OTEwNjU2NzA5YmZhN2MgMTAwNzU1Ci0tLSBhL1Rvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtY29t
cGlsZS1jb21tYW5kcworKysgYi9Ub29scy9TY3JpcHRzL2dlbmVyYXRlLWNvbXBpbGUtY29tbWFu
ZHMKQEAgLTMzLDYgKzMzLDE5IEBAIGltcG9ydCBvcwogaW1wb3J0IHN5cwogaW1wb3J0IGdsb2IK
IGltcG9ydCBqc29uCitpbXBvcnQgYXJncGFyc2UKKworIyBHZXQgY29tbWFuZCBsaW5lIGFyZ3MK
K3BhcnNlciA9IGFyZ3BhcnNlLkFyZ3VtZW50UGFyc2VyKGRlc2NyaXB0aW9uPSdHZW5lcmF0ZSBj
b21waWxlX2NvbW1hbmRzLmpzb24nLCAKKyAgICAgICAgICAgIHVzYWdlPSIiIgorICAgICAgICAg
ICAgICAgICAgbWFrZSByIEVYUE9SVF9DT01QSUxFX0NPTU1BTkRTPVlFUworICAgICAgICAgICAg
ICAgICAgZ2VuZXJhdGUtY29tcGlsZS1jb21tYW5kcyBXZWJLaXRCdWlsZC9SZWxlYXNlCisKKyAg
ICAgICAgICAgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL3dpa2kvQ2xhbmdkCisgICAg
ICAgICAgICAgICAgICAiIiIpCisKK3BhcnNlci5hZGRfYXJndW1lbnQoJ2J1aWx0X3Byb2R1Y3Rz
X2RpcicsIGhlbHA9J3BhdGggdG8gdGhlIGJ1aWxkIGRpcmVjdG9yeSBjb250YWluaW5nIGdlbmVy
YXRlZCBjb21waWxlIGNvbW1hbmRzIChleDogV2ViS2l0QnVpbGQvUmVsZWFzZSknKQorb3B0cyA9
IHBhcnNlci5wYXJzZV9hcmdzKCkKIAogIyBDaGFuZ2UgdG8gdGhlIHJvb3Qgb2YgV2ViS2l0IERp
cmVjdG9yeQogZmlsZV9kaXIgPSBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5yZWFscGF0aChfX2Zp
bGVfXykpCkBAIC00MCw3ICs1Myw3IEBAIGJhc2VfZGlyID0gZmlsZV9kaXIgKyAiLy4uLy4uLyIK
IG9zLmNoZGlyKGJhc2VfZGlyKQogCiAjIENoZWNrIGNvbXBpbGVfY29tbWFuZHMgZm9sZGVyIGV4
aXN0cwotY29tcGlsZV9jb21tYW5kc19kaXIgPSBzeXMuYXJndlsxXSArICIvY29tcGlsZV9jb21t
YW5kcy8iCitjb21waWxlX2NvbW1hbmRzX2RpciA9IG9wdHMuYnVpbHRfcHJvZHVjdHNfZGlyICsg
Ii9jb21waWxlX2NvbW1hbmRzLyIKIAogaWYgbm90IG9zLnBhdGguZXhpc3RzKGNvbXBpbGVfY29t
bWFuZHNfZGlyKToKICAgICBwcmludCgiUGxlYXNlIHNwZWNpZnkgdGhlIGJ1aWxkIGRpcmVjdG9y
eSB3aXRoIGNvbXBpbGVfY29tbWFuZHMuIikK
</data>

          </attachment>
      

    </bug>

</bugzilla>