mirror of
				https://github.com/searxng/searxng.git
				synced 2025-11-04 03:27:06 -05:00 
			
		
		
		
	
						commit
						88f2c6dc96
					
				@ -13,11 +13,9 @@ python:
 | 
				
			|||||||
before_install:
 | 
					before_install:
 | 
				
			||||||
  - "export DISPLAY=:99.0"
 | 
					  - "export DISPLAY=:99.0"
 | 
				
			||||||
  - "sh -e /etc/init.d/xvfb start"
 | 
					  - "sh -e /etc/init.d/xvfb start"
 | 
				
			||||||
  - npm install less@2.7 less-plugin-clean-css grunt-cli
 | 
					install:
 | 
				
			||||||
  - export PATH=`pwd`/node_modules/.bin:$PATH
 | 
					 | 
				
			||||||
  - ./manage.sh install_geckodriver ~/drivers
 | 
					  - ./manage.sh install_geckodriver ~/drivers
 | 
				
			||||||
  - export PATH=~/drivers:$PATH
 | 
					  - export PATH=~/drivers:$PATH
 | 
				
			||||||
install:
 | 
					 | 
				
			||||||
  - ./manage.sh npm_packages
 | 
					  - ./manage.sh npm_packages
 | 
				
			||||||
  - ./manage.sh update_dev_packages
 | 
					  - ./manage.sh update_dev_packages
 | 
				
			||||||
  - pip install codecov
 | 
					  - pip install codecov
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										98
									
								
								manage.sh
									
									
									
									
									
								
							
							
						
						
									
										98
									
								
								manage.sh
									
									
									
									
									
								
							@ -1,11 +1,27 @@
 | 
				
			|||||||
#!/bin/sh
 | 
					#!/bin/sh
 | 
				
			||||||
 | 
					
 | 
				
			||||||
BASE_DIR="$(dirname -- "`readlink -f -- "$0"`")"
 | 
					BASE_DIR="$(dirname -- "`readlink -f -- "$0"`")"
 | 
				
			||||||
 | 
					export PATH="$BASE_DIR/node_modules/.bin":$PATH
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# the script can be sourced to update the PATH
 | 
				
			||||||
 | 
					# see https://stackoverflow.com/questions/2683279/how-to-detect-if-a-script-is-being-sourced
 | 
				
			||||||
 | 
					if [ $_ != $0 ]; then
 | 
				
			||||||
 | 
					    unset BASE_DIR
 | 
				
			||||||
 | 
					    # sourced : exit now
 | 
				
			||||||
 | 
					    return
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# subshell
 | 
				
			||||||
PYTHONPATH="$BASE_DIR"
 | 
					PYTHONPATH="$BASE_DIR"
 | 
				
			||||||
SEARX_DIR="$BASE_DIR/searx"
 | 
					SEARX_DIR="$BASE_DIR/searx"
 | 
				
			||||||
ACTION="$1"
 | 
					ACTION="$1"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
