#!/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$
#
def createBertosProject(project_info):
directory = project_info.info("PROJECT_PATH")
sources_dir = project_info.info("SOURCES_PATH")
- if not os.path.isdir(directory):
- os.mkdir(directory)
+ if os.path.isdir(directory):
+ shutil.rmtree(directory, True)
+ os.makedirs(directory)
f = open(directory + "/project.bertos", "w")
f.write(pickle.dumps(project_info))
f.close()
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
for plugin in project_info.info("OUTPUT"):
module = loadPlugin(plugin)
relevants_files[plugin] = module.createProject(project_info)
- project_info.setInfo("RELEVANTS_FILES", relevants_files)
+ project_info.setInfo("RELEVANT_FILES", relevants_files)
def loadPlugin(plugin):
"""
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):