mirror of
https://github.com/letscontrolit/ESPEasy.git
synced 2026-07-27 19:57:38 +00:00
84 lines
2.2 KiB
Bash
84 lines
2.2 KiB
Bash
VENV=~/.venv/python3.8
|
|
SRC=~/GitHub/letscontrolit/ESPEasy
|
|
REPO=https://github.com/letscontrolit/ESPEasy.git
|
|
BRANCH=mega
|
|
|
|
PIO_BUILDENV=custom_ESP8266_4M1M
|
|
|
|
PULL_REQ=0
|
|
DESCRIPTION=""
|
|
|
|
VAGRANT_FOLDER="/vagrant"
|
|
BUILD_FOLDER=`echo "${VAGRANT_FOLDER}/build"`
|
|
CUSTOM_H_FILE="Custom.h"
|
|
ENV_LIST_FILE="pio_envlist.txt"
|
|
|
|
while getopts p:d: option
|
|
do
|
|
case "${option}"
|
|
in
|
|
p)
|
|
# get a specific pull request
|
|
PULL_REQ=${OPTARG}
|
|
;;
|
|
d) DESCRIPTION=${OPTARG};;
|
|
esac
|
|
done
|
|
|
|
|
|
|
|
# If virtualenv does not exist, make it.
|
|
if [ ! -d ${VENV} ]; then
|
|
mkdir -p ${VENV}
|
|
virtualenv -p python3.8 ${VENV}
|
|
fi
|
|
|
|
# if repository directory does not exist, make it and clone repository
|
|
if [ ! -d ${SRC} ]; then
|
|
mkdir -p ${SRC}
|
|
git clone --depth=50 --branch=${BRANCH} ${REPO} ${SRC}
|
|
fi
|
|
|
|
# Activate Python virtual environment and install/upgrade packages
|
|
source ${VENV}/bin/activate
|
|
#pip install -r ${SRC}/docs/requirements.txt
|
|
pip install -r ${SRC}/requirements.txt
|
|
pip install -U platformio
|
|
|
|
# Update platformio
|
|
cd ${SRC}
|
|
platformio update
|
|
|
|
# patch platformio core libs for PUYA bug (https://github.com/letscontrolit/ESPEasy/issues/650)
|
|
cd ${SRC}/patches; ./check_puya_patch;
|
|
cd ${SRC}
|
|
|
|
VAGRANT_CUSTOM_H_FILE=`echo "${VAGRANT_FOLDER}/${CUSTOM_H_FILE}"`
|
|
VAGRANT_PIO_ENVLIST_FILE=`echo "${VAGRANT_FOLDER}/${ENV_LIST_FILE}"`
|
|
SRC_CUSTOM_H_FILE=`echo "${SRC}/src/${CUSTOM_H_FILE}"`
|
|
SRC_PIO_ENVLIST_FILE=`echo "${SRC}/src/${ENV_LIST_FILE}"`
|
|
if [ -f ${VAGRANT_CUSTOM_H_FILE} ]; then
|
|
# replace Windows line endings with Unix line endings
|
|
sed 's/\r$//g' ${VAGRANT_CUSTOM_H_FILE} > ${SRC_CUSTOM_H_FILE}
|
|
echo "Copy ${VAGRANT_CUSTOM_H_FILE} > ${SRC_CUSTOM_H_FILE}"
|
|
fi
|
|
if [ -f ${VAGRANT_PIO_ENVLIST_FILE} ]; then
|
|
# replace Windows line endings with Unix line endings
|
|
sed 's/\r$//g' ${VAGRANT_PIO_ENVLIST_FILE} > ${SRC_PIO_ENVLIST_FILE}
|
|
input=`echo "${SRC_PIO_ENVLIST_FILE}"`
|
|
while IFS= read -r line
|
|
do
|
|
PLATFORMIO_BUILD_FLAGS="-D VAGRANT_BUILD" platformio run -e $line
|
|
done < "$input"
|
|
else
|
|
# Build custom_ESP8266_4M target in the platformio.ini file
|
|
PLATFORMIO_BUILD_FLAGS="-D VAGRANT_BUILD" platformio run -e ${PIO_BUILDENV}
|
|
fi
|
|
|
|
# rename and check file
|
|
DATE=`date +%Y%m%d`
|
|
DESCRIPTION=`echo "${DATE}_vagrant"`
|
|
${SRC}/before_deploy -d ${DESCRIPTION}
|
|
mkdir -p ${BUILD_FOLDER}
|
|
mv *.zip ${BUILD_FOLDER}/
|