diff --git a/.jenkinsfile b/.jenkinsfile index 1c4405258..08b41026b 100755 --- a/.jenkinsfile +++ b/.jenkinsfile @@ -11,35 +11,34 @@ def createWorkflow() { ]) // Set some variables. - def buildId = sh(returnStdout: true, script: 'date | md5sum | head -c 5').trim() - def buildName = "${env.JOB_NAME}".replaceAll('ec-europa/','').replaceAll('-reference/','').replaceAll('/','_').replaceAll('-','_').trim() - def buildLink = "<${env.BUILD_URL}consoleFull|${buildName} #${env.BUILD_NUMBER}>" + def repoName = sh(returnStdout: true, script: 'git config remote.origin.url').trim().replaceAll('https://github.com/', '').replaceAll('-reference\\.git', '') + def branchName = "${env.BRANCH_NAME}" + def repoUrl = sh(returnStdout: true, script: 'git config remote.origin.url').trim().replaceAll('\\.git', '') + def buildLink = "<${env.BUILD_URL}consoleFull|build #${env.BUILD_NUMBER}> for <${repoUrl}|${repoName}> on ${branchName}" + def buildName = "${repoName}-${branchName}-${env.BUILD_NUMBER}".replaceAll('/', '-') - withEnv(["COMPOSE_PROJECT_NAME=${buildName}_${buildId}","WORKSPACE=${env.WORKSPACE}","PATH+toolkit=${env.WORKSPACE}/vendor/ec-europa/toolkit/bin"]) { + + withEnv(["COMPOSE_PROJECT_NAME=${buildName}","WORKSPACE=${env.WORKSPACE}","PATH+toolkit=${env.WORKSPACE}/vendor/ec-europa/toolkit/bin"]) { stage('Init') { setBuildStatus("Build started.", "PENDING"); - slackSend color: "good", message: "Subsite build ${buildLink} started." + slackSend color: "good", message: "Subsite ${buildLink} started." shellExecute('jenkins', 'phing', "docker-compose-up -D'docker.project.id'='${env.COMPOSE_PROJECT_NAME}'") - sh './resources/composer/scripts/post-install-cmd/install-reps-platform || true' - sh './resources/composer/scripts/post-install-cmd/install-nems-platform || true' - shellExecute('docker', 'phing', 'toolkit-starterkit-upgrade') } try { - stage('Check') { - //shellExecute('docker', 'phing', 'test-run-phpcs') + stage('Phpcs') { + shellExecute('docker', 'phing', 'test-run-phpcs') } - stage('Build') { shellExecute('docker', 'phing', 'build-platform build-subsite-dev') } - stage('Install') { + stage('Clone') { withCredentials([[$class: 'UsernamePasswordMultiBinding', credentialsId: 'ASDA', usernameVariable: 'ASDA_USER', passwordVariable: 'ASDA_PASS']]) { shellExecute('docker', 'phing', "install-clone -Ddrupal.db.name=${env.COMPOSE_PROJECT_NAME} -Ddb.dl.username=$ASDA_USER -Ddb.dl.password=$ASDA_PASS") } } - stage('Test') { + stage('Behat') { timeout(time: 2, unit: 'HOURS') { shellExecute('docker', 'phing', 'test-run-behat') } @@ -51,6 +50,7 @@ def createWorkflow() { } finally { shellExecute('jenkins', 'phing', "docker-compose-stop -D'docker.project.id'='${env.COMPOSE_PROJECT_NAME}'") shellExecute('jenkins', 'phing', "docker-compose-down -D'docker.project.id'='${env.COMPOSE_PROJECT_NAME}'") + slackSend color: "good", message: "Subsite build ${buildLink} ended succesfully." } } } diff --git a/docs/configuring-project.md b/docs/configuring-project.md index c4ebea653..15df90d00 100755 --- a/docs/configuring-project.md +++ b/docs/configuring-project.md @@ -14,7 +14,7 @@ of your project. This file is never loaded into active configuration and purely acts as an overview of all build properties that are available to you. -
Example of the build.default.project file

+

Example of the build.default.props file

