FROM php:8.1-cli-alpine AS base

WORKDIR /var/www

FROM base AS basedev
ARG UID=1000
ARG GID=1000

# Installation de configuration de PHP
RUN apk --no-cache add bash icu-dev libjpeg-turbo-dev libpng-dev libzip-dev shadow unzip \
    && docker-php-ext-configure gd --with-jpeg \
    && usermod -u ${UID} www-data \
    && groupmod -g ${GID} www-data \
    && docker-php-ext-install gd intl mysqli pdo pdo_mysql zip

### Installation de composer
RUN curl -o /tmp/composer-setup.php https://getcomposer.org/installer \
  && curl -o /tmp/composer-setup.sig https://composer.github.io/installer.sig \
  && php -r "if (hash('SHA384', file_get_contents('/tmp/composer-setup.php')) !== trim(file_get_contents('/tmp/composer-setup.sig'))) { unlink('/tmp/composer-setup.php'); echo 'Invalid installer' . PHP_EOL; exit(1); }" \
  && php /tmp/composer-setup.php --no-ansi --install-dir=/usr/local/bin --filename=composer && rm -rf /tmp/composer-setup.php

FROM basedev AS dev
USER www-data
VOLUME /var/www

FROM basedev AS test
ARG PS_VERSION=0.0.0.0
ENV _PS_ROOT_DIR_=/var/prestashop
COPY . /var/www
RUN composer install \
    && mkdir /var/prestashop \
    && composer create-project prestashop/prestashop ${_PS_ROOT_DIR_} ${PS_VERSION}

FROM base AS build
ARG VERSION=latest
COPY . /var/www
# Install dependencies
RUN apk add zip
# Change version in module php file
RUN sed -i "s/\$this->version = '[^']+';/\$this->version = '${VERSION}';/g" myvetshopclinique/myvetshopclinique.php
# Build version
RUN zip -r -9 -q "/var/www/build/myvetshopclinique-${VERSION}.zip" myvetshopclinique
