forked from qt-creator/qt-creator
Scripts: Handle "nothing installed" case gracefully for plugin builds
When (temporarily) turning off the QmlDesigner build, the separate QmlDesigner plugin repository build results in nothing being installed. The 7zip call and signing code then fails if the installation directory isn't even created as a consequence. Change-Id: I14cc9504b6a5d653ab94845423e266d2cb8caf42 Reviewed-by: David Schulz <david.schulz@qt.io>
This commit is contained in:
@@ -142,6 +142,8 @@ def build(args, paths):
|
||||
paths.build)
|
||||
|
||||
def package(args, paths):
|
||||
if not os.path.exists(paths.install):
|
||||
os.makedirs(paths.install)
|
||||
if not os.path.exists(paths.result):
|
||||
os.makedirs(paths.result)
|
||||
if common.is_windows_platform() and args.sign_command:
|
||||
@@ -165,15 +167,20 @@ def package(args, paths):
|
||||
if os.environ.get('SIGNING_IDENTITY'):
|
||||
signed_install_path = paths.install + '-signed'
|
||||
common.copytree(paths.install, signed_install_path, symlinks=True)
|
||||
apps = [d for d in os.listdir(signed_install_path) if d.endswith('.app')]
|
||||
if apps:
|
||||
app = apps[0]
|
||||
common.conditional_sign_recursive(os.path.join(signed_install_path, app),
|
||||
lambda ff: ff.endswith('.dylib'))
|
||||
common.check_print_call(zip
|
||||
+ [os.path.join(paths.result, args.name + '-signed.7z'),
|
||||
app],
|
||||
signed_install_path)
|
||||
zippattern = None
|
||||
if os.path.exists(signed_install_path):
|
||||
apps = [d for d in os.listdir(signed_install_path) if d.endswith('.app')]
|
||||
if apps:
|
||||
zippattern = apps[0]
|
||||
if not zippattern:
|
||||
os.makedirs(signed_install_path) # if nothing was installed
|
||||
zippattern = '*'
|
||||
common.conditional_sign_recursive(signed_install_path,
|
||||
lambda ff: ff.endswith('.dylib'))
|
||||
common.check_print_call(zip
|
||||
+ [os.path.join(paths.result, args.name + '-signed.7z'),
|
||||
zippattern],
|
||||
signed_install_path)
|
||||
|
||||
def get_paths(args):
|
||||
Paths = collections.namedtuple('Paths',
|
||||
|
Reference in New Issue
Block a user