[MERGE] forward port of branch 7.0 up to revid 5270 chs@openerp.com-20140403084524...
[odoo/odoo.git] / win32 / setup.py
index 9c064c1..b0b36b5 100644 (file)
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 ##############################################################################
-#    
+#
 #    OpenERP, Open Source Management Solution
 #    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
 #
 #    GNU Affero General Public License for more details.
 #
 #    You should have received a copy of the GNU Affero General Public License
-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.     
+#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
 ##############################################################################
 
+import os
+import glob
 from distutils.core import setup
 import py2exe
 
 
-setup(service=["OpenERPServerService"],
-      options={"py2exe":{"excludes":["Tkconstants","Tkinter","tcl",
-                                     "_imagingtk","PIL._imagingtk",
-                                     "ImageTk", "PIL.ImageTk",
-                                     "FixTk"],
-                         "skip_archive": 1,
-                         "optimize": 2,}}
+meta = {}
+execfile(os.path.join(os.path.dirname(__file__), '..', 'openerp', 'release.py'), meta)
+
+def generate_files():
+    actions = {
+        'start': ['stop', 'start'],
+        'stop': ['stop'],
+    }
+
+    files = []
+    if os.name == 'nt':
+        files.append(("Microsoft.VC90.CRT", glob.glob('C:\Microsoft.VC90.CRT\*.*')))
+    for action, steps in actions.items():
+        fname = action + '.bat'
+        files.append(fname)
+        with open(fname, 'w') as fp:
+            fp.write('@PATH=%WINDIR%\system32;%WINDIR%;%WINDIR%\System32\Wbem;.\n')
+            for step in steps:
+                fp.write('@net %s %s\n' % (step, meta['nt_service_name']))
+
+    files.append('meta.py')
+    with open('meta.py', 'w') as fp:
+        for m in 'description serie nt_service_name'.split():
+            fp.write("%s = %r\n" % (m, meta[m],))
+
+    return files
+
+excludes = "Tkconstants Tkinter tcl _imagingtk PIL._imagingtk ImageTk PIL.ImageTk FixTk".split()
+
+setup(service      = ["OpenERPServerService"],
+      version      = meta['version'],
+      license      = meta['license'],
+      url          = meta['url'],
+      author       = meta['author'],
+      author_email = meta['author_email'],
+      data_files   = generate_files(),
+      options      = {"py2exe": {
+                        "excludes": excludes,
+                        "skip_archive": 1,
+                        "optimize": 2,
+                     }},
       )
 
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
-