diff options
author | iancottrell@chromium.org <iancottrell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-09 19:29:35 +0000 |
---|---|---|
committer | iancottrell@chromium.org <iancottrell@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-09 19:29:35 +0000 |
commit | a646254455c93230de5706ae14aaad112283cea9 (patch) | |
tree | d8435a9814c508595f3379a7e0ef16e533fdc868 | |
parent | dd10d4ef931ea2b56e380d15ed2503761128c5db (diff) | |
download | chromium_src-a646254455c93230de5706ae14aaad112283cea9.zip chromium_src-a646254455c93230de5706ae14aaad112283cea9.tar.gz chromium_src-a646254455c93230de5706ae14aaad112283cea9.tar.bz2 |
[cr tool] Fixing import problems
BUG=327999
Review URL: https://codereview.chromium.org/116363002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@243952 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | tools/cr/cr/actions/gdb.py | 13 | ||||
-rw-r--r-- | tools/cr/cr/actions/ninja.py | 4 | ||||
-rw-r--r-- | tools/cr/cr/commands/sync.py | 16 | ||||
-rw-r--r-- | tools/cr/cr/plugin.py | 6 |
4 files changed, 20 insertions, 19 deletions
diff --git a/tools/cr/cr/actions/gdb.py b/tools/cr/cr/actions/gdb.py index d93fe27..64386db 100644 --- a/tools/cr/cr/actions/gdb.py +++ b/tools/cr/cr/actions/gdb.py @@ -30,11 +30,10 @@ class GdbDebugger(cr.Debugger): def Attach(self, context, targets, arguments): raise NotImplementedError('Attach not currently supported for gdb.') + @classmethod + def ClassInit(cls): + # Attempt to find a valid gdb on the path. + gdb_binaries = cr.Host.SearchPath('gdb') + if gdb_binaries: + cls.DETECTED.Set(CR_GDB=gdb_binaries[0]) -def _DetectGdb(): - """Attempts to find a valid gdb on the path.""" - gdb_binaries = cr.Host.SearchPath('gdb') - if gdb_binaries: - GdbDebugger.DETECTED.Set(CR_GDB=gdb_binaries[0]) - -_DetectGdb() diff --git a/tools/cr/cr/actions/ninja.py b/tools/cr/cr/actions/ninja.py index 404e6ca..fda217a 100644 --- a/tools/cr/cr/actions/ninja.py +++ b/tools/cr/cr/actions/ninja.py @@ -77,10 +77,8 @@ class NinjaBuilder(cr.Builder): return self._targets @classmethod - def DetectNinja(cls): + def ClassInit(cls): # TODO(iancottrell): If we can't detect ninja, we should be disabled. ninja_binaries = cr.Host.SearchPath('ninja') if ninja_binaries: cls.DETECTED.Set(NINJA_BINARY=ninja_binaries[0]) - -NinjaBuilder.DetectNinja() diff --git a/tools/cr/cr/commands/sync.py b/tools/cr/cr/commands/sync.py index cef9b7a..4f5232ab 100644 --- a/tools/cr/cr/commands/sync.py +++ b/tools/cr/cr/commands/sync.py @@ -44,12 +44,10 @@ class SyncCommand(cr.Command): cr.Host.Execute(context, '{GCLIENT_BINARY}', 'sync', *context.remains) -def _AutoDetectGClient(): - """Attempts to detect gclient and it's parent repository.""" - gclient_binaries = cr.Host.SearchPath('gclient') - if gclient_binaries: - SyncCommand.DETECTED.Set(GCLIENT_BINARY=gclient_binaries[0]) - SyncCommand.DETECTED.Set(DEPOT_TOOLS=os.path.dirname(gclient_binaries[0])) - -# Invoke the auto detection -_AutoDetectGClient() + @classmethod + def ClassInit(cls): + # Attempt to detect gclient and it's parent repository. + gclient_binaries = cr.Host.SearchPath('gclient') + if gclient_binaries: + cls.DETECTED.Set(GCLIENT_BINARY=gclient_binaries[0]) + cls.DETECTED.Set(DEPOT_TOOLS=os.path.dirname(gclient_binaries[0])) diff --git a/tools/cr/cr/plugin.py b/tools/cr/cr/plugin.py index 05a02cb..eccd869 100644 --- a/tools/cr/cr/plugin.py +++ b/tools/cr/cr/plugin.py @@ -182,6 +182,10 @@ class Plugin(cr.loader.AutoExport): getattr(self, config_root.property_name).enabled = False @classmethod + def ClassInit(cls): + pass + + @classmethod def GetInstance(cls): """Gets an instance of this plugin. @@ -193,6 +197,8 @@ class Plugin(cr.loader.AutoExport): """ plugin = _plugins.get(cls, None) if plugin is None: + # Run delayed class initialization + cls.ClassInit() # Build a new instance of cls, and register it as the main instance. plugin = cls() _plugins[cls] = plugin |