Title: [285175] trunk/Tools
Revision
285175
Author
jbed...@apple.com
Date
2021-11-02 12:35:25 -0700 (Tue, 02 Nov 2021)

Log Message

[webkitscmpy] Reduce autoinstalls on import
https://bugs.webkit.org/show_bug.cgi?id=232574
<rdar://problem/84894275>

Reviewed by Stephanie Lewis.

* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Remove whichcraft (webkitcorepy registers it).
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: Remove unused webkitscmpy imports.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py: Remote unused webkitcorepy import.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py: Move whichcraft to function.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: Move jinja2 to function.
* Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py: Move fasteners, xmltodict import to functions.

Canonical link: https://commits.webkit.org/243809@main

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (285174 => 285175)


--- trunk/Tools/ChangeLog	2021-11-02 19:31:47 UTC (rev 285174)
+++ trunk/Tools/ChangeLog	2021-11-02 19:35:25 UTC (rev 285175)
@@ -1,3 +1,18 @@
+2021-11-02  Jonathan Bedard  <jbed...@apple.com>
+
+        [webkitscmpy] Reduce autoinstalls on import
+        https://bugs.webkit.org/show_bug.cgi?id=232574
+        <rdar://problem/84894275>
+
+        Reviewed by Stephanie Lewis.
+
+        * Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Remove whichcraft (webkitcorepy registers it).
+        * Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py: Remove unused webkitscmpy imports.
+        * Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py: Remote unused webkitcorepy import.
+        * Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py: Move whichcraft to function.
+        * Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py: Move jinja2 to function.
+        * Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py: Move fasteners, xmltodict import to functions.
+
 2021-11-02  Kate Cheney  <katherine_che...@apple.com>
 
         PCM: Safari on iOS and macOS are not sending ad click attribution reports for Private Click Measurement

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (285174 => 285175)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py	2021-11-02 19:31:47 UTC (rev 285174)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py	2021-11-02 19:35:25 UTC (rev 285175)
@@ -51,7 +51,6 @@
 AutoInstall.register(Package('fasteners', Version(0, 15, 0)))
 AutoInstall.register(Package('jinja2', Version(2, 11, 3)))
 AutoInstall.register(Package('monotonic', Version(1, 5)))
-AutoInstall.register(Package('whichcraft', Version(0, 6, 1)))
 AutoInstall.register(Package('xmltodict', Version(0, 11, 0)))
 AutoInstall.register(Package('markupsafe', Version(1, 1, 1), pypi_name='MarkupSafe'))
 

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py (285174 => 285175)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py	2021-11-02 19:31:47 UTC (rev 285174)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py	2021-11-02 19:35:25 UTC (rev 285175)
@@ -35,7 +35,7 @@
 
 from webkitcorepy import run, decorators, NestedFuzzyDict
 from webkitscmpy.local import Scm
-from webkitscmpy import remote, Commit, Contributor, log
+from webkitscmpy import remote
 from webkitscmpy import Commit, Contributor, log
 
 

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py (285174 => 285175)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py	2021-11-02 19:31:47 UTC (rev 285174)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/scm.py	2021-11-02 19:35:25 UTC (rev 285175)
@@ -25,7 +25,6 @@
 import re
 import six
 
-from webkitcorepy import run
 from webkitscmpy import ScmBase, Contributor
 
 

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py (285174 => 285175)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py	2021-11-02 19:31:47 UTC (rev 285174)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py	2021-11-02 19:35:25 UTC (rev 285175)
@@ -29,7 +29,6 @@
 
 from webkitcorepy import Terminal
 from webkitscmpy.commit import Commit
-from whichcraft import which
 
 
 class Command(object):
@@ -104,6 +103,8 @@
 
     @classmethod
     def pager(cls, args, repository, file=None, **kwargs):
+        from whichcraft import which
+
         if not repository.path:
             sys.stderr.write("Cannot run '{}' on remote repository\n".format(cls.name))
             return 1

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py (285174 => 285175)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py	2021-11-02 19:31:47 UTC (rev 285174)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py	2021-11-02 19:35:25 UTC (rev 285175)
@@ -25,7 +25,6 @@
 import sys
 
 from .command import Command
-from jinja2 import Template
 from requests.auth import HTTPBasicAuth
 from webkitcorepy import arguments, run, Editor, Terminal
 from webkitscmpy import log, local, remote
@@ -155,6 +154,7 @@
                     continue
                 log.warning('Configuring and copying hook {}'.format(source_path))
                 with open(source_path, 'r') as f:
+                    from jinja2 import Template
                     contents = Template(f.read()).render(
                         git=local.Git.executable(),
                         location=source_path,

Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py (285174 => 285175)


--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py	2021-11-02 19:31:47 UTC (rev 285174)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/svn.py	2021-11-02 19:35:25 UTC (rev 285175)
@@ -22,13 +22,11 @@
 
 import bisect
 import calendar
-import fasteners
 import json
 import os
 import re
 import requests
 import tempfile
-import xmltodict
 
 from datetime import datetime
 
@@ -100,6 +98,8 @@
 
     @decorators.Memoize(cached=False)
     def info(self, branch=None, revision=None, tag=None):
+        import xmltodict
+
         if tag and branch:
             raise ValueError('Cannot specify both branch and tag')
         if tag and revision:
@@ -163,6 +163,8 @@
         return 'trunk'
 
     def list(self, category):
+        import xmltodict
+
         revision = self._latest()
         if not revision:
             return []
@@ -203,6 +205,7 @@
         return self.list('tags')
 
     def _cache_lock(self):
+        import fasteners
         return fasteners.InterProcessLock(os.path.join(os.path.dirname(self._cache_path), 'cache.lock'))
 
     def _cache_revisions(self, branch=None):
@@ -282,6 +285,8 @@
         return self._metadata_cache[branch]
 
     def _branch_for(self, revision):
+        import xmltodict
+
         response = requests.request(
             method='REPORT',
             url=''.format(self.url, revision),
@@ -332,6 +337,8 @@
         return self._commit_count(revision=self._metadata_cache[branch][0], branch=self.default_branch)
 
     def commit(self, hash=None, revision=None, identifier=None, branch=None, tag=None, include_log=True, include_identifier=True):
+        import xmltodict
+
         if hash:
             raise ValueError('SVN does not support Git hashes')
 
@@ -456,6 +463,8 @@
         )
 
     def _args_from_content(self, content, include_log=True):
+        import xmltodict
+
         xml = xmltodict.parse(content)
         date = datetime.strptime(string_utils.decode(xml['S:log-item']['S:date']).split('.')[0], '%Y-%m-%dT%H:%M:%S')
         name = string_utils.decode(xml['S:log-item']['D:creator-displayname'])
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to