ARG CHIP_TARGET=esp32
FROM espressif/idf:release-v5.4 AS esp32-dev

ARG CHIP_TARGET
ENV CHIP_TARGET=${CHIP_TARGET}

LABEL maintainer="cacka"
WORKDIR /opt/esp/cacka

COPY . .

RUN git config --global --add safe.directory /opt/esp/cacka

RUN apt-get update && apt-get install -y --no-install-recommends protobuf-compiler && rm -rf /var/lib/apt/lists/*

# Set chip target using ESP-IDF's environment setup
RUN export IDF_PATH_FORCE=1 && . $IDF_PATH/export.sh && idf.py set-target ${CHIP_TARGET}

RUN export IDF_PATH_FORCE=1 && . $IDF_PATH/export.sh && pip3 install nanopb

RUN echo '\
alias idf_fullclean="idf.py fullclean"\n\
alias idf_config="idf.py menuconfig"\n\
alias idf_build="idf.py build"\n\
alias idf_flash="idf.py flash"\n\
alias idf_monitor="idf.py monitor"\n\
' >> ~/.bashrc

RUN echo '. $IDF_PATH/export.sh' >> ~/.bashrc

# Default entrypoint is just bash (for dev usage)
ENTRYPOINT ["/bin/bash"]
