audk/BaseTools/Source/Python/Common
Li, Aaron f6f66e0c30 BaseTools/Capsule: Add capsule dependency support
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2412

Capsule generate tool support encode capsule dependencies through '-j'
command with a JSON file. To enable dependency feature, "Dependencies"
field for each payload in JSON file is required.
The value of "Dependencies" field is C style infix notation expression.
For example:
  "Dependencies":"72E2945A-00DA-448E-9AA7-075AD840F9D4 > 0x00000001"

The relation of Dependency Expression Opcode in UEFI2.8 chap 23.2 and
infix notation expression value is as follows:
+-----------------------------+--------------------------+
| OPCODE                      | INFIX EXPRESSION VALUE   |
+-----------------------------+--------------------------+
| 0x00 (PUSH_GUID)            | {GUID}                   |
| 0x01 (PUSH_VERSION)         | {UINT32}                 |
| 0x02 (DECLEAR_VERSION_NAME} | DECLEAR "{VERSION_NAME}" |
| 0x03 (AND)                  | &&                       |
| 0x04 (OR)                   | ||                       |
| 0x05 (NOT)                  | ~                        |
| 0x06 (TRUE)                 | TRUE                     |
| 0x07 (FALSE)                | FALSE                    |
| 0x08 (EQ)                   | ==                       |
| 0x09 (GT)                   | >                        |
| 0x0A (GTE)                  | >=                       |
| 0x0B (LT)                   | <                        |
| 0x0C (LTE)                  | <=                       |
+-----------------------------+--------------------------+

Cc: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>

Signed-off-by: Aaron Li <aaron.li@intel.com>

Reviewed-by: Bob Feng <bob.c.feng@intel.com>
2020-01-15 03:16:46 +00:00
..
Edk2 BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
Uefi BaseTools/Capsule: Add capsule dependency support 2020-01-15 03:16:46 +00:00
BuildToolError.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
BuildVersion.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
DataType.py BaseTools:Add [packages] section in dsc file 2019-11-20 07:46:42 +00:00
EdkLogger.py BaseTools: Enable block queue log agent. 2019-08-09 23:15:55 +08:00
Expression.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
GlobalData.py BaseTools:Fix GenFds issue for BuildOption replace GenFdsOption 2020-01-13 02:08:46 +00:00
LongFilePathOs.py BaseTools:Introduce CopyFileOnChange() function to copy cache files 2019-06-17 17:00:46 +08:00
LongFilePathOsPath.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
LongFilePathSupport.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
Misc.py BaseTools: Add map file parsing support for CLANG9 2019-11-08 08:29:36 +08:00
MultipleWorkspace.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
Parsing.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
RangeExpression.py BaseTools:change some incorrect parameter defaults 2019-09-17 10:18:51 +08:00
StringUtils.py BaseTools:change some incorrect parameter defaults 2019-09-17 10:18:51 +08:00
TargetTxtClassObject.py BaseTools:Fix GenFds issue for BuildOption replace GenFdsOption 2020-01-13 02:08:46 +00:00
ToolDefClassObject.py BaseTools:Fix GenFds issue for BuildOption replace GenFdsOption 2020-01-13 02:08:46 +00:00
VariableAttributes.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
VpdInfoFile.py BaseTools:Updata the output encoding of the Popen function 2019-08-01 15:36:48 +08:00
__init__.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00
caching.py BaseTools: Replace BSD License with BSD+Patent License 2019-04-09 09:10:20 -07:00