From a9dc814479dd501650398b8cc05ce047f6aeb428 Mon Sep 17 00:00:00 2001 From: Kevin Rocard Date: Wed, 18 Sep 2013 12:10:16 +0200 Subject: XML generation pfw config file format BZ: 122982 In order to generate the xml at build time, pfw configuration file must be formated for simulation. This patch adds this script and the corresponding makefile. Change-Id: Ice404ec151b379dfd34d3a5c0b8a57f27d017356 Signed-off-by: Kevin Rocard Reviewed-on: http://android.intel.com:8080/132851 Reviewed-by: Denneulin, Guillaume Reviewed-by: Centelles, Sylvain Tested-by: Barthes, FabienX Reviewed-by: cactus Tested-by: cactus --- tools/xmlGenerator/Android.mk | 33 +++++++++++++++++++++++ tools/xmlGenerator/hostConfig.py | 56 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+) create mode 100644 tools/xmlGenerator/Android.mk create mode 100755 tools/xmlGenerator/hostConfig.py (limited to 'tools/xmlGenerator') diff --git a/tools/xmlGenerator/Android.mk b/tools/xmlGenerator/Android.mk new file mode 100644 index 0000000..cae6485 --- /dev/null +++ b/tools/xmlGenerator/Android.mk @@ -0,0 +1,33 @@ +# INTEL CONFIDENTIAL +# Copyright (c) 2013 Intel +# Corporation All Rights Reserved. +# +# The source code contained or described herein and all documents related to +# the source code ("Material") are owned by Intel Corporation or its suppliers +# or licensors. Title to the Material remains with Intel Corporation or its +# suppliers and licensors. The Material contains trade secrets and proprietary +# and confidential information of Intel or its suppliers and licensors. The +# Material is protected by worldwide copyright and trade secret laws and +# treaty provisions. No part of the Material may be used, copied, reproduced, +# modified, published, uploaded, posted, transmitted, distributed, or +# disclosed in any way without Intel's prior express written permission. +# +# No license under any patent, copyright, trade secret or other intellectual +# property right is granted to or conferred upon you by disclosure or delivery +# of the Materials, either expressly, by implication, inducement, estoppel or +# otherwise. Any license under such intellectual property rights must be +# express and approved by Intel in writing. + +LOCAL_PATH := $(call my-dir) + +################################################## +# Scripts are not compiled so the prebuild mechanism is used to export them. + +include $(CLEAR_VARS) +LOCAL_MODULE := hostConfig.py +LOCAL_SRC_FILES := $(LOCAL_MODULE) +LOCAL_MODULE_CLASS := EXECUTABLES +LOCAL_IS_HOST_MODULE := true +include $(BUILD_PREBUILT) + +################################################## diff --git a/tools/xmlGenerator/hostConfig.py b/tools/xmlGenerator/hostConfig.py new file mode 100755 index 0000000..ea5ed55 --- /dev/null +++ b/tools/xmlGenerator/hostConfig.py @@ -0,0 +1,56 @@ +#!/usr/bin/python +# -*-coding:utf-8 -* + +# INTEL CONFIDENTIAL +# Copyright 2013 Intel +# Corporation All Rights Reserved. +# +# The source code contained or described herein and all documents related to +# the source code ("Material") are owned by Intel Corporation or its suppliers +# or licensors. Title to the Material remains with Intel Corporation or its +# suppliers and licensors. The Material contains trade secrets and proprietary +# and confidential information of Intel or its suppliers and licensors. The +# Material is protected by worldwide copyright and trade secret laws and +# treaty provisions. No part of the Material may be used, copied, reproduced, +# modified, published, uploaded, posted, transmitted, distributed, or +# disclosed in any way without Intels prior express written permission. +# +# No license under any patent, copyright, trade secret or other intellectual +# property right is granted to or conferred upon you by disclosure or delivery +# of the Materials, either expressly, by implication, inducement, estoppel or +# otherwise. Any license under such intellectual property rights must be +# express and approved by Intel in writing. + +import xml.dom.minidom +import sys + +serverPort=sys.argv[1] +structPath=sys.argv[2] + +def main(): + """ Format an xml PFW config file (standard input) for simulation. + + Allow tuning on argv[1] port, remove the plugins and settings need, + and change the structure path to absolute.""" + + dom = xml.dom.minidom.parse(sys.stdin) + + for node in dom.getElementsByTagName("ParameterFrameworkConfiguration"): + node.setAttribute("ServerPort", serverPort) + node.setAttribute("TuningAllowed", "true") + + def delete(tag): + for node in dom.getElementsByTagName(tag): + node.parentNode.removeChild(node) + delete("Location") + delete("SettingsConfiguration") + + for node in dom.getElementsByTagName("StructureDescriptionFileLocation"): + node.setAttribute("Path", structPath + "/" + node.getAttribute("Path")) + + sys.stdout.write(dom.toxml()) + +if __name__ == "__main__" : + """ Execute main if the python interpreter is running this module as the main program """ + main() + -- cgit v1.1