SL-11598: viewer_manifest.py should fail if a viewer file is missing

Oz Linden 2019-09-16 12:50:30 -04:00
parent e241670694
commit 296480d552
2 changed files with 22 additions and 15 deletions

View File

@ -835,7 +835,8 @@ class LLManifest(object):
tried.append(pfx)
if not try_prefixes:
# no more prefixes left to try
print "unable to find '%s'; looked in:\n %s" % (src, '\n '.join(tried))
raise MissingError("unable to find '%s'; looked in:\n %s" % (src, '\n '.join(tried)))
print "%d files" % count
# Let caller check whether we processed as many files as expected. In

View File

@ -46,7 +46,7 @@ viewer_dir = os.path.dirname(__file__)
# Put it FIRST because some of our build hosts have an ancient install of
# indra.util.llmanifest under their system Python!
sys.path.insert(0, os.path.join(viewer_dir, os.pardir, "lib", "python"))
from indra.util.llmanifest import LLManifest, main, path_ancestors, CHANNEL_VENDOR_BASE, RELEASE_CHANNEL, ManifestError
from indra.util.llmanifest import LLManifest, main, path_ancestors, CHANNEL_VENDOR_BASE, RELEASE_CHANNEL, ManifestError, MissingError
from llbase import llsd
class ViewerManifest(LLManifest):
@ -176,9 +176,6 @@ class ViewerManifest(LLManifest):
self.path("*.j2c")
self.path("*.tga")
# File in the newview/ directory
self.path("gpu_table.txt")
#build_data.json. Standard with exception handling is fine. If we can't open a new file for writing, we have worse problems
#platform is computed above with other arg parsing
build_data_dict = {"Type":"viewer","Version":'.'.join(self.args['version']),
@ -524,7 +521,7 @@ class WindowsManifest(ViewerManifest):
self.path('libaprutil-1.dll')
self.path('libapriconv-1.dll')
except RuntimeError as err:
except MissingError as err:
print err.message
print "Skipping llcommon.dll (assuming llcommon was linked statically)"
@ -990,7 +987,7 @@ class DarwinManifest(ViewerManifest):
with self.prefix(src=relpkgdir, dst=""):
self.path("libndofdev.dylib")
self.path("libhunspell-1.3.0.dylib")
self.path("libhunspell-1.3.a")
with self.prefix(src_dst="cursors_mac"):
self.path("*.tif")
@ -1037,11 +1034,15 @@ class DarwinManifest(ViewerManifest):
# (source, dest) pair to self.file_list for every expanded
# file processed. Remember its size before the call.
oldlen = len(self.file_list)
self.path(src, dst)
# The dest appended to self.file_list has been prepended
# with self.get_dst_prefix(). Strip it off again.
added = [os.path.relpath(d, self.get_dst_prefix())
for s, d in self.file_list[oldlen:]]
try:
self.path(src, dst)
# The dest appended to self.file_list has been prepended
# with self.get_dst_prefix(). Strip it off again.
added = [os.path.relpath(d, self.get_dst_prefix())
for s, d in self.file_list[oldlen:]]
except MissingError as err:
print >> sys.stderr, "Warning: "+err.msg
added = []
if not added:
print "Skipping %s" % dst
return added
@ -1076,8 +1077,8 @@ class DarwinManifest(ViewerManifest):
# SLVoice and vivox lols, no symlinks needed
for libfile in (
'libortp.dylib',
'libsndfile.dylib',
'libvivoxoal.dylib',
#'libsndfile.dylib',
#'libvivoxoal.dylib',
'libvivoxsdk.dylib',
'libvivoxplatform.dylib',
'SLVoice',
@ -1596,4 +1597,9 @@ if __name__ == "__main__":
dict(name='bugsplat', description="""BugSplat database to which to post crashes,
if BugSplat crash reporting is desired""", default=''),
]
main(extra=extra_arguments)
try:
main(extra=extra_arguments)
except (ManifestError, MissingError) as err:
sys.exit("\nviewer_manifest.py failed: "+err.msg)
except:
raise