You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gump.apache.org by le...@apache.org on 2005/06/16 21:06:43 UTC
svn commit: r190983 -
/gump/branches/Gump3/pygump/python/gump/engine/objectifier.py
Author: leosimons
Date: Thu Jun 16 12:06:43 2005
New Revision: 190983
URL: http://svn.apache.org/viewcvs?rev=190983&view=rev
Log:
Possible fix for GUMP-138.
* pygump/python/gump/engine/objectifier.py: Make the objectifier a little more robust by not halting on objectification errors, but rather logging them and attempting to continue, doing a 'partial' build.
Modified:
gump/branches/Gump3/pygump/python/gump/engine/objectifier.py
Modified: gump/branches/Gump3/pygump/python/gump/engine/objectifier.py
URL: http://svn.apache.org/viewcvs/gump/branches/Gump3/pygump/python/gump/engine/objectifier.py?rev=190983&r1=190982&r2=190983&view=diff
==============================================================================
--- gump/branches/Gump3/pygump/python/gump/engine/objectifier.py (original)
+++ gump/branches/Gump3/pygump/python/gump/engine/objectifier.py Thu Jun 16 12:06:43 2005
@@ -370,8 +370,13 @@
if not repository_definition.nodeType == dom.Node.ELEMENT_NODE: continue
name = repository_definition.getAttribute("name")
self.log.debug("Converting repository definition '%s' into object form." % name)
- repository = _create_repository(workspace, repository_definition)
- workspace.repositories[repository.name] = repository
+ try:
+ repository = _create_repository(workspace, repository_definition)
+ workspace.repositories[repository.name] = repository
+ except:
+ # TODO: the name of the failing element and ideally the source xml file should be
+ # reported somewhere and e.g. e-mailed to the gump admins
+ self.log.exception("Failed to convert repository definition '%s' into object form." % name)
def _find_repository_for_module(self, workspace, module_definition):
name = module_definition.getAttribute("name")
@@ -384,10 +389,15 @@
if not module_definition.nodeType == dom.Node.ELEMENT_NODE: continue
name = module_definition.getAttribute("name")
self.log.debug("Converting module definition '%s' into object form." % name)
- repository = self._find_repository_for_module(workspace, module_definition)
- module = _create_module(repository, module_definition)
- module.repository.modules[module.name] = module
- workspace.modules[module.name] = module
+ try:
+ repository = self._find_repository_for_module(workspace, module_definition)
+ module = _create_module(repository, module_definition)
+ module.repository.modules[module.name] = module
+ workspace.modules[module.name] = module
+ except:
+ # TODO: the name of the failing element and ideally the source xml file should be
+ # reported somewhere and e.g. e-mailed to the gump admins
+ self.log.exception("Failed to convert module definition '%s' into object form." % name)
def _find_module_for_project(self, workspace, project_definition):
name = project_definition.getAttribute("name")
@@ -400,13 +410,18 @@
if not project_definition.nodeType == dom.Node.ELEMENT_NODE: continue
name = project_definition.getAttribute("name")
self.log.debug("Converting project definition '%s' into object form." % name)
- module = self._find_module_for_project(workspace, project_definition)
- project = _create_project(module, project_definition)
- project.module.projects[project.name] = project
- workspace.projects[project.name] = project
-
- _create_commands(project, project_definition)
- _create_artifacts(project, project_definition)
+ try:
+ module = self._find_module_for_project(workspace, project_definition)
+ project = _create_project(module, project_definition)
+ project.module.projects[project.name] = project
+ workspace.projects[project.name] = project
+
+ _create_commands(project, project_definition)
+ _create_artifacts(project, project_definition)
+ except:
+ # TODO: the name of the failing element and ideally the source xml file should be
+ # reported somewhere and e.g. e-mailed to the gump admins
+ self.log.exception("Failed to convert project definition '%s' into object form." % name)
# wire up dependencies only after projects have been created
for project_definition in project_definitions: