Open CI Scripts: Feature Update

    * build_helper: Added --install argument to execute cmake install
    * build_helper: Added the capability to parse axf files for
      code/data/bss sizes and capture it to report
    * build_helper: Added --relative-paths to calculate paths relative
      to the root of the workspace
    * build_helper_configs: Full restructure of config modules.
      Extra build commands and expected artefacts can be defined per
      platform basis
    * Checkpatch: Added directive to ignore --ignore SPDX_LICENSE_TAG
      and added the capability to run only on files changed in patch.
    * CppCheck adjusted suppression directories for new external
      libraries and code-base restructure
    * Added fastmodel dispatcher. It will wrap around fastmodels
      and test against a dynamically defined test_map. Fed with an
      input of the build summary fastmodel dispatcher will detect
      builds which have tests in the map and run them.
    * Added Fastmodel configs for AN519 and AN521 platforms
    * lava_helper. Added arguments for --override-jenkins-job/
      --override-jenkins-url
    * Adjusted JINJA2 template to include build number and
      enable the overrides.
    * Adjusted lava helper configs to support dual platform firmware
      and added CoreIPC config
    * Added report parser module to create/read/evaluate and
      modify reports. Bash scripts for cppcheck checkpatch summaries
      have been removed.
    * Adjusted run_cppcheck/run_checkpatch for new project libraries,
      new codebase structure and other tweaks.
    * Restructured build manager, decoupling it from the tf-m
      cmake requirements. Build manager can now dynamically build a
      configuration from combination of parameters or can just execute
      an array of build commands. Hardcoded tf-m assumptions have been
      removed and moved into the configuration space.
    * Build system can now produce MUSCA_A/ MUSCA_B1 binaries as well
      as intel HEX files.
    * Updated the utilities snippet collection in the tfm-ci-pylib.

Change-Id: Ifad7676e1cd47e3418e851b56dbb71963d85cd88
Signed-off-by: Minos Galanakis <minos.galanakis@linaro.org>
diff --git a/fastmodel_dispatcher/fastmodel_dispatcher_configs.py b/fastmodel_dispatcher/fastmodel_dispatcher_configs.py
new file mode 100644
index 0000000..4b698a9
--- /dev/null
+++ b/fastmodel_dispatcher/fastmodel_dispatcher_configs.py
@@ -0,0 +1,41 @@
+#!/usr/bin/env python3
+
+""" run_fvp_configs.py:
+
+    Using Python clas inheritance model to generate modular and easily to scale
+    configuration models for the run_fpv module. Configuration data is also
+    combined with helper methods. If the file is run as a standalone file,
+    it can save json configuration files to disk if requested by --export
+    directive """
+
+from __future__ import print_function
+
+__copyright__ = """
+/*
+ * Copyright (c) 2018-2019, Arm Limited. All rights reserved.
+ *
+ * SPDX-License-Identifier: BSD-3-Clause
+ *
+ */
+ """
+__author__ = "Minos Galanakis"
+__email__ = "minos.galanakis@linaro.org"
+__project__ = "Trusted Firmware-M Open CI"
+__status__ = "stable"
+__version__ = "1.1"
+
+import sys
+from AN521 import AN521
+from AN519 import AN519
+
+fvp_config_map = AN521 + AN519
+
+if __name__ == "__main__":
+    # Create Json configuration files on user request
+
+    if len(sys.argv) >= 2:
+        if sys.argv[1] == "--export":
+
+            for platform in fvp_config_map.get_object_map().values():
+                for config in platform.values():
+                    config.json_to_file()