From 53897b2ed32e3724a278483a6b3f5d05a84b67e8 Mon Sep 17 00:00:00 2001 From: Eryn Wells Date: Thu, 24 Sep 2015 16:48:49 -0700 Subject: [PATCH] WIP osxapp bundle tool --- site_scons/site_tools/osxapp.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 site_scons/site_tools/osxapp.py diff --git a/site_scons/site_tools/osxapp.py b/site_scons/site_tools/osxapp.py new file mode 100644 index 0000000..ae7865a --- /dev/null +++ b/site_scons/site_tools/osxapp.py @@ -0,0 +1,33 @@ +# osxapp.py +# Eryn Wells + +_BUNDLE_SUFFIX = '.app' + + +def _assemble_app_bundle(env, bundle_name, binary, info_plist, resources_dir): + # TODO: Create directory structure, copy binary, plist, and resources. Sign the binary? app bundle? + if not bundle_name.endswith('.app'): + bundle_name += '.app' + + bundle_dir = env.Dir(bundle_name) + contents_dir = bundle_dir.Dir('Contents') + macos_dir = contents_dir.Dir('MacOS') + resources_dir = contents_dir.Dir('Resources') + + actions = [] + contents_mkdir = env.Mkdir(contents_dir) + + return actions + + +_app_builder = Builder(action=_assemble_app_bundle, + suffix=_BUNDLE_SUFFIX) + + +def generate(env): + env['OSXAPPBUNDLESUFFIX'] = _BUNDLE_SUFFIX + env['BUILDERS']['OSXApp'] = _app_builder + + +def exists(env): + return True