예제 #1
0
def InstallCppTools(name, root, gadget):
    extension = os.path.join(root, 'extension')

    # It's hilarious, but the execute bits aren't set in the vsix. So they
    # actually have javascript code which does this. It's just a horrible horrible
    # hack that really is not funny.
    installer.MakeExecutable(
        os.path.join(extension, 'debugAdapters', 'OpenDebugAD7'))
    with open(os.path.join(extension, 'package.json')) as f:
        package = json.load(f)
        runtime_dependencies = package['runtimeDependencies']
        for dependency in runtime_dependencies:
            for binary in dependency.get('binaries'):
                file_path = os.path.abspath(os.path.join(extension, binary))
                if os.path.exists(file_path):
                    installer.MakeExecutable(os.path.join(extension, binary))

    installer.MakeExtensionSymlink(vimspector_base, name, root)
예제 #2
0
def InstallBashDebug(name, root, gadget):
    installer.MakeExecutable(
        os.path.join(root, 'extension', 'bashdb_dir', 'bashdb'))
    installer.MakeExtensionSymlink(vimspector_base, name, root)
예제 #3
0
def InstallGeneric(name, root, gadget):
    extension = os.path.join(root, 'extension')
    for f in gadget.get('make_executable', []):
        installer.MakeExecutable(os.path.join(extension, f))

    installer.MakeExtensionSymlink(vimspector_base, name, root)