Commit cc81b807 authored by Jack Jansen's avatar Jack Jansen

Moved some application-bundle specific code from the BundleBuilder class to

AppBuilder, and set the default type to BNDL (overridden in AppBuilder).

This surfaced when trying to build help bundles.
parent 9c20615d
......@@ -83,7 +83,7 @@ class BundleBuilder(Defaults):
CFBundleInfoDictionaryVersion = "6.0")
# The type of the bundle.
type = "APPL"
type = "BNDL"
# The creator code of the bundle.
creator = None
......@@ -97,9 +97,6 @@ class BundleBuilder(Defaults):
# Directory where the bundle will be assembled.
builddir = "build"
# platform, name of the subfolder of Contents that contains the executable.
platform = "MacOS"
# Make symlinks instead copying files. This is handy during debugging, but
# makes the bundle non-distributable.
symlink = 0
......@@ -115,7 +112,6 @@ class BundleBuilder(Defaults):
bundleextension = ext
# misc (derived) attributes
self.bundlepath = pathjoin(self.builddir, self.name + bundleextension)
self.execdir = pathjoin("Contents", self.platform)
plist = self.plist
plist.CFBundleName = self.name
......@@ -294,6 +290,12 @@ execfile(os.path.join(os.path.split(__file__)[0], "%(realmainprogram)s"))
class AppBuilder(BundleBuilder):
# Override type of the bundle.
type = "BNDL"
# platform, name of the subfolder of Contents that contains the executable.
platform = "MacOS"
# A Python main program. If this argument is given, the main
# executable in the bundle will be a small wrapper that invokes
# the main program. (XXX Discuss why.)
......@@ -355,6 +357,8 @@ class AppBuilder(BundleBuilder):
raise BundleBuilderError, ("must specify either or both of "
"'executable' and 'mainprogram'")
self.execdir = pathjoin("Contents", self.platform)
if self.name is not None:
pass
elif self.mainprogram is not None:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment