X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2Fbertos_utils.py;h=00b687d788c5510b97b830bfdf6e022faf990e8f;hb=c863f160d11502e2c452d567df1f8642ba2694c3;hp=5d08f54db01d1ebbadf9cf9d0cbd160572a5d7c8;hpb=3001f6f9ca19a6dd354cb1f82425253484c5468b;p=bertos.git diff --git a/wizard/bertos_utils.py b/wizard/bertos_utils.py index 5d08f54d..00b687d7 100644 --- a/wizard/bertos_utils.py +++ b/wizard/bertos_utils.py @@ -1,8 +1,32 @@ #!/usr/bin/env python # encoding: utf-8 # +# This file is part of BeRTOS. +# +# Bertos is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +# +# As a special exception, you may use this file as part of a free software +# library without restriction. Specifically, if other files instantiate +# templates or use macros or inline functions from this file, or you compile +# this file and link it with other files to produce an executable, this +# file does not by itself cause the resulting executable to be covered by +# the GNU General Public License. This exception does not however +# invalidate any other reasons why the executable file might be covered by +# the GNU General Public License. +# # Copyright 2008 Develer S.r.l. (http://www.develer.com/) -# All rights reserved. # # $Id$ # @@ -70,7 +94,7 @@ def createBertosProject(project_info): configurations = project_info.info("CONFIGURATIONS") configuration = configurations[information["configuration"]] for start, parameter in configuration["paramlist"]: - if "type" in configuration[parameter] and configuration[parameter]["type"] == "autoenabled": + if "type" in configuration[parameter]["informations"] and configuration[parameter]["informations"]["type"] == "autoenabled": configuration[parameter]["value"] = "1" project_info.setInfo("CONFIGURATIONS", configurations) # Copy all the configuration files @@ -95,10 +119,18 @@ def createBertosProject(project_info): main = open("srctemplates/main.c", "r").read() open(prjdir + "/main.c", "w").write(main) # Files for selected plugins + relevants_files = {} for plugin in project_info.info("OUTPUT"): - module = getattr(__import__("plugins", {}, {}, [plugin]), plugin) - module.createProject(project_info) + module = loadPlugin(plugin) + relevants_files[plugin] = module.createProject(project_info) + project_info.setInfo("RELEVANT_FILES", relevants_files) +def loadPlugin(plugin): + """ + Returns the given plugin module. + """ + return getattr(__import__("plugins", {}, {}, [plugin]), plugin) + def mkGenerator(project_info, makefile): """ Generates the mk file for the current project. @@ -196,7 +228,7 @@ def csrcGenerator(project_info): cppasrc = " \\\n\t".join(cppasrc) + " \\" cxxsrc = " \\\n\t".join(cxxsrc) + " \\" asrc = " \\\n\t".join(asrc) + " \\" - constants = "\n".join([os.path.basename(project_info.info("PROJECT_PATH")) + "_" + key + " = " + str(value) for key, value in constants.items()]) + constants = "\n".join([os.path.basename(project_info.info("PROJECT_PATH")) + "_" + key + " = " + unicode(value) for key, value in constants.items()]) return csrc, pcsrc, cppasrc, cxxsrc, asrc, constants def findModuleFiles(module, project_info):