The EIC community Drupal 8 Platform is based on OpenEuropa Drupal codebase using OpenEuropa components. It comes with installation of two components:
- The OpenEuropa Profile: a lightweight Drupal installation profile that includes the minimal number of modules to help get your started
- The OpenEuropa Theme: the official Drupal 8 theme of the European Commission which will ensure that the project complies with the European Component Library guidelines.
In order to build the functionality of the website you are free to use any of the OpenEuropa components.
You need to have the following software installed on your local development environment:
- Docker Compose
- Make
- PHP 7.2 or greater (needed to run GrumPHP Git hooks)
This application doesn't use Open Europa's default docker-compose configuration. To run to project please follow these steps:
- (macOS users) Please read Using Docker on macOS before
- Copy and rename
.env.docker
to.env
- (First time only) Setup the dev environment wih the following command:
make setup
# If you want to run frontend install and builds
make build-front
- Run
make update
In order to maximise the performance of using Docker on macOS, we strongly advise using at least version 18.03.1 of Docker which supports native NFS integration. You can find a very comprehensive article about this topic under following link Set Up Docker For Mac with Native NFS.
Before running the make setup
command, be sure that NFS is configured correctly. If not, run the bash script in order to configure Docker native NFS support.
You can find the source of a script in the article or by using this link setup_native_nfs_docker_osx.sh.
Please note that this script will use /Users by default, in some cases this might not fit. You can change it (Line 53) to use a sub-directory where applications using docker are or this project's path ($PWD).
To run the coding standards and other static checks:
docker-compose exec php ./vendor/bin/grumphp run
To run Behat tests:
docker-compose exec php ./vendor/bin/behat
If you run composer install
for the first time from within the Docker container GrumPHP will set its Git hook paths to
the container's ones.
If you get such error messages reinitialize GrumPHP paths on your host machine (meaning, outside the container) by running:
./vendor/bin/grumphp git:deinit
./vendor/bin/grumphp git:init