-
Notifications
You must be signed in to change notification settings - Fork 429
/
build_app.py
87 lines (83 loc) · 3.65 KB
/
build_app.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
# coding=utf-8
import sys
import os
if sys.platform.startswith('darwin'):
from setuptools import setup
version = os.environ['BUILD_NAME']
APP = ['Cura/cura.py']
DATA_FILES = ['Cura/LICENSE', 'resources/images', 'resources/meshes', 'resources/example', 'resources/firmware', 'resources/locale', 'resources/machine_profiles', 'resources/quickprint', 'plugins']
PLIST = {
u'CFBundleName': u'Cura',
u'CFBundleShortVersionString': version,
u'CFBundleVersion': version,
u'CFBundleIdentifier': u'com.ultimaker.Cura-'+version,
u'LSMinimumSystemVersion': u'10.6',
u'LSApplicationCategoryType': u'public.app-category.graphics-design',
u'CFBundleDocumentTypes': [
{
u'CFBundleTypeRole': u'Viewer',
u'LSItemContentTypes': [u'com.pleasantsoftware.uti.stl'],
u'LSHandlerRank': u'Owner',
},
{
u'CFBundleTypeRole': u'Viewer',
u'LSItemContentTypes': [u'org.khronos.collada.digital-asset-exchange'],
u'LSHandlerRank': u'Owner'
},
{
u'CFBundleTypeName': u'Wavefront 3D Object',
u'CFBundleTypeExtensions': [u'obj'],
u'CFBundleTypeMIMETypes': [u'application/obj-3d'],
u'CFBundleTypeRole': u'Viewer',
u'LSHandlerRank': u'Owner'
}
],
u'UTImportedTypeDeclarations': [
{
u'UTTypeIdentifier': u'com.pleasantsoftware.uti.stl',
u'UTTypeConformsTo': [u'public.data'],
u'UTTypeDescription': u'Stereo Lithography 3D object',
u'UTTypeReferenceURL': u'http://en.wikipedia.org/wiki/STL_(file_format)',
u'UTTypeTagSpecification': {u'public.filename-extension': [u'stl'], u'public.mime-type': [u'text/plain']}
},
{
u'UTTypeIdentifier': u'org.khronos.collada.digital-asset-exchange',
u'UTTypeConformsTo': [u'public.xml', u'public.audiovisual-content'],
u'UTTypeDescription': u'Digital Asset Exchange (DAE)',
u'UTTypeTagSpecification': {u'public.filename-extension': [u'dae'], u'public.mime-type': [u'model/vnd.collada+xml']}
},
{
u'UTTypeIdentifier': u'com.ultimaker.obj',
u'UTTypeConformsTo': [u'public.data'],
u'UTTypeDescription': u'Wavefront OBJ',
u'UTTypeReferenceURL': u'https://en.wikipedia.org/wiki/Wavefront_.obj_file',
u'UTTypeTagSpecification': {u'public.filename-extension': [u'obj'], u'public.mime-type': [u'text/plain']}
},
{
u'UTTypeIdentifier': u'com.ultimaker.amf',
u'UTTypeConformsTo': [u'public.data'],
u'UTTypeDescription': u'Additive Manufacturing File',
u'UTTypeReferenceURL': u'https://en.wikipedia.org/wiki/Additive_Manufacturing_File_Format',
u'UTTypeTagSpecification': {u'public.filename-extension': [u'amf'], u'public.mime-type': [u'text/plain']}
}
]
}
OPTIONS = {
'argv_emulation': True,
'iconfile': 'resources/Cura.icns',
'includes': ['objc', 'Foundation'],
'resources': DATA_FILES,
'optimize': '2',
'plist': PLIST,
'bdist_base': 'scripts/darwin/build',
'dist_dir': 'scripts/darwin/dist'
}
setup(
name="Cura",
app=APP,
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app']
)
else:
print 'No build_app implementation for your system.'