mirror of
				https://github.com/velopack/velopack.git
				synced 2025-10-25 15:19:22 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/bin/bash
 | |
| set -e
 | |
| 
 | |
| # Find the absolute path of the script
 | |
| SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
 | |
| 
 | |
| # Check if version parameter is provided
 | |
| if [ "$#" -lt 1 ]; then
 | |
|     echo "Version number is required."
 | |
|     echo "Usage: ./build.sh [version] [extra_args...]"
 | |
|     exit 1
 | |
| fi
 | |
| 
 | |
| cd "$SCRIPT_DIR"
 | |
| 
 | |
| # Installing dependencies
 | |
| echo ""
 | |
| echo "Installing dependencies..."
 | |
| uv sync
 | |
| 
 | |
| # Generate build config
 | |
| # Note: In Python, we use r'' for raw strings. The path needs to be absolute.
 | |
| echo "update_url = r'$SCRIPT_DIR/releases'" > _build_config.py
 | |
| 
 | |
| # Building Python application
 | |
| echo ""
 | |
| echo "Building Python application..."
 | |
| uv run pyinstaller --onedir --windowed --noconfirm main.py
 | |
| 
 | |
| # Building Velopack Release
 | |
| echo ""
 | |
| echo "Building Velopack Release v$1..."
 | |
| mkdir -p publish
 | |
| cp -r dist/main/* publish/
 | |
| vpk pack --packId VelopackPythonSampleApp --mainExe main -o releases --packDir publish --packVersion "$@"
 | |
| 
 | |
| # Cleaning up
 | |
| echo ""
 | |
| echo "Cleaning up..."
 | |
| rm -rf build
 | |
| rm -rf dist
 | |
| rm -rf publish
 | |
| rm -f main.spec
 | |
| 
 | |
| echo "Done."
 |