```yaml # Toolkit location: ./includes/phing/build/boot.props diff --git a/docs/upgrading.md b/docs/upgrading.md index 24a67612e..0e8d2c64b 100755 --- a/docs/upgrading.md +++ b/docs/upgrading.md @@ -1,91 +1,108 @@ -## Upgrade from 2.0.x to 3.0.x +## Upgrade subsite-starterkit to toolkit -Subsite Starterkit 3.0.0 introduces itself as a Composer package. In order -to provide that a new building procedure has been put in place. These -upgrade instructions assume that your subsite is a "git fork" of the old -repository at https://github.com/ec-europa/subsite-starterkit. + -### 1.1 Phing upgrade +This screencast explains how to upgrade a subsite-starterkit based project to +the composer package based toolkit. To complete the upgrade you need to execute +the 5 steps listed below in the upgrade steps. After the upgrade you might have +to fix some files that may have been altered by the upgrade script. It is best +to use a dedicated branch for the upgrade so your master branch stays unaffected +until the pull request has been merged into the master of reference. + +If your project has no custom Phing targets and has not altered any composer +files that were provided by the subsite-starterkit you should not encounter any +problems during this upgrade process. + +### Upgrade guide + +#### Up-to-date branch + +Check out new dedicated branch and make sure it is up to date with master of the +reference repository. + +>```bash +> git checkout -b starterkit/upgrade +> git remote add reference https://github.com/ec-europa/-reference.git +> git fetch reference +> git merge reference/master +>``` + +#### Upgrade steps + +These are the 5 steps needed to complete the upgrade. >```bash > curl https://raw.githubusercontent.com/ec-europa/toolkit/master/includes/templates/subsite/composer.json > composer.json > curl https://raw.githubusercontent.com/ec-europa/toolkit/master/includes/templates/subsite/build.xml > build.xml > rm -rf ./vendor ./bin ./composer.lock > composer install -> ./toolkit/phing toolkit-upgrade-starterkit +> ./toolkit/phing toolkit-starterkit-upgrade >``` -The biggest structural change is in the lib folder. Because of the new symlink system the structure in the build folder will match the structure in the lib folder. To align all projects we request to make the following lib structure: -* libraries -* modules - * custom - * features -* profiles (platform only) -* src -* themes - -Other tasks that need to happen: -- merge the projects gitignore with the new toolkit gitignore file. This -will probably happen through a build target. -- remove the build-custom target from the build.project.xml. Toolkit -should provide a new template if the original one wasn't altered. -- - -### 1.2 Manual process -Manually delete all files that are only specific to the starterkit. -Below is a list of files *to keep*. So anything not mentioned below should -be deleted. - -Starterkit 3.0.0 templates: (fetch) -> +#### Gitignore + +After the upgrade is complete you should check what files have changed and that +your gitignore file does not allow to commit new files placed by the toolkit. If +you want to make sure you have a correct gitignore file you can download it from +the toolkit subsite templates folder. + >```bash ->- composer.json ->- build.xml ->- Jenkinsfile +> git status +> curl https://raw.githubusercontent.com/ec-europa/toolkit/master/includes/templates/subsite/.gitignore > .gitignore +> git status >``` -Subsite specific files: (to keep) -> ->```bash ->- .git/ ->- .gitattributes ->- .gitignore ->- build.project.props ->- lib/features/* ->- lib/modules/* ->- lib/themes/* ->- resources/site.make ->- resources/composer.json ->- resources/composer.lock ->- tests/* -> ``` - -Subsite specific files: (to keep and rename) -> +#### Files renamed + +Good to know is that there have been some files renamed. Here is a list of the +most important ones. + +|subsite-starterkit|toolkit|Description| +|:---|:---|:---| +|./resources/phpcs-custom.xml|./phpcs-ruleset.xml|The phpcs exclusion rules defined by the project.| +|./resources/build.custom.xml|./build.project.xml|Custom Phing build targets defined by the project.| +|./build.properties|./build.project.props|Properties defined by the project.| +|./build.properties.dist|./build.default.props|List of all available properties.| +|./build.properties.local|./build.develop.props|Local properties for credentials and developer settings.| + +#### Build properties + +During the upgrade your build.properties file will be renamed to +build.project.props. In toolkit this file is required for CI purposes and you +need a minimum of properties defined there: +[required.props](../includes/phing/props/required.props) + +The toolkit is not backwards compatible with +subsite-starterkit so you might have to rename some properties. View a list +of old property names mapped to new property names here: +[deprecated.props](../includes/phing/build/help/deprecated.props). + +#### Phpcs + +After you completed the upgrade you also need to make sure your codebase is in +compliance with the new version of coder. To run PHPCS you can use a Phing +target: + >```bash ->- resources/build.custom.xml => ../build.project.xml ->- resources/phpcs-custom.xml => ../phpcs-ruleset.xml +> ./toolkit/phing test-run-phpcs +> ./toolkit/phpcbf +> ./toolkit/phing test-run-phpcs >``` -### 1.3 Upgrade through upstream merge - -If you are absolutely certain that you have no starterkit modifications in any other -files then we can let you try an upgrade path. But we do not guarantee a working -starterkit after you merge the branch. So if you decide to merge the upgrade branch, -please use an intermediary to forward a pull request so you can review it fully. +#### Behat -> ``` -> $ git checkout -b intermediary -> $ git remote add starterkit https://github.com/ec-europa/subsite-starterkit.git -> $ git fetch starterkit -> $ git merge starterkit/upgrade -> ``` +Your ./tests folder is overridden by the `./toolkit/phing toolkit-starterkit-upgrade` +target. The new ./tests folder contains a couple of generic tests that we will +be using on CI tools. If you do not wish to use the generic tests and you have +provided your own you can checkout your own tests again. -And last but not least we should remove the remote that has been replaced by the new -Subsite Starterkit package in your composer.json. Then you are ready to update the -new Subsite Starterkit for the first time. +>```bash +> rm -rf ./tests +> git checkout master ./tests +>``` -> ``` -> $ git remote rm starterkit -> $ composer update -> ``` +After you have made sure all is working correctly you can commit and push your +upgrade. When it's ready for review create a pull request to the reference +repository and a MULTISITE ticket so it can be QA'ed. diff --git a/includes/composer/composer.json b/includes/composer/composer.json index 7e4631eb5..2ec6448da 100755 --- a/includes/composer/composer.json +++ b/includes/composer/composer.json @@ -22,7 +22,7 @@ "require-dev": { "behat/behat": "~3.1.0@rc", "drupal/drupal-extension": "~3.1.0", - "ec-europa/qa-automation": "dev-release/3.0" + "ec-europa/qa-automation": "~3.0.5" }, "_comment_minimum_stability": "Remove the 'minimum-stability' and 'prefer-stable' directives once new releases of Coder and PHP CodeSniffer are available.", "minimum-stability": "dev", diff --git a/includes/composer/composer.lock b/includes/composer/composer.lock index 57cd5c740..6c2e9d5c6 100644 --- a/includes/composer/composer.lock +++ b/includes/composer/composer.lock @@ -4,8 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "hash": "8cf6a99e4c79bd72453035456b1c4e60", - "content-hash": "dc34c5e1b013059531c397b38d780080", + "content-hash": "39b166957f3fffa85382ac58e005021a", "packages": [ { "name": "cpliakas/git-wrapper", @@ -60,7 +59,7 @@ "keywords": [ "git" ], - "time": "2016-10-27 00:40:21" + "time": "2016-10-27T00:40:21+00:00" }, { "name": "cweagans/composer-patches", @@ -111,7 +110,7 @@ "support": { "source": "https://github.com/verbruggenalex/composer-patches/tree/checkpatched" }, - "time": "2017-04-16 11:19:19" + "time": "2017-04-16T11:19:19+00:00" }, { "name": "dnoegel/php-xdg-base-dir", @@ -144,7 +143,7 @@ "MIT" ], "description": "implementation of xdg base directory specification for php", - "time": "2014-10-24 07:27:01" + "time": "2014-10-24T07:27:01+00:00" }, { "name": "drupal/phingdrushtask", @@ -235,7 +234,7 @@ "issues": "https://www.drupal.org/project/issues/phingdrushtask", "source": "http://cgit.drupalcode.org/phingdrushtask" }, - "time": "2016-12-02 20:39:55" + "time": "2016-12-02T20:39:55+00:00" }, { "name": "drupol/phingbehattask", @@ -295,7 +294,7 @@ "phing", "test" ], - "time": "2016-11-24 09:43:44" + "time": "2016-11-24T09:43:44+00:00" }, { "name": "drush/drush", @@ -396,7 +395,7 @@ ], "description": "Drush is a command line shell and scripting interface for Drupal, a veritable Swiss Army knife designed to make life easier for those of us who spend some of our working hours hacking away at the command prompt.", "homepage": "http://www.drush.org", - "time": "2016-03-08 21:00:41" + "time": "2016-03-08T21:00:41+00:00" }, { "name": "guzzle/guzzle", @@ -489,7 +488,7 @@ "web service" ], "abandoned": "guzzlehttp/guzzle", - "time": "2014-01-28 22:29:15" + "time": "2014-01-28T22:29:15+00:00" }, { "name": "guzzlehttp/guzzle", @@ -554,7 +553,7 @@ "rest", "web service" ], - "time": "2017-06-22 18:50:49" + "time": "2017-06-22T18:50:49+00:00" }, { "name": "guzzlehttp/promises", @@ -605,7 +604,7 @@ "keywords": [ "promise" ], - "time": "2016-12-20 10:07:11" + "time": "2016-12-20T10:07:11+00:00" }, { "name": "guzzlehttp/psr7", @@ -670,7 +669,7 @@ "uri", "url" ], - "time": "2017-03-20 17:10:46" + "time": "2017-03-20T17:10:46+00:00" }, { "name": "jakub-onderka/php-console-color", @@ -713,7 +712,7 @@ "homepage": "http://www.acci.cz" } ], - "time": "2014-04-08 15:00:19" + "time": "2014-04-08T15:00:19+00:00" }, { "name": "jakub-onderka/php-console-highlighter", @@ -757,7 +756,7 @@ "homepage": "http://www.acci.cz/" } ], - "time": "2015-04-20 18:58:01" + "time": "2015-04-20T18:58:01+00:00" }, { "name": "kasperg/phing-github", @@ -799,7 +798,7 @@ "support": { "source": "https://github.com/verbruggenalex/phing-github/tree/feature/import" }, - "time": "2017-09-17 12:48:13" + "time": "2017-09-17T12:48:13+00:00" }, { "name": "knplabs/github-api", @@ -860,20 +859,20 @@ "gist", "github" ], - "time": "2014-09-23 05:58:10" + "time": "2014-09-23T05:58:10+00:00" }, { "name": "nikic/php-parser", - "version": "v3.1.1", + "version": "v3.1.2", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "a1e8e1a30e1352f118feff1a8481066ddc2f234a" + "reference": "08131e7ff29de6bb9f12275c7d35df71f25f4d89" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a1e8e1a30e1352f118feff1a8481066ddc2f234a", - "reference": "a1e8e1a30e1352f118feff1a8481066ddc2f234a", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/08131e7ff29de6bb9f12275c7d35df71f25f4d89", + "reference": "08131e7ff29de6bb9f12275c7d35df71f25f4d89", "shasum": "" }, "require": { @@ -911,7 +910,7 @@ "parser", "php" ], - "time": "2017-09-02 17:10:46" + "time": "2017-11-04T11:48:34+00:00" }, { "name": "pear/archive_tar", @@ -977,7 +976,7 @@ "archive", "tar" ], - "time": "2017-06-11 17:28:11" + "time": "2017-06-11T17:28:11+00:00" }, { "name": "pear/console_getopt", @@ -1024,7 +1023,7 @@ } ], "description": "More info available on: http://pear.php.net/package/Console_Getopt", - "time": "2015-07-20 20:28:12" + "time": "2015-07-20T20:28:12+00:00" }, { "name": "pear/console_table", @@ -1079,7 +1078,7 @@ "keywords": [ "console" ], - "time": "2016-01-21 16:14:31" + "time": "2016-01-21T16:14:31+00:00" }, { "name": "pear/pear-core-minimal", @@ -1123,7 +1122,7 @@ } ], "description": "Minimal set of PEAR core files to be used as composer dependency", - "time": "2017-02-28 16:46:11" + "time": "2017-02-28T16:46:11+00:00" }, { "name": "pear/pear_exception", @@ -1178,7 +1177,7 @@ "keywords": [ "exception" ], - "time": "2015-02-10 20:07:52" + "time": "2015-02-10T20:07:52+00:00" }, { "name": "pear/versioncontrol_git", @@ -1222,7 +1221,7 @@ } ], "description": "VersionControl_Git is a library that provides OO interface to handle Git repository.", - "time": "2017-08-23 19:37:51" + "time": "2017-08-23T19:37:51+00:00" }, { "name": "pfrenssen/phpcs-pre-push", @@ -1331,7 +1330,7 @@ "task", "tool" ], - "time": "2016-12-22 20:16:33" + "time": "2016-12-22T20:16:33+00:00" }, { "name": "psr/http-message", @@ -1381,7 +1380,7 @@ "request", "response" ], - "time": "2016-08-06 14:39:51" + "time": "2016-08-06T14:39:51+00:00" }, { "name": "psr/log", @@ -1428,20 +1427,20 @@ "psr", "psr-3" ], - "time": "2016-10-10 12:19:37" + "time": "2016-10-10T12:19:37+00:00" }, { "name": "psy/psysh", - "version": "v0.8.11", + "version": "v0.8.15", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "b193cd020e8c6b66cea6457826ae005e94e6d2c0" + "reference": "b1d289c2cb03a2f8249912c53e96ced38f879926" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/b193cd020e8c6b66cea6457826ae005e94e6d2c0", - "reference": "b193cd020e8c6b66cea6457826ae005e94e6d2c0", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/b1d289c2cb03a2f8249912c53e96ced38f879926", + "reference": "b1d289c2cb03a2f8249912c53e96ced38f879926", "shasum": "" }, "require": { @@ -1455,7 +1454,7 @@ "require-dev": { "friendsofphp/php-cs-fixer": "~1.11", "hoa/console": "~3.16|~1.14", - "phpunit/phpunit": "~4.4|~5.0", + "phpunit/phpunit": "^4.8.35|^5.4.3", "symfony/finder": "~2.1|~3.0" }, "suggest": { @@ -1501,7 +1500,7 @@ "interactive", "shell" ], - "time": "2017-07-29 19:30:02" + "time": "2017-11-16T14:29:51+00:00" }, { "name": "squizlabs/php_codesniffer", @@ -1579,20 +1578,20 @@ "phpcs", "standards" ], - "time": "2017-05-22 02:43:20" + "time": "2017-05-22T02:43:20+00:00" }, { "name": "symfony/console", - "version": "v3.3.9", + "version": "v3.3.13", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "a1e1b01293a090cb9ae2ddd221a3251a4a7e4abf" + "reference": "63cd7960a0a522c3537f6326706d7f3b8de65805" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a1e1b01293a090cb9ae2ddd221a3251a4a7e4abf", - "reference": "a1e1b01293a090cb9ae2ddd221a3251a4a7e4abf", + "url": "https://api.github.com/repos/symfony/console/zipball/63cd7960a0a522c3537f6326706d7f3b8de65805", + "reference": "63cd7960a0a522c3537f6326706d7f3b8de65805", "shasum": "" }, "require": { @@ -1647,20 +1646,20 @@ ], "description": "Symfony Console Component", "homepage": "https://symfony.com", - "time": "2017-09-06 16:40:18" + "time": "2017-11-16T15:24:32+00:00" }, { "name": "symfony/debug", - "version": "v3.3.9", + "version": "v3.3.13", "source": { "type": "git", "url": "https://github.com/symfony/debug.git", - "reference": "8beb24eec70b345c313640962df933499373a944" + "reference": "74557880e2846b5c84029faa96b834da37e29810" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/debug/zipball/8beb24eec70b345c313640962df933499373a944", - "reference": "8beb24eec70b345c313640962df933499373a944", + "url": "https://api.github.com/repos/symfony/debug/zipball/74557880e2846b5c84029faa96b834da37e29810", + "reference": "74557880e2846b5c84029faa96b834da37e29810", "shasum": "" }, "require": { @@ -1703,20 +1702,20 @@ ], "description": "Symfony Debug Component", "homepage": "https://symfony.com", - "time": "2017-09-01 13:23:39" + "time": "2017-11-10T16:38:39+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v3.3.9", + "version": "v3.3.13", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "54ca9520a00386f83bca145819ad3b619aaa2485" + "reference": "271d8c27c3ec5ecee6e2ac06016232e249d638d9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/54ca9520a00386f83bca145819ad3b619aaa2485", - "reference": "54ca9520a00386f83bca145819ad3b619aaa2485", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/271d8c27c3ec5ecee6e2ac06016232e249d638d9", + "reference": "271d8c27c3ec5ecee6e2ac06016232e249d638d9", "shasum": "" }, "require": { @@ -1766,20 +1765,20 @@ ], "description": "Symfony EventDispatcher Component", "homepage": "https://symfony.com", - "time": "2017-07-29 21:54:42" + "time": "2017-11-05T15:47:03+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.5.0", + "version": "v1.6.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "7c8fae0ac1d216eb54349e6a8baa57d515fe8803" + "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7c8fae0ac1d216eb54349e6a8baa57d515fe8803", - "reference": "7c8fae0ac1d216eb54349e6a8baa57d515fe8803", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", + "reference": "2ec8b39c38cb16674bbf3fea2b6ce5bf117e1296", "shasum": "" }, "require": { @@ -1791,7 +1790,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.5-dev" + "dev-master": "1.6-dev" } }, "autoload": { @@ -1825,20 +1824,20 @@ "portable", "shim" ], - "time": "2017-06-14 15:44:48" + "time": "2017-10-11T12:05:26+00:00" }, { "name": "symfony/process", - "version": "v3.3.9", + "version": "v3.3.13", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "b7666e9b438027a1ea0e1ee813ec5042d5d7f6f0" + "reference": "a56a3989fb762d7b19a0cf8e7693ee99a6ffb78d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/b7666e9b438027a1ea0e1ee813ec5042d5d7f6f0", - "reference": "b7666e9b438027a1ea0e1ee813ec5042d5d7f6f0", + "url": "https://api.github.com/repos/symfony/process/zipball/a56a3989fb762d7b19a0cf8e7693ee99a6ffb78d", + "reference": "a56a3989fb762d7b19a0cf8e7693ee99a6ffb78d", "shasum": "" }, "require": { @@ -1874,20 +1873,20 @@ ], "description": "Symfony Process Component", "homepage": "https://symfony.com", - "time": "2017-07-29 21:54:42" + "time": "2017-11-13T15:31:11+00:00" }, { "name": "symfony/var-dumper", - "version": "v3.3.9", + "version": "v3.3.13", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "89fcb5a73e0ede2be2512234c4e40457bb22b35f" + "reference": "805de6bd6869073e60610df1b14ab7d969c61b01" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/89fcb5a73e0ede2be2512234c4e40457bb22b35f", - "reference": "89fcb5a73e0ede2be2512234c4e40457bb22b35f", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/805de6bd6869073e60610df1b14ab7d969c61b01", + "reference": "805de6bd6869073e60610df1b14ab7d969c61b01", "shasum": "" }, "require": { @@ -1942,20 +1941,20 @@ "debug", "dump" ], - "time": "2017-08-27 14:52:21" + "time": "2017-11-07T14:16:22+00:00" }, { "name": "symfony/yaml", - "version": "v3.3.9", + "version": "v3.3.13", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "1d8c2a99c80862bdc3af94c1781bf70f86bccac0" + "reference": "0938408c4faa518d95230deabb5f595bf0de31b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/1d8c2a99c80862bdc3af94c1781bf70f86bccac0", - "reference": "1d8c2a99c80862bdc3af94c1781bf70f86bccac0", + "url": "https://api.github.com/repos/symfony/yaml/zipball/0938408c4faa518d95230deabb5f595bf0de31b9", + "reference": "0938408c4faa518d95230deabb5f595bf0de31b9", "shasum": "" }, "require": { @@ -1997,7 +1996,7 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2017-07-29 21:54:42" + "time": "2017-11-10T18:26:04+00:00" }, { "name": "wimg/php-compatibility", @@ -2044,7 +2043,7 @@ "phpcs", "standards" ], - "time": "2016-10-30 14:34:26" + "time": "2016-10-30T14:34:26+00:00" } ], "packages-dev": [ @@ -2126,7 +2125,7 @@ "symfony", "testing" ], - "time": "2016-03-28 07:04:45" + "time": "2016-03-28T07:04:45+00:00" }, { "name": "behat/gherkin", @@ -2185,7 +2184,7 @@ "gherkin", "parser" ], - "time": "2017-08-30 11:04:43" + "time": "2017-08-30T11:04:43+00:00" }, { "name": "behat/mink", @@ -2243,7 +2242,7 @@ "testing", "web" ], - "time": "2016-03-05 08:26:18" + "time": "2016-03-05T08:26:18+00:00" }, { "name": "behat/mink-browserkit-driver", @@ -2299,7 +2298,7 @@ "browser", "testing" ], - "time": "2016-03-05 08:59:47" + "time": "2016-03-05T08:59:47+00:00" }, { "name": "behat/mink-extension", @@ -2358,7 +2357,7 @@ "test", "web" ], - "time": "2016-02-15 07:55:18" + "time": "2016-02-15T07:55:18+00:00" }, { "name": "behat/mink-goutte-driver", @@ -2413,7 +2412,7 @@ "headless", "testing" ], - "time": "2016-03-05 09:04:22" + "time": "2016-03-05T09:04:22+00:00" }, { "name": "behat/mink-selenium2-driver", @@ -2474,7 +2473,7 @@ "testing", "webdriver" ], - "time": "2016-03-05 09:10:18" + "time": "2016-03-05T09:10:18+00:00" }, { "name": "behat/transliterator", @@ -2518,7 +2517,7 @@ "slug", "transliterator" ], - "time": "2017-04-04 11:38:05" + "time": "2017-04-04T11:38:05+00:00" }, { "name": "drupal/coder", @@ -2552,20 +2551,20 @@ "issues": "https://www.drupal.org/project/issues/coder", "source": "https://www.drupal.org/project/coder" }, - "time": "2017-03-18 10:28:49" + "time": "2017-03-18T10:28:49+00:00" }, { "name": "drupal/drupal-driver", - "version": "v1.2.1", + "version": "v1.3.1", "source": { "type": "git", "url": "https://github.com/jhedstrom/DrupalDriver.git", - "reference": "125d39918c97f7a08e3110d456a0a1db864dae46" + "reference": "a3940d6ee9a05de00e2ada9acaff48ce5542e7c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/jhedstrom/DrupalDriver/zipball/125d39918c97f7a08e3110d456a0a1db864dae46", - "reference": "125d39918c97f7a08e3110d456a0a1db864dae46", + "url": "https://api.github.com/repos/jhedstrom/DrupalDriver/zipball/a3940d6ee9a05de00e2ada9acaff48ce5542e7c5", + "reference": "a3940d6ee9a05de00e2ada9acaff48ce5542e7c5", "shasum": "" }, "require": { @@ -2575,6 +2574,7 @@ "require-dev": { "drupal/coder": "~8.2.0", "drush-ops/behat-drush-endpoint": "*", + "jakub-onderka/php-parallel-lint": "^0.9.2", "mockery/mockery": "0.9.4", "phpspec/phpspec": "~2.0", "phpunit/phpunit": "~4.0" @@ -2609,7 +2609,7 @@ "test", "web" ], - "time": "2016-06-20 16:29:51" + "time": "2017-11-20T18:44:48+00:00" }, { "name": "drupal/drupal-extension", @@ -2663,20 +2663,20 @@ "test", "web" ], - "time": "2015-12-22 20:10:14" + "time": "2015-12-22T20:10:14+00:00" }, { "name": "ec-europa/qa-automation", - "version": "dev-release/3.0", + "version": "3.0.5", "source": { "type": "git", "url": "https://github.com/ec-europa/qa-automation.git", - "reference": "fbec58cfaf143c4e9ebb2de37099df2ca4525558" + "reference": "fa837a10abc14344c1baea4967ce6f3516ffdd4e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ec-europa/qa-automation/zipball/fbec58cfaf143c4e9ebb2de37099df2ca4525558", - "reference": "fbec58cfaf143c4e9ebb2de37099df2ca4525558", + "url": "https://api.github.com/repos/ec-europa/qa-automation/zipball/fa837a10abc14344c1baea4967ce6f3516ffdd4e", + "reference": "fa837a10abc14344c1baea4967ce6f3516ffdd4e", "shasum": "" }, "require": { @@ -2700,28 +2700,31 @@ }, "notification-url": "https://packagist.org/downloads/", "description": "Performs automated QA checks and extra php codesniffs for the subsite starterkit.", - "time": "2017-08-02 22:24:18" + "time": "2017-11-21T10:56:29+00:00" }, { "name": "fabpot/goutte", - "version": "v3.2.1", + "version": "v3.2.2", "source": { "type": "git", "url": "https://github.com/FriendsOfPHP/Goutte.git", - "reference": "db5c28f4a010b4161d507d5304e28a7ebf211638" + "reference": "395f61d7c2e15a813839769553a4de16fa3b3c96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/db5c28f4a010b4161d507d5304e28a7ebf211638", - "reference": "db5c28f4a010b4161d507d5304e28a7ebf211638", + "url": "https://api.github.com/repos/FriendsOfPHP/Goutte/zipball/395f61d7c2e15a813839769553a4de16fa3b3c96", + "reference": "395f61d7c2e15a813839769553a4de16fa3b3c96", "shasum": "" }, "require": { "guzzlehttp/guzzle": "^6.0", "php": ">=5.5.0", - "symfony/browser-kit": "~2.1|~3.0", - "symfony/css-selector": "~2.1|~3.0", - "symfony/dom-crawler": "~2.1|~3.0" + "symfony/browser-kit": "~2.1|~3.0|~4.0", + "symfony/css-selector": "~2.1|~3.0|~4.0", + "symfony/dom-crawler": "~2.1|~3.0|~4.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "^3.3 || ^4" }, "type": "application", "extra": { @@ -2732,7 +2735,10 @@ "autoload": { "psr-4": { "Goutte\\": "Goutte" - } + }, + "exclude-from-classmap": [ + "Goutte/Tests" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2749,7 +2755,7 @@ "keywords": [ "scraper" ], - "time": "2017-01-03 13:21:43" + "time": "2017-11-19T08:45:40+00:00" }, { "name": "instaclick/php-webdriver", @@ -2808,7 +2814,7 @@ "webdriver", "webtest" ], - "time": "2017-06-30 04:02:48" + "time": "2017-06-30T04:02:48+00:00" }, { "name": "psr/container", @@ -2857,20 +2863,20 @@ "container-interop", "psr" ], - "time": "2017-02-14 16:28:37" + "time": "2017-02-14T16:28:37+00:00" }, { "name": "symfony/browser-kit", - "version": "v3.3.9", + "version": "v3.3.13", "source": { "type": "git", "url": "https://github.com/symfony/browser-kit.git", - "reference": "aee7120b058c268363e606ff5fe8271da849a1b5" + "reference": "03f957cd24bf939524f07b8b910c89cfcad722a8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/browser-kit/zipball/aee7120b058c268363e606ff5fe8271da849a1b5", - "reference": "aee7120b058c268363e606ff5fe8271da849a1b5", + "url": "https://api.github.com/repos/symfony/browser-kit/zipball/03f957cd24bf939524f07b8b910c89cfcad722a8", + "reference": "03f957cd24bf939524f07b8b910c89cfcad722a8", "shasum": "" }, "require": { @@ -2914,20 +2920,20 @@ ], "description": "Symfony BrowserKit Component", "homepage": "https://symfony.com", - "time": "2017-07-29 21:54:42" + "time": "2017-11-07T14:12:55+00:00" }, { "name": "symfony/class-loader", - "version": "v3.3.9", + "version": "v3.3.13", "source": { "type": "git", "url": "https://github.com/symfony/class-loader.git", - "reference": "9c69968ce57924e9e93550895cd2b0477edf0e19" + "reference": "df173ac2af96ce202bf8bb5a3fc0bec8a4fdd4d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/class-loader/zipball/9c69968ce57924e9e93550895cd2b0477edf0e19", - "reference": "9c69968ce57924e9e93550895cd2b0477edf0e19", + "url": "https://api.github.com/repos/symfony/class-loader/zipball/df173ac2af96ce202bf8bb5a3fc0bec8a4fdd4d1", + "reference": "df173ac2af96ce202bf8bb5a3fc0bec8a4fdd4d1", "shasum": "" }, "require": { @@ -2970,20 +2976,20 @@ ], "description": "Symfony ClassLoader Component", "homepage": "https://symfony.com", - "time": "2017-07-29 21:54:42" + "time": "2017-11-05T15:47:03+00:00" }, { "name": "symfony/config", - "version": "v3.3.9", + "version": "v3.3.13", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "f9f19a39ee178f61bb2190f51ff7c517c2159315" + "reference": "8d2649077dc54dfbaf521d31f217383d82303c5f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/f9f19a39ee178f61bb2190f51ff7c517c2159315", - "reference": "f9f19a39ee178f61bb2190f51ff7c517c2159315", + "url": "https://api.github.com/repos/symfony/config/zipball/8d2649077dc54dfbaf521d31f217383d82303c5f", + "reference": "8d2649077dc54dfbaf521d31f217383d82303c5f", "shasum": "" }, "require": { @@ -3032,20 +3038,20 @@ ], "description": "Symfony Config Component", "homepage": "https://symfony.com", - "time": "2017-09-04 16:28:07" + "time": "2017-11-07T14:16:22+00:00" }, { "name": "symfony/css-selector", - "version": "v3.3.9", + "version": "v3.3.13", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "c5f5263ed231f164c58368efbce959137c7d9488" + "reference": "66e6e046032ebdf1f562c26928549f613d428bd1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/c5f5263ed231f164c58368efbce959137c7d9488", - "reference": "c5f5263ed231f164c58368efbce959137c7d9488", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/66e6e046032ebdf1f562c26928549f613d428bd1", + "reference": "66e6e046032ebdf1f562c26928549f613d428bd1", "shasum": "" }, "require": { @@ -3085,20 +3091,20 @@ ], "description": "Symfony CssSelector Component", "homepage": "https://symfony.com", - "time": "2017-07-29 21:54:42" + "time": "2017-11-05T15:47:03+00:00" }, { "name": "symfony/dependency-injection", - "version": "v3.3.9", + "version": "v3.3.13", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "e593f06dd90a81c7b70ac1c49862a061b0ec06d2" + "reference": "4e84f5af2c2d51ee3dee72df40b7fc08f49b4ab8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/e593f06dd90a81c7b70ac1c49862a061b0ec06d2", - "reference": "e593f06dd90a81c7b70ac1c49862a061b0ec06d2", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/4e84f5af2c2d51ee3dee72df40b7fc08f49b4ab8", + "reference": "4e84f5af2c2d51ee3dee72df40b7fc08f49b4ab8", "shasum": "" }, "require": { @@ -3155,20 +3161,20 @@ ], "description": "Symfony DependencyInjection Component", "homepage": "https://symfony.com", - "time": "2017-09-05 20:39:38" + "time": "2017-11-13T18:10:32+00:00" }, { "name": "symfony/dom-crawler", - "version": "v3.3.9", + "version": "v3.3.13", "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "6b511d7329b203a620f09a2288818d27dcc915ae" + "reference": "cebe3c068867956e012d9135282ba6a05d8a259e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/6b511d7329b203a620f09a2288818d27dcc915ae", - "reference": "6b511d7329b203a620f09a2288818d27dcc915ae", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/cebe3c068867956e012d9135282ba6a05d8a259e", + "reference": "cebe3c068867956e012d9135282ba6a05d8a259e", "shasum": "" }, "require": { @@ -3211,20 +3217,20 @@ ], "description": "Symfony DomCrawler Component", "homepage": "https://symfony.com", - "time": "2017-09-11 15:55:22" + "time": "2017-11-05T15:47:03+00:00" }, { "name": "symfony/filesystem", - "version": "v3.3.9", + "version": "v3.3.13", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "b32a0e5f928d0fa3d1dd03c78d020777e50c10cb" + "reference": "77db266766b54db3ee982fe51868328b887ce15c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/b32a0e5f928d0fa3d1dd03c78d020777e50c10cb", - "reference": "b32a0e5f928d0fa3d1dd03c78d020777e50c10cb", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/77db266766b54db3ee982fe51868328b887ce15c", + "reference": "77db266766b54db3ee982fe51868328b887ce15c", "shasum": "" }, "require": { @@ -3260,20 +3266,20 @@ ], "description": "Symfony Filesystem Component", "homepage": "https://symfony.com", - "time": "2017-07-29 21:54:42" + "time": "2017-11-07T14:12:55+00:00" }, { "name": "symfony/finder", - "version": "v3.3.9", + "version": "v3.3.13", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "b2260dbc80f3c4198f903215f91a1ac7fe9fe09e" + "reference": "138af5ec075d4b1d1bd19de08c38a34bb2d7d880" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/b2260dbc80f3c4198f903215f91a1ac7fe9fe09e", - "reference": "b2260dbc80f3c4198f903215f91a1ac7fe9fe09e", + "url": "https://api.github.com/repos/symfony/finder/zipball/138af5ec075d4b1d1bd19de08c38a34bb2d7d880", + "reference": "138af5ec075d4b1d1bd19de08c38a34bb2d7d880", "shasum": "" }, "require": { @@ -3309,20 +3315,20 @@ ], "description": "Symfony Finder Component", "homepage": "https://symfony.com", - "time": "2017-07-29 21:54:42" + "time": "2017-11-05T15:47:03+00:00" }, { "name": "symfony/translation", - "version": "v3.3.9", + "version": "v3.3.13", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "add53753d978f635492dfe8cd6953f6a7361ef90" + "reference": "373e553477e55cd08f8b86b74db766c75b987fdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/add53753d978f635492dfe8cd6953f6a7361ef90", - "reference": "add53753d978f635492dfe8cd6953f6a7361ef90", + "url": "https://api.github.com/repos/symfony/translation/zipball/373e553477e55cd08f8b86b74db766c75b987fdb", + "reference": "373e553477e55cd08f8b86b74db766c75b987fdb", "shasum": "" }, "require": { @@ -3374,7 +3380,7 @@ ], "description": "Symfony Translation Component", "homepage": "https://symfony.com", - "time": "2017-07-29 21:54:42" + "time": "2017-11-07T14:12:55+00:00" } ], "aliases": [ @@ -3392,8 +3398,7 @@ "kasperg/phing-github": 20, "pear/archive_tar": 20, "pear/versioncontrol_git": 20, - "behat/behat": 5, - "ec-europa/qa-automation": 20 + "behat/behat": 5 }, "prefer-stable": true, "prefer-lowest": false, diff --git a/includes/docker/docker-compose.yml b/includes/docker/docker-compose.yml index ddb29cee0..01dca302d 100755 --- a/includes/docker/docker-compose.yml +++ b/includes/docker/docker-compose.yml @@ -11,7 +11,8 @@ services: - 8080 volumes: - ${WORKSPACE}:${WORKSPACE} - - /cache:/cache + - ${WORKSPACE_CACHE:-/data/cache}:/tmp/toolkit + - ${WORKSPACE_CACHE:-/data/cache}:/cache - /var/cache/composer:/var/cache/composer - /usr/bin/docker:/usr/bin/docker - /usr/bin/docker-compose:/usr/bin/docker-compose diff --git a/includes/phing/build/help/drush.xml b/includes/phing/build/help/drush.xml index ca4d06f9e..07a61891d 100755 --- a/includes/phing/build/help/drush.xml +++ b/includes/phing/build/help/drush.xml @@ -14,6 +14,39 @@ + + - --fire-bazooka + --no-cache-clear @@ -163,7 +196,7 @@ diff --git a/includes/phing/build/help/toolkit.xml b/includes/phing/build/help/toolkit.xml index 55d0f529c..df2c1a36d 100755 --- a/includes/phing/build/help/toolkit.xml +++ b/includes/phing/build/help/toolkit.xml @@ -197,6 +197,7 @@ + diff --git a/includes/phing/build/main/project.xml b/includes/phing/build/main/project.xml index 3639fab04..83a51153d 100755 --- a/includes/phing/build/main/project.xml +++ b/includes/phing/build/main/project.xml @@ -3,7 +3,7 @@ - + @@ -19,7 +19,7 @@ - + @@ -45,10 +45,9 @@ theme-europa-create-symlinks" /> - - + @@ -98,10 +97,10 @@ + project-modules-devel-en, + drush-cache-reset" /> + + + + + + + + + + + + @@ -281,6 +292,23 @@ + + + + + + + + + + + + + + + + + @@ -342,10 +370,69 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +