This commit is contained in:
Bachir Soussi Chiadmi 2019-01-28 22:07:49 +01:00
parent e26f388a6a
commit 3de0a8ba88
1 changed files with 24 additions and 20 deletions

View File

@ -1,3 +1,7 @@
# Materio Drupal 8
https://materio.com
# Composer template for Drupal projects # Composer template for Drupal projects
[![Build Status](https://travis-ci.org/drupal-composer/drupal-project.svg?branch=8.x)](https://travis-ci.org/drupal-composer/drupal-project) [![Build Status](https://travis-ci.org/drupal-composer/drupal-project.svg?branch=8.x)](https://travis-ci.org/drupal-composer/drupal-project)
@ -14,7 +18,7 @@ the [Documentation on drupal.org](https://www.drupal.org/node/2471553).
First you need to [install composer](https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx). First you need to [install composer](https://getcomposer.org/doc/00-intro.md#installation-linux-unix-osx).
> Note: The instructions below refer to the [global composer installation](https://getcomposer.org/doc/00-intro.md#globally). > Note: The instructions below refer to the [global composer installation](https://getcomposer.org/doc/00-intro.md#globally).
You might need to replace `composer` with `php composer.phar` (or similar) You might need to replace `composer` with `php composer.phar` (or similar)
for your setup. for your setup.
After that you can create the project: After that you can create the project:
@ -23,7 +27,7 @@ After that you can create the project:
composer create-project drupal-composer/drupal-project:8.x-dev some-dir --no-interaction composer create-project drupal-composer/drupal-project:8.x-dev some-dir --no-interaction
``` ```
With `composer require ...` you can download new dependencies to your With `composer require ...` you can download new dependencies to your
installation. installation.
``` ```
@ -31,8 +35,8 @@ cd some-dir
composer require drupal/devel:~1.0 composer require drupal/devel:~1.0
``` ```
The `composer create-project` command passes ownership of all files to the The `composer create-project` command passes ownership of all files to the
project that is created. You should create a new git repository, and commit project that is created. You should create a new git repository, and commit
all files not excluded by the .gitignore file. all files not excluded by the .gitignore file.
## What does the template do? ## What does the template do?
@ -53,26 +57,26 @@ When installing the given `composer.json` some tasks are taken care of:
## Updating Drupal Core ## Updating Drupal Core
This project will attempt to keep all of your Drupal Core files up-to-date; the This project will attempt to keep all of your Drupal Core files up-to-date; the
project [drupal-composer/drupal-scaffold](https://github.com/drupal-composer/drupal-scaffold) project [drupal-composer/drupal-scaffold](https://github.com/drupal-composer/drupal-scaffold)
is used to ensure that your scaffold files are updated every time drupal/core is is used to ensure that your scaffold files are updated every time drupal/core is
updated. If you customize any of the "scaffolding" files (commonly .htaccess), updated. If you customize any of the "scaffolding" files (commonly .htaccess),
you may need to merge conflicts if any of your modified files are updated in a you may need to merge conflicts if any of your modified files are updated in a
new release of Drupal core. new release of Drupal core.
Follow the steps below to update your core files. Follow the steps below to update your core files.
1. Run `composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies` to update Drupal Core and its dependencies. 1. Run `composer update drupal/core webflo/drupal-core-require-dev symfony/* --with-dependencies` to update Drupal Core and its dependencies.
1. Run `git diff` to determine if any of the scaffolding files have changed. 1. Run `git diff` to determine if any of the scaffolding files have changed.
Review the files for any changes and restore any customizations to Review the files for any changes and restore any customizations to
`.htaccess` or `robots.txt`. `.htaccess` or `robots.txt`.
1. Commit everything all together in a single commit, so `web` will remain in 1. Commit everything all together in a single commit, so `web` will remain in
sync with the `core` when checking out branches or running `git bisect`. sync with the `core` when checking out branches or running `git bisect`.
1. In the event that there are non-trivial conflicts in step 2, you may wish 1. In the event that there are non-trivial conflicts in step 2, you may wish
to perform these steps on a branch, and use `git merge` to combine the to perform these steps on a branch, and use `git merge` to combine the
updated core files with your customized files. This facilitates the use updated core files with your customized files. This facilitates the use
of a [three-way merge tool such as kdiff3](http://www.gitshah.com/2010/12/how-to-setup-kdiff-as-diff-tool-for-git.html). This setup is not necessary if your changes are simple; of a [three-way merge tool such as kdiff3](http://www.gitshah.com/2010/12/how-to-setup-kdiff-as-diff-tool-for-git.html). This setup is not necessary if your changes are simple;
keeping all of your modifications at the beginning or end of the file is a keeping all of your modifications at the beginning or end of the file is a
good strategy to keep merges easy. good strategy to keep merges easy.
## Generate composer.json from existing project ## Generate composer.json from existing project
@ -86,7 +90,7 @@ that the generated `composer.json` might differ from this project's file.
### Should I commit the contrib modules I download? ### Should I commit the contrib modules I download?
Composer recommends **no**. They provide [argumentation against but also Composer recommends **no**. They provide [argumentation against but also
workrounds if a project decides to do it anyway](https://getcomposer.org/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md). workrounds if a project decides to do it anyway](https://getcomposer.org/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md).
### Should I commit the scaffolding files? ### Should I commit the scaffolding files?
@ -111,11 +115,11 @@ achieve that by registering `@composer drupal:scaffold` as post-install and post
``` ```
### How can I apply patches to downloaded modules? ### How can I apply patches to downloaded modules?
If you need to apply patches (depending on the project being modified, a pull If you need to apply patches (depending on the project being modified, a pull
request is often a better solution), you can do so with the request is often a better solution), you can do so with the
[composer-patches](https://github.com/cweagans/composer-patches) plugin. [composer-patches](https://github.com/cweagans/composer-patches) plugin.
To add a patch to drupal module foobar insert the patches section in the extra To add a patch to drupal module foobar insert the patches section in the extra
section of composer.json: section of composer.json:
```json ```json
"extra": { "extra": {