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): ...@@ -83,7 +83,7 @@ class BundleBuilder(Defaults):
CFBundleInfoDictionaryVersion = "6.0") CFBundleInfoDictionaryVersion = "6.0")
# The type of the bundle. # The type of the bundle.
type = "APPL" type = "BNDL"
# The creator code of the bundle. # The creator code of the bundle.
creator = None creator = None
...@@ -97,9 +97,6 @@ class BundleBuilder(Defaults): ...@@ -97,9 +97,6 @@ class BundleBuilder(Defaults):
# Directory where the bundle will be assembled. # Directory where the bundle will be assembled.
builddir = "build" 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 # Make symlinks instead copying files. This is handy during debugging, but
# makes the bundle non-distributable. # makes the bundle non-distributable.
symlink = 0 symlink = 0
...@@ -115,7 +112,6 @@ class BundleBuilder(Defaults): ...@@ -115,7 +112,6 @@ class BundleBuilder(Defaults):
bundleextension = ext bundleextension = ext
# misc (derived) attributes # misc (derived) attributes
self.bundlepath = pathjoin(self.builddir, self.name + bundleextension) self.bundlepath = pathjoin(self.builddir, self.name + bundleextension)
self.execdir = pathjoin("Contents", self.platform)
plist = self.plist plist = self.plist
plist.CFBundleName = self.name plist.CFBundleName = self.name
...@@ -294,6 +290,12 @@ execfile(os.path.join(os.path.split(__file__)[0], "%(realmainprogram)s")) ...@@ -294,6 +290,12 @@ execfile(os.path.join(os.path.split(__file__)[0], "%(realmainprogram)s"))
class AppBuilder(BundleBuilder): 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 # A Python main program. If this argument is given, the main
# executable in the bundle will be a small wrapper that invokes # executable in the bundle will be a small wrapper that invokes
# the main program. (XXX Discuss why.) # the main program. (XXX Discuss why.)
...@@ -355,6 +357,8 @@ class AppBuilder(BundleBuilder): ...@@ -355,6 +357,8 @@ class AppBuilder(BundleBuilder):
raise BundleBuilderError, ("must specify either or both of " raise BundleBuilderError, ("must specify either or both of "
"'executable' and 'mainprogram'") "'executable' and 'mainprogram'")
self.execdir = pathjoin("Contents", self.platform)
if self.name is not None: if self.name is not None:
pass pass
elif self.mainprogram is not None: 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