Convert the install script to python
Translate the install.sh script in python to make it platform independent. Keep install.sh as a wrapper of install.py to not break scripts that depend on it.
This commit is contained in:
parent
cc94a96c9d
commit
1b40d683be
33
install.py
Normal file
33
install.py
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
import os
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
import os.path as p
|
||||||
|
import glob
|
||||||
|
|
||||||
|
DIR_OF_THIS_SCRIPT = p.dirname( p.abspath( __file__ ) )
|
||||||
|
DIR_OF_OLD_LIBS = p.join( DIR_OF_THIS_SCRIPT, 'python' )
|
||||||
|
|
||||||
|
|
||||||
|
def Main():
|
||||||
|
build_file = p.join( DIR_OF_THIS_SCRIPT, 'third_party', 'ycmd', 'build.py' )
|
||||||
|
|
||||||
|
if not p.isfile( build_file ):
|
||||||
|
sys.exit( 'File ' + build_file + ' does not exist; you probably forgot '
|
||||||
|
'to run:\n\tgit submodule update --init --recursive\n\n' )
|
||||||
|
|
||||||
|
python_binary = sys.executable
|
||||||
|
args = ' '.join( sys.argv[1:] )
|
||||||
|
subprocess.call( ' '.join( [ python_binary, build_file, args ] ) )
|
||||||
|
|
||||||
|
# Remove old YCM libs if present so that YCM can start.
|
||||||
|
old_libs = (
|
||||||
|
glob.glob( p.join( DIR_OF_OLD_LIBS, '*ycm_core.*' ) ) +
|
||||||
|
glob.glob( p.join( DIR_OF_OLD_LIBS, '*ycm_client_support.*' ) ) +
|
||||||
|
glob.glob( p.join( DIR_OF_OLD_LIBS, '*clang*.*') ) )
|
||||||
|
for lib in old_libs:
|
||||||
|
os.remove( lib )
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
Main()
|
19
install.sh
19
install.sh
@ -1,15 +1,9 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
echo "WARNING: this script is deprecated. Use the install.py script instead." 1>&2
|
||||||
|
|
||||||
|
|
||||||
SCRIPT_DIR=$(dirname $0 || exit $?)
|
SCRIPT_DIR=$(dirname $0 || exit $?)
|
||||||
cd $SCRIPT_DIR || exit $?
|
|
||||||
|
|
||||||
build_file=$SCRIPT_DIR/third_party/ycmd/build.py
|
|
||||||
|
|
||||||
if [ ! -f "$build_file" ]; then
|
|
||||||
echo "File $build_file doesn't exist; you probably forgot to run:"
|
|
||||||
printf "\n\tgit submodule update --init --recursive\n\n"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
command_exists() {
|
command_exists() {
|
||||||
command -v "$1" >/dev/null 2>&1 ;
|
command -v "$1" >/dev/null 2>&1 ;
|
||||||
@ -20,9 +14,4 @@ if command_exists python2; then
|
|||||||
PYTHON_BINARY=python2
|
PYTHON_BINARY=python2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
$PYTHON_BINARY "$build_file" "$@" || exit $?
|
$PYTHON_BINARY "$SCRIPT_DIR/install.py" "$@" || exit $?
|
||||||
|
|
||||||
# Remove old YCM libs if present so that YCM can start.
|
|
||||||
rm -f python/*ycm_core.* &> /dev/null
|
|
||||||
rm -f python/*ycm_client_support.* &> /dev/null
|
|
||||||
rm -f python/*clang*.* &> /dev/null
|
|
||||||
|
Loading…
Reference in New Issue
Block a user