diff --git a/.travis.yml b/.travis.yml index 5a3b11b9ba..0f5fea9c62 100644 --- a/.travis.yml +++ b/.travis.yml @@ -40,4 +40,4 @@ script: # Ignore Setup group temporarily, @see https://www.drupal.org/node/2962157 - ./../vendor/bin/phpunit -c core --testsuite unit --exclude-group Composer,DependencyInjection,PageCache,Setup - ./../vendor/bin/drush - - if [[ $RELEASE = stable ]]; then ./../vendor/bin/drupal; fi; + - if [[ $RELEASE = stable ]]; then php -d memory_limit=-1 ./../vendor/bin/drupal; fi; diff --git a/README.md b/README.md index 114dfaaa71..02a1e1f652 100644 --- a/README.md +++ b/README.md @@ -14,25 +14,25 @@ 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). > 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. 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.0@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. ``` 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 -project that is created. You should create a new git repository, and commit +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 all files not excluded by the .gitignore file. ## What does the template do? @@ -53,26 +53,26 @@ When installing the given `composer.json` some tasks are taken care of: ## Updating Drupal Core -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) -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), -you may need to merge conflicts if any of your modified files are updated in a +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) +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), +you may need to merge conflicts if any of your modified files are updated in a new release of Drupal core. 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 `git diff` to determine if any of the scaffolding files have changed. - Review the files for any changes and restore any customizations to +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 `.htaccess` or `robots.txt`. 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`. -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 - 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; - keeping all of your modifications at the beginning or end of the file is a +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 + 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; + keeping all of your modifications at the beginning or end of the file is a good strategy to keep merges easy. ## Generate composer.json from existing project @@ -86,7 +86,7 @@ that the generated `composer.json` might differ from this project's file. ### 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). ### Should I commit the scaffolding files? @@ -111,11 +111,11 @@ achieve that by registering `@composer drupal:scaffold` as post-install and post ``` ### How can I apply patches to downloaded modules? -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 +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 [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: ```json "extra": { diff --git a/composer.json b/composer.json index 0419896aef..67fc34562e 100644 --- a/composer.json +++ b/composer.json @@ -16,26 +16,28 @@ } ], "require": { - "php": ">=5.6", + "php": "^5.6|^7.0", "composer/installers": "^1.2", "cweagans/composer-patches": "^1.6.5", "drupal-composer/drupal-scaffold": "^2.5", "drupal/console": "^1.0.2", - "drupal/core": "^8.7.0", - "drush/drush": "^9.0.0", + "drupal/core": "^8.7", + "drush/drush": "^9", "vlucas/phpdotenv": "^2.4", - "webflo/drupal-finder": "^1.0.0", + "webflo/drupal-finder": "^1", "webmozart/path-util": "^2.3", - "zaporylie/composer-drupal-optimizations": "^1.0" + "zaporylie/composer-drupal-optimizations": "^1" }, "require-dev": { - "webflo/drupal-core-require-dev": "^8.7.0" + "behat/mink": "^1.7@dev", + "behat/mink-selenium2-driver": "^1.3@dev", + "friendsofphp/php-cs-fixer": "^2.15", + "phpunit/phpunit": "^6.5", + "webflo/drupal-core-require-dev": "^8.7" }, "conflict": { "drupal/drupal": "*" }, - "minimum-stability": "dev", - "prefer-stable": true, "config": { "sort-packages": true },