mirror of
https://github.com/letscontrolit/ESPEasy.git
synced 2026-09-12 09:36:59 +00:00
Create a file named "pio_envlist.txt" next to the Custom.h for Vagrant with the selected env names in it, one per line. Vagrant will then build all named PIO environments.
84 lines
2.2 KiB
Bash
84 lines
2.2 KiB
Bash
VENV=~/.venv/python2.7
|
|
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 python2.7 ${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 -U platformio
|
|
#pip install -r ${SRC}/docs/requirements.txt
|
|
|
|
|
|
# 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 CONTINUOUS_INTEGRATION" platformio run -e $line
|
|
done < "$input"
|
|
else
|
|
# Build custom_ESP8266_4M target in the platformio.ini file
|
|
PLATFORMIO_BUILD_FLAGS="-D CONTINUOUS_INTEGRATION" 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}/
|