cd -- "$BASE_DIR"
 | 
					cd -- "$BASE_DIR"
 | 
				
			||||||
 | 
					set -e
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Python
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
update_packages() {
 | 
					update_packages() {
 | 
				
			||||||
    pip install --upgrade pip
 | 
					    pip install --upgrade pip
 | 
				
			||||||
@ -27,7 +43,7 @@ install_geckodriver() {
 | 
				
			|||||||
    if [ -z "$NOTFOUND" ]; then
 | 
					    if [ -z "$NOTFOUND" ]; then
 | 
				
			||||||
        return
 | 
					        return
 | 
				
			||||||
    fi
 | 
					    fi
 | 
				
			||||||
    GECKODRIVER_VERSION="v0.18.0"
 | 
					    GECKODRIVER_VERSION="v0.19.1"
 | 
				
			||||||
    PLATFORM="`python -c "import six; import platform; six.print_(platform.system().lower(), platform.architecture()[0])"`"
 | 
					    PLATFORM="`python -c "import six; import platform; six.print_(platform.system().lower(), platform.architecture()[0])"`"
 | 
				
			||||||
    case "$PLATFORM" in
 | 
					    case "$PLATFORM" in
 | 
				
			||||||
        "linux 32bit" | "linux2 32bit") ARCH="linux32";;
 | 
					        "linux 32bit" | "linux2 32bit") ARCH="linux32";;
 | 
				
			||||||
@ -58,6 +74,10 @@ install_geckodriver() {
 | 
				
			|||||||
    chmod 777 -- "$GECKODRIVER_DIR/geckodriver"
 | 
					    chmod 777 -- "$GECKODRIVER_DIR/geckodriver"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					locales() {
 | 
				
			||||||
 | 
					    pybabel compile -d "$SEARX_DIR/translations"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
pep8_check() {
 | 
					pep8_check() {
 | 
				
			||||||
    echo '[!] Running pep8 check'
 | 
					    echo '[!] Running pep8 check'
 | 
				
			||||||
    # ignored rules:
 | 
					    # ignored rules:
 | 
				
			||||||
@ -92,26 +112,16 @@ tests() {
 | 
				
			|||||||
    set +e
 | 
					    set +e
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
build_style() {
 | 
					 | 
				
			||||||
    lessc --clean-css="--s1 --advanced --compatibility=ie9" "$BASE_DIR/searx/static/$1" "$BASE_DIR/searx/static/$2"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
styles() {
 | 
					#
 | 
				
			||||||
    echo '[!] Building styles'
 | 
					# Web
 | 
				
			||||||
    build_style themes/legacy/less/style.less themes/legacy/css/style.css
 | 
					#
 | 
				
			||||||
    build_style themes/legacy/less/style-rtl.less themes/legacy/css/style-rtl.css
 | 
					 | 
				
			||||||
    build_style themes/courgette/less/style.less themes/courgette/css/style.css
 | 
					 | 
				
			||||||
    build_style themes/courgette/less/style-rtl.less themes/courgette/css/style-rtl.css
 | 
					 | 
				
			||||||
    build_style less/bootstrap/bootstrap.less css/bootstrap.min.css
 | 
					 | 
				
			||||||
    build_style themes/pix-art/less/style.less themes/pix-art/css/style.css
 | 
					 | 
				
			||||||
    # built using grunt
 | 
					 | 
				
			||||||
    #build_style themes/oscar/less/pointhi/oscar.less themes/oscar/css/pointhi.min.css
 | 
					 | 
				
			||||||
    #build_style themes/oscar/less/logicodev/oscar.less themes/oscar/css/logicodev.min.css
 | 
					 | 
				
			||||||
    #build_style themes/simple/less/style.less themes/simple/css/searx.min.css
 | 
					 | 
				
			||||||
    #build_style themes/simple/less/style-rtl.less themes/simple/css/searx-rtl.min.css
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
npm_packages() {
 | 
					npm_packages() {
 | 
				
			||||||
 | 
					    echo '[!] install NPM packages'
 | 
				
			||||||
 | 
					    cd -- "$BASE_DIR"
 | 
				
			||||||
 | 
					    npm install less@2.7 less-plugin-clean-css grunt-cli
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    echo '[!] install NPM packages for oscar theme'
 | 
					    echo '[!] install NPM packages for oscar theme'
 | 
				
			||||||
    cd -- "$BASE_DIR/searx/static/themes/oscar"
 | 
					    cd -- "$BASE_DIR/searx/static/themes/oscar"
 | 
				
			||||||
    npm install
 | 
					    npm install
 | 
				
			||||||
@ -121,6 +131,23 @@ npm_packages() {
 | 
				
			|||||||
    npm install
 | 
					    npm install
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					build_style() {
 | 
				
			||||||
 | 
					    lessc --clean-css="--s1 --advanced --compatibility=ie9" "$BASE_DIR/searx/static/$1" "$BASE_DIR/searx/static/$2"
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					styles() {
 | 
				
			||||||
 | 
					    echo '[!] Building legacy style'
 | 
				
			||||||
 | 
					    build_style themes/legacy/less/style.less themes/legacy/css/style.css
 | 
				
			||||||
 | 
					    build_style themes/legacy/less/style-rtl.less themes/legacy/css/style-rtl.css
 | 
				
			||||||
 | 
					    echo '[!] Building courgette style'
 | 
				
			||||||
 | 
					    build_style themes/courgette/less/style.less themes/courgette/css/style.css
 | 
				
			||||||
 | 
					    build_style themes/courgette/less/style-rtl.less themes/courgette/css/style-rtl.css
 | 
				
			||||||
 | 
					    echo '[!] Building pix-art style'
 | 
				
			||||||
 | 
					    build_style themes/pix-art/less/style.less themes/pix-art/css/style.css
 | 
				
			||||||
 | 
					    echo '[!] Building bootstrap style'
 | 
				
			||||||
 | 
					    build_style less/bootstrap/bootstrap.less css/bootstrap.min.css
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
grunt_build() {
 | 
					grunt_build() {
 | 
				
			||||||
    echo '[!] Grunt build : oscar theme'
 | 
					    echo '[!] Grunt build : oscar theme'
 | 
				
			||||||
    grunt --gruntfile "$SEARX_DIR/static/themes/oscar/gruntfile.js"
 | 
					    grunt --gruntfile "$SEARX_DIR/static/themes/oscar/gruntfile.js"
 | 
				
			||||||
@ -128,9 +155,9 @@ grunt_build() {
 | 
				
			|||||||
    grunt --gruntfile "$SEARX_DIR/static/themes/simple/gruntfile.js"
 | 
					    grunt --gruntfile "$SEARX_DIR/static/themes/simple/gruntfile.js"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
locales() {
 | 
					#
 | 
				
			||||||
    pybabel compile -d "$SEARX_DIR/translations"
 | 
					# Help
 | 
				
			||||||
}
 | 
					#
 | 
				
			||||||
 | 
					
 | 
				
			||||||
help() {
 | 
					help() {
 | 
				
			||||||
    [ -z "$1" ] || printf 'Error: %s\n' "$1"
 | 
					    [ -z "$1" ] || printf 'Error: %s\n' "$1"
 | 
				
			||||||
@ -138,19 +165,28 @@ help() {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
Commands
 | 
					Commands
 | 
				
			||||||
========
 | 
					========
 | 
				
			||||||
    npm_packages         - Download & install dependencies
 | 
					 | 
				
			||||||
    grunt_build          - Build js files
 | 
					 | 
				
			||||||
    help                 - This text
 | 
					    help                 - This text
 | 
				
			||||||
    locales              - Compile locales
 | 
					
 | 
				
			||||||
    pep8_check           - Pep8 validation
 | 
					    Build requirements
 | 
				
			||||||
    py_test_coverage     - Unit test coverage
 | 
					    ------------------
 | 
				
			||||||
    robot_tests          - Run selenium tests
 | 
					    update_packages      - Check & update production dependency changes
 | 
				
			||||||
    styles               - Build less files
 | 
					 | 
				
			||||||
    tests                - Run all python tests (pep8, unit, robot)
 | 
					 | 
				
			||||||
    unit_tests           - Run unit tests
 | 
					 | 
				
			||||||
    update_dev_packages  - Check & update development and production dependency changes
 | 
					    update_dev_packages  - Check & update development and production dependency changes
 | 
				
			||||||
    update_packages      - Check & update dependency changes
 | 
					 | 
				
			||||||
    install_geckodriver  - Download & install geckodriver if not already installed (required for robot_tests)
 | 
					    install_geckodriver  - Download & install geckodriver if not already installed (required for robot_tests)
 | 
				
			||||||
 | 
					    npm_packages         - Download & install npm dependencies (source manage.sh to update the PATH)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Build
 | 
				
			||||||
 | 
					    -----
 | 
				
			||||||
 | 
					    locales              - Compile locales
 | 
				
			||||||
 | 
					    styles               - Build less files
 | 
				
			||||||
 | 
					    grunt_build          - Build files for themes
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Tests
 | 
				
			||||||
 | 
					    -----
 | 
				
			||||||
 | 
					    unit_tests           - Run unit tests
 | 
				
			||||||
 | 
					    pep8_check           - Pep8 validation
 | 
				
			||||||
 | 
					    robot_tests          - Run selenium tests
 | 
				
			||||||
 | 
					    tests                - Run all python tests (pep8, unit, robot_tests)
 | 
				
			||||||
 | 
					    py_test_coverage     - Unit test coverage
 | 
				
			||||||
"
 | 
					"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user