Improved error messages for configuration errors.
Review Request #248 - Created April 1, 2011 and submitted
Alain Linden | Reviewers | ||
CHOP-180 | oz.linden, brad.linden, jenn, nat_linden | ||
None | autobuild |
Improved error messages in response to CHOP-180.
autobuild/configfile.py | |||
---|---|---|---|
Revision b6402b94b663 | New Change | ||
... | 97 lines hidden [Expand] | ||
def get_build_configuration(self, build_configuration_name, platform_name=get_current_platform()): |
|||
98 |
if build_configuration is not None: |
98 |
if build_configuration is not None: |
99 |
return build_configuration |
99 |
return build_configuration |
100 |
else: |
100 |
else: |
101 |
raise ConfigurationError("no configuration for build configuration '%s' found; one may be created using 'autobuild edit build'" % |
101 |
raise ConfigurationError("no configuration for build configuration '%s' found; one may be created using 'autobuild edit build'" % |
102 |
build_configuration_name) |
102 |
build_configuration_name) |
103 |
|
103 |
|
104 |
def get_build_directory(self, platform_name=get_current_platform()): |
104 |
def get_build_directory(self, platform_name=get_current_platform()): |
105 |
"""
|
105 |
"""
|
106 |
Returns the absolute path to the build directory for the platform.
|
106 |
Returns the absolute path to the build directory for the platform.
|
107 |
"""
|
107 |
"""
|
108 | if self.package_description is None: |
108 | platform_description = self.get_platform(platform_name) |
109 |
raise ConfigurationError("no package configuration defined; one may be created using 'autobuild edit package'") |
||
110 |
platform_description = self.package_description.platforms.get(platform_name, None) |
||
111 |
if platform_description is None: |
||
112 |
raise ConfigurationError("no configuration for platform '%s' found; one may be created using 'autobuild edit platform'" % platform_name) |
||
113 |
common_platform_description = self.package_description.platforms.get('common', None) |
109 |
common_platform_description = self.package_description.platforms.get('common', None) |
114 |
config_directory = os.path.dirname(self.path) |
110 |
config_directory = os.path.dirname(self.path) |
115 |
if platform_description.build_directory is not None: |
111 |
if platform_description.build_directory is not None: |
116 |
build_directory = platform_description.build_directory |
112 |
build_directory = platform_description.build_directory |
117 |
if not os.path.isabs(build_directory): |
113 |
if not os.path.isabs(build_directory): |
118 |
build_directory = os.path.abspath(os.path.join(config_directory, build_directory)) |
114 |
build_directory = os.path.abspath(os.path.join(config_directory, build_directory)) |
119 |
elif common_platform_description is not None and common_platform_description.build_directory is not None: |
115 |
elif common_platform_description is not None and common_platform_description.build_directory is not None: |
120 |
build_directory = common_platform_description.build_directory |
116 |
build_directory = common_platform_description.build_directory |
121 |
if not os.path.isabs(build_directory): |
117 |
if not os.path.isabs(build_directory): |
122 |
build_directory = os.path.abspath(os.path.join(config_directory, build_directory)) |
118 |
build_directory = os.path.abspath(os.path.join(config_directory, build_directory)) |
... | 317 lines hidden [Expand] |
Other reviews