mirror of
				https://github.com/esphome/esphome.git
				synced 2025-10-27 05:03:48 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			31 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			1.0 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| 
 | |
| # If /cache is mounted, use that as PIO's coredir
 | |
| # otherwise use path in /config (so that PIO packages aren't downloaded on each compile)
 | |
| 
 | |
| if [[ -d /cache ]]; then
 | |
|     pio_cache_base=/cache/platformio
 | |
| else
 | |
|     pio_cache_base=/config/.esphome/platformio
 | |
| fi
 | |
| 
 | |
| if [[ ! -d "${pio_cache_base}" ]]; then
 | |
|     echo "Creating cache directory ${pio_cache_base}"
 | |
|     echo "You can change this behavior by mounting a directory to the container's /cache directory."
 | |
|     mkdir -p "${pio_cache_base}"
 | |
| fi
 | |
| 
 | |
| # we can't set core_dir, because the settings file is stored in `core_dir/appstate.json`
 | |
| # setting `core_dir` would therefore prevent pio from accessing
 | |
| export PLATFORMIO_PLATFORMS_DIR="${pio_cache_base}/platforms"
 | |
| export PLATFORMIO_PACKAGES_DIR="${pio_cache_base}/packages"
 | |
| export PLATFORMIO_CACHE_DIR="${pio_cache_base}/cache"
 | |
| 
 | |
| # If /build is mounted, use that as the build path
 | |
| # otherwise use path in /config (so that builds aren't lost on container restart)
 | |
| if [[ -d /build ]]; then
 | |
|     export ESPHOME_BUILD_PATH=/build
 | |
| fi
 | |
| 
 | |
| exec esphome "$@"
 |