X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2Fbertos_utils.py;h=2bc44ab54d0fa385fc55964860925466a97c448f;hb=df3bd7f742da8c015304fa21e01eb966ff76a089;hp=2bb749ff2ec7baa6494a094edcaa0ecb81b47498;hpb=3475446433a31b89ab480cd19bbdbe8473c3d7fe;p=bertos.git diff --git a/wizard/bertos_utils.py b/wizard/bertos_utils.py index 2bb749ff..2bc44ab5 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$ # @@ -19,7 +43,7 @@ import copytree import pickle import const -from plugins import codelite_project +import plugins import DefineException def isBertosDir(directory): @@ -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 @@ -94,10 +118,19 @@ def createBertosProject(project_info): # Destination main.c file main = open("srctemplates/main.c", "r").read() open(prjdir + "/main.c", "w").write(main) - # Codelite project files - if "codelite" in project_info.info("OUTPUT"): - codelite_project.createProject(project_info) - + # Files for selected plugins + relevants_files = {} + for plugin in project_info.info("OUTPUT"): + 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.