This feature is enhance build tool to incorporate execution of prebuild and postbuild. 1.Prebuild script a.DEFINE PREBUILD in DSC [Defines] section b.Build command -D PREBUILD to override the one in DSC [Defines] section 1)If PREBUILD is a file, then this file will be used as prebuild script. 2)If PREBUILD is empty, then prebuild script will be disabled. 3)If PREBUILD is not defined in [Defines] section and not passed in on command line, then prebuild script is also disabled. 2.Prebuild option a.All options of build tool b.TARGET, ARCH and TOOL_CHAIN_TAG value, Those value will be from target.txt file if they are not in build command line. c.Additional options following prebuild definition. Quotes are needed when these additional options are present. d.Quotes would also be required if the path to the prebuild command contains space or special characters. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Yonghong Zhu <yonghong.zhu@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
160 lines
5.3 KiB
Python
160 lines
5.3 KiB
Python
## @file
|
|
# Standardized Error Hanlding infrastructures.
|
|
#
|
|
# Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>
|
|
# This program and the accompanying materials
|
|
# are licensed and made available under the terms and conditions of the BSD License
|
|
# which accompanies this distribution. The full text of the license may be found at
|
|
# http://opensource.org/licenses/bsd-license.php
|
|
#
|
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
#
|
|
|
|
FILE_OPEN_FAILURE = 1
|
|
FILE_WRITE_FAILURE = 2
|
|
FILE_PARSE_FAILURE = 3
|
|
FILE_READ_FAILURE = 4
|
|
FILE_CREATE_FAILURE = 5
|
|
FILE_CHECKSUM_FAILURE = 6
|
|
FILE_COMPRESS_FAILURE = 7
|
|
FILE_DECOMPRESS_FAILURE = 8
|
|
FILE_MOVE_FAILURE = 9
|
|
FILE_DELETE_FAILURE = 10
|
|
FILE_COPY_FAILURE = 11
|
|
FILE_POSITIONING_FAILURE = 12
|
|
FILE_ALREADY_EXIST = 13
|
|
FILE_NOT_FOUND = 14
|
|
FILE_TYPE_MISMATCH = 15
|
|
FILE_CASE_MISMATCH = 16
|
|
FILE_DUPLICATED = 17
|
|
FILE_UNKNOWN_ERROR = 0x0FFF
|
|
|
|
OPTION_UNKNOWN = 0x1000
|
|
OPTION_MISSING = 0x1001
|
|
OPTION_CONFLICT = 0x1002
|
|
OPTION_VALUE_INVALID = 0x1003
|
|
OPTION_DEPRECATED = 0x1004
|
|
OPTION_NOT_SUPPORTED = 0x1005
|
|
OPTION_UNKNOWN_ERROR = 0x1FFF
|
|
|
|
PARAMETER_INVALID = 0x2000
|
|
PARAMETER_MISSING = 0x2001
|
|
PARAMETER_UNKNOWN_ERROR =0x2FFF
|
|
|
|
FORMAT_INVALID = 0x3000
|
|
FORMAT_NOT_SUPPORTED = 0x3001
|
|
FORMAT_UNKNOWN = 0x3002
|
|
FORMAT_UNKNOWN_ERROR = 0x3FFF
|
|
|
|
RESOURCE_NOT_AVAILABLE = 0x4000
|
|
RESOURCE_ALLOCATE_FAILURE = 0x4001
|
|
RESOURCE_FULL = 0x4002
|
|
RESOURCE_OVERFLOW = 0x4003
|
|
RESOURCE_UNDERRUN = 0x4004
|
|
RESOURCE_UNKNOWN_ERROR = 0x4FFF
|
|
|
|
ATTRIBUTE_NOT_AVAILABLE = 0x5000
|
|
ATTRIBUTE_GET_FAILURE = 0x5001
|
|
ATTRIBUTE_SET_FAILURE = 0x5002
|
|
ATTRIBUTE_UPDATE_FAILURE = 0x5003
|
|
ATTRIBUTE_ACCESS_DENIED = 0x5004
|
|
ATTRIBUTE_UNKNOWN_ERROR = 0x5FFF
|
|
|
|
IO_NOT_READY = 0x6000
|
|
IO_BUSY = 0x6001
|
|
IO_TIMEOUT = 0x6002
|
|
IO_UNKNOWN_ERROR = 0x6FFF
|
|
|
|
COMMAND_FAILURE = 0x7000
|
|
|
|
PERMISSION_FAILURE = 0x8000
|
|
|
|
CODE_ERROR = 0xC0DE
|
|
|
|
AUTOGEN_ERROR = 0xF000
|
|
PARSER_ERROR = 0xF001
|
|
BUILD_ERROR = 0xF002
|
|
GENFDS_ERROR = 0xF003
|
|
ECC_ERROR = 0xF004
|
|
EOT_ERROR = 0xF005
|
|
PREBUILD_ERROR = 0xF007
|
|
POSTBUILD_ERROR = 0xF008
|
|
DDC_ERROR = 0xF009
|
|
WARNING_AS_ERROR = 0xF006
|
|
MIGRATION_ERROR = 0xF010
|
|
PCD_VALIDATION_INFO_ERROR = 0xF011
|
|
PCD_VARIABLE_ATTRIBUTES_ERROR = 0xF012
|
|
PCD_VARIABLE_ATTRIBUTES_CONFLICT_ERROR = 0xF013
|
|
ABORT_ERROR = 0xFFFE
|
|
UNKNOWN_ERROR = 0xFFFF
|
|
|
|
## Error message of each error code
|
|
gErrorMessage = {
|
|
FILE_NOT_FOUND : "File/directory not found in workspace",
|
|
FILE_OPEN_FAILURE : "File open failure",
|
|
FILE_WRITE_FAILURE : "File write failure",
|
|
FILE_PARSE_FAILURE : "File parse failure",
|
|
FILE_READ_FAILURE : "File read failure",
|
|
FILE_CREATE_FAILURE : "File create failure",
|
|
FILE_CHECKSUM_FAILURE : "Invalid checksum of file",
|
|
FILE_COMPRESS_FAILURE : "File compress failure",
|
|
FILE_DECOMPRESS_FAILURE : "File decompress failure",
|
|
FILE_MOVE_FAILURE : "File move failure",
|
|
FILE_DELETE_FAILURE : "File delete failure",
|
|
FILE_COPY_FAILURE : "File copy failure",
|
|
FILE_POSITIONING_FAILURE: "Failed to seeking position",
|
|
FILE_ALREADY_EXIST : "File or directory already exists",
|
|
FILE_TYPE_MISMATCH : "Incorrect file type",
|
|
FILE_CASE_MISMATCH : "File name case mismatch",
|
|
FILE_DUPLICATED : "Duplicated file found",
|
|
FILE_UNKNOWN_ERROR : "Unknown error encountered on file",
|
|
|
|
OPTION_UNKNOWN : "Unknown option",
|
|
OPTION_MISSING : "Missing option",
|
|
OPTION_CONFLICT : "Conflict options",
|
|
OPTION_VALUE_INVALID : "Invalid value of option",
|
|
OPTION_DEPRECATED : "Deprecated option",
|
|
OPTION_NOT_SUPPORTED : "Unsupported option",
|
|
OPTION_UNKNOWN_ERROR : "Unknown error when processing options",
|
|
|
|
PARAMETER_INVALID : "Invalid parameter",
|
|
PARAMETER_MISSING : "Missing parameter",
|
|
PARAMETER_UNKNOWN_ERROR : "Unknown error in parameters",
|
|
|
|
FORMAT_INVALID : "Invalid syntax/format",
|
|
FORMAT_NOT_SUPPORTED : "Not supported syntax/format",
|
|
FORMAT_UNKNOWN : "Unknown format",
|
|
FORMAT_UNKNOWN_ERROR : "Unknown error in syntax/format ",
|
|
|
|
RESOURCE_NOT_AVAILABLE : "Not available",
|
|
RESOURCE_ALLOCATE_FAILURE : "Allocate failure",
|
|
RESOURCE_FULL : "Full",
|
|
RESOURCE_OVERFLOW : "Overflow",
|
|
RESOURCE_UNDERRUN : "Underrun",
|
|
RESOURCE_UNKNOWN_ERROR : "Unknown error",
|
|
|
|
ATTRIBUTE_NOT_AVAILABLE : "Not available",
|
|
ATTRIBUTE_GET_FAILURE : "Failed to retrieve",
|
|
ATTRIBUTE_SET_FAILURE : "Failed to set",
|
|
ATTRIBUTE_UPDATE_FAILURE: "Failed to update",
|
|
ATTRIBUTE_ACCESS_DENIED : "Access denied",
|
|
ATTRIBUTE_UNKNOWN_ERROR : "Unknown error when accessing",
|
|
|
|
COMMAND_FAILURE : "Failed to execute command",
|
|
|
|
IO_NOT_READY : "Not ready",
|
|
IO_BUSY : "Busy",
|
|
IO_TIMEOUT : "Timeout",
|
|
IO_UNKNOWN_ERROR : "Unknown error in IO operation",
|
|
|
|
UNKNOWN_ERROR : "Unknown error",
|
|
}
|
|
|
|
## Exception indicating a fatal error
|
|
class FatalError(Exception):
|
|
pass
|
|
|
|
if __name__ == "__main__":
|
|
pass
|