commit platformsh-cli for openSUSE:Factory
Hello community,
here is the log from the commit of package platformsh-cli for openSUSE:Factory checked in at 2018-03-28 10:32:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/platformsh-cli (Old)
and /work/SRC/openSUSE:Factory/.platformsh-cli.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "platformsh-cli"
Wed Mar 28 10:32:30 2018 rev:40 rq:591308 version:3.31.3
Changes:
--------
--- /work/SRC/openSUSE:Factory/platformsh-cli/platformsh-cli.changes 2018-03-22 12:10:50.285369972 +0100
+++ /work/SRC/openSUSE:Factory/.platformsh-cli.new/platformsh-cli.changes 2018-03-28 10:32:41.942202317 +0200
@@ -1,0 +2,20 @@
+Tue Mar 27 02:39:37 UTC 2018 - jimmy@boombatower.com
+
+- Update to version 3.31.3:
+ * Release v3.31.3
+ * Document experimental_commands key [skip changelog]
+ * Allow all_experiments to come first [skip changelog]
+ * Add mechanism to define commands as experimental [skip changelog]
+ * [self:release] Improve changelog generation [skip changelog]
+ * Symfony dependencies update
+ * [self:install] Only include shell-config if it exists; update config snippet automatically
+ * [activity:get] Do not require an environment if an ID is provided
+ * Adapt wrapWithDecoration for literal tags
+ * Release v3.31.2
+ * Update API client [skip changelog]
+ * Improve variable creation
+ * Decode HTML entities in activity descriptions
+ * Release v3.31.1
+ * Fix decoration when single element wraps onto multiple lines
+
+-------------------------------------------------------------------
Old:
----
platformsh-cli-3.31.0.tar.xz
New:
----
platformsh-cli-3.31.3.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ platformsh-cli.spec ++++++
--- /var/tmp/diff_new_pack.7ECo6k/_old 2018-03-28 10:32:43.030163188 +0200
+++ /var/tmp/diff_new_pack.7ECo6k/_new 2018-03-28 10:32:43.034163044 +0200
@@ -17,7 +17,7 @@
Name: platformsh-cli
-Version: 3.31.0
+Version: 3.31.3
Release: 0
Summary: Tool for managing Platform.sh services from the command line
# See licenses.txt for dependency licenses.
++++++ _service ++++++
--- /var/tmp/diff_new_pack.7ECo6k/_old 2018-03-28 10:32:43.074161605 +0200
+++ /var/tmp/diff_new_pack.7ECo6k/_new 2018-03-28 10:32:43.074161605 +0200
@@ -2,7 +2,7 @@
<service name="tar_scm" mode="disabled">
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
- <param name="revision">refs/tags/v3.31.0</param>
+ <param name="revision">refs/tags/v3.31.3</param>
<param name="url">git://github.com/platformsh/platformsh-cli.git</param>
<param name="scm">git</param>
<param name="changesgenerate">enable</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.7ECo6k/_old 2018-03-28 10:32:43.094160886 +0200
+++ /var/tmp/diff_new_pack.7ECo6k/_new 2018-03-28 10:32:43.094160886 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/platformsh/platformsh-cli.git</param>
- <param name="changesrevision">d57ebed7395b7b70104b8d06c3be4c42d0c4c987</param>
+ <param name="changesrevision">b11d88cf518d761c2737a0be50081ec548b1069a</param>
</service>
</servicedata>
++++++ licenses.txt ++++++
--- /var/tmp/diff_new_pack.7ECo6k/_old 2018-03-28 10:32:43.158158585 +0200
+++ /var/tmp/diff_new_pack.7ECo6k/_new 2018-03-28 10:32:43.162158441 +0200
@@ -17,19 +17,19 @@
padraic/humbug_get_contents 1.1.2 BSD-3-Clause
padraic/phar-updater v1.0.5 BSD-3-Clause
paragonie/random_compat v2.0.11 MIT
-platformsh/client v0.17.1 MIT
+platformsh/client v0.17.2 MIT
platformsh/console-form v0.0.20 MIT
psr/container 1.0.0 MIT
psr/log 1.0.2 MIT
react/promise v2.5.1 MIT
stecman/symfony-console-completion 0.7.0 MIT
-symfony/config v3.4.4 MIT
-symfony/console v3.4.4 MIT
-symfony/debug v3.4.4 MIT
-symfony/dependency-injection v3.4.4 MIT
-symfony/event-dispatcher v3.4.4 MIT
-symfony/filesystem v3.4.4 MIT
-symfony/finder v3.4.4 MIT
+symfony/config v3.4.6 MIT
+symfony/console v3.4.6 MIT
+symfony/debug v3.4.6 MIT
+symfony/dependency-injection v3.4.6 MIT
+symfony/event-dispatcher v3.4.6 MIT
+symfony/filesystem v3.4.6 MIT
+symfony/finder v3.4.6 MIT
symfony/polyfill-mbstring v1.7.0 MIT
-symfony/process v3.4.4 MIT
-symfony/yaml v3.4.4 MIT
+symfony/process v3.4.6 MIT
+symfony/yaml v3.4.6 MIT
++++++ platformsh-cli-3.31.0.tar.xz -> platformsh-cli-3.31.3.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.31.0/composer.lock new/platformsh-cli-3.31.3/composer.lock
--- old/platformsh-cli-3.31.0/composer.lock 2018-03-20 20:43:46.000000000 +0100
+++ new/platformsh-cli-3.31.3/composer.lock 2018-03-27 03:39:09.000000000 +0200
@@ -711,16 +711,16 @@
},
{
"name": "platformsh/client",
- "version": "v0.17.1",
+ "version": "v0.17.2",
"source": {
"type": "git",
"url": "https://github.com/platformsh/platformsh-client-php.git",
- "reference": "37d986f5909fbdd80c57b1765670607c9b36373f"
+ "reference": "78f7b14818fe6e5c171855c217dfddf738d50302"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/platformsh/platformsh-client-php/zipball/37d986...",
- "reference": "37d986f5909fbdd80c57b1765670607c9b36373f",
+ "url": "https://api.github.com/repos/platformsh/platformsh-client-php/zipball/78f7b1...",
+ "reference": "78f7b14818fe6e5c171855c217dfddf738d50302",
"shasum": ""
},
"require": {
@@ -756,7 +756,7 @@
}
],
"description": "Platform.sh API client",
- "time": "2018-03-15T16:06:08+00:00"
+ "time": "2018-03-22T15:23:59+00:00"
},
{
"name": "platformsh/console-form",
@@ -986,16 +986,16 @@
},
{
"name": "symfony/config",
- "version": "v3.4.4",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/config.git",
- "reference": "72689b934d6c6ecf73eca874e98933bf055313c9"
+ "reference": "05e10567b529476a006b00746c5f538f1636810e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/config/zipball/72689b934d6c6ecf73eca874...",
- "reference": "72689b934d6c6ecf73eca874e98933bf055313c9",
+ "url": "https://api.github.com/repos/symfony/config/zipball/05e10567b529476a006b0074...",
+ "reference": "05e10567b529476a006b00746c5f538f1636810e",
"shasum": ""
},
"require": {
@@ -1008,6 +1008,7 @@
},
"require-dev": {
"symfony/dependency-injection": "~3.3|~4.0",
+ "symfony/event-dispatcher": "~3.3|~4.0",
"symfony/finder": "~3.3|~4.0",
"symfony/yaml": "~3.0|~4.0"
},
@@ -1044,20 +1045,20 @@
],
"description": "Symfony Config Component",
"homepage": "https://symfony.com",
- "time": "2018-01-21T19:05:02+00:00"
+ "time": "2018-02-14T10:03:57+00:00"
},
{
"name": "symfony/console",
- "version": "v3.4.4",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "26b6f419edda16c19775211987651cb27baea7f1"
+ "reference": "067339e9b8ec30d5f19f5950208893ff026b94f7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/26b6f419edda16c19775211...",
- "reference": "26b6f419edda16c19775211987651cb27baea7f1",
+ "url": "https://api.github.com/repos/symfony/console/zipball/067339e9b8ec30d5f19f595...",
+ "reference": "067339e9b8ec30d5f19f5950208893ff026b94f7",
"shasum": ""
},
"require": {
@@ -1113,20 +1114,20 @@
],
"description": "Symfony Console Component",
"homepage": "https://symfony.com",
- "time": "2018-01-29T09:03:43+00:00"
+ "time": "2018-02-26T15:46:28+00:00"
},
{
"name": "symfony/debug",
- "version": "v3.4.4",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/debug.git",
- "reference": "53f6af2805daf52a43b393b93d2f24925d35c937"
+ "reference": "9b1071f86e79e1999b3d3675d2e0e7684268b9bc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/debug/zipball/53f6af2805daf52a43b393b93...",
- "reference": "53f6af2805daf52a43b393b93d2f24925d35c937",
+ "url": "https://api.github.com/repos/symfony/debug/zipball/9b1071f86e79e1999b3d3675d...",
+ "reference": "9b1071f86e79e1999b3d3675d2e0e7684268b9bc",
"shasum": ""
},
"require": {
@@ -1169,20 +1170,20 @@
],
"description": "Symfony Debug Component",
"homepage": "https://symfony.com",
- "time": "2018-01-18T22:16:57+00:00"
+ "time": "2018-02-28T21:49:22+00:00"
},
{
"name": "symfony/dependency-injection",
- "version": "v3.4.4",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/dependency-injection.git",
- "reference": "4b2717ee2499390e371e1fc7abaf886c1c83e83d"
+ "reference": "12e901abc1cb0d637a0e5abe9923471361d96b07"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/4b2717ee24...",
- "reference": "4b2717ee2499390e371e1fc7abaf886c1c83e83d",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/12e901abc1...",
+ "reference": "12e901abc1cb0d637a0e5abe9923471361d96b07",
"shasum": ""
},
"require": {
@@ -1240,20 +1241,20 @@
],
"description": "Symfony DependencyInjection Component",
"homepage": "https://symfony.com",
- "time": "2018-01-29T09:16:57+00:00"
+ "time": "2018-03-04T03:54:53+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v3.4.4",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "26b87b6bca8f8f797331a30b76fdae5342dc26ca"
+ "reference": "58990682ac3fdc1f563b7e705452921372aad11d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/26b87b6bca8f8f...",
- "reference": "26b87b6bca8f8f797331a30b76fdae5342dc26ca",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/58990682ac3fdc...",
+ "reference": "58990682ac3fdc1f563b7e705452921372aad11d",
"shasum": ""
},
"require": {
@@ -1303,20 +1304,20 @@
],
"description": "Symfony EventDispatcher Component",
"homepage": "https://symfony.com",
- "time": "2018-01-03T07:37:34+00:00"
+ "time": "2018-02-14T10:03:57+00:00"
},
{
"name": "symfony/filesystem",
- "version": "v3.4.4",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/filesystem.git",
- "reference": "e078773ad6354af38169faf31c21df0f18ace03d"
+ "reference": "253a4490b528597aa14d2bf5aeded6f5e5e4a541"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/filesystem/zipball/e078773ad6354af38169...",
- "reference": "e078773ad6354af38169faf31c21df0f18ace03d",
+ "url": "https://api.github.com/repos/symfony/filesystem/zipball/253a4490b528597aa14d...",
+ "reference": "253a4490b528597aa14d2bf5aeded6f5e5e4a541",
"shasum": ""
},
"require": {
@@ -1352,20 +1353,20 @@
],
"description": "Symfony Filesystem Component",
"homepage": "https://symfony.com",
- "time": "2018-01-03T07:37:34+00:00"
+ "time": "2018-02-22T10:48:49+00:00"
},
{
"name": "symfony/finder",
- "version": "v3.4.4",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "613e26310776f49a1773b6737c6bd554b8bc8c6f"
+ "reference": "a479817ce0a9e4adfd7d39c6407c95d97c254625"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/613e26310776f49a1773b673...",
- "reference": "613e26310776f49a1773b6737c6bd554b8bc8c6f",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/a479817ce0a9e4adfd7d39c6...",
+ "reference": "a479817ce0a9e4adfd7d39c6407c95d97c254625",
"shasum": ""
},
"require": {
@@ -1401,7 +1402,7 @@
],
"description": "Symfony Finder Component",
"homepage": "https://symfony.com",
- "time": "2018-01-03T07:37:34+00:00"
+ "time": "2018-03-05T18:28:11+00:00"
},
{
"name": "symfony/polyfill-mbstring",
@@ -1464,16 +1465,16 @@
},
{
"name": "symfony/process",
- "version": "v3.4.4",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "09a5172057be8fc677840e591b17f385e58c7c0d"
+ "reference": "cc4aea21f619116aaf1c58016a944e4821c8e8af"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/09a5172057be8fc677840e5...",
- "reference": "09a5172057be8fc677840e591b17f385e58c7c0d",
+ "url": "https://api.github.com/repos/symfony/process/zipball/cc4aea21f619116aaf1c580...",
+ "reference": "cc4aea21f619116aaf1c58016a944e4821c8e8af",
"shasum": ""
},
"require": {
@@ -1509,20 +1510,20 @@
],
"description": "Symfony Process Component",
"homepage": "https://symfony.com",
- "time": "2018-01-29T09:03:43+00:00"
+ "time": "2018-02-12T17:55:00+00:00"
},
{
"name": "symfony/yaml",
- "version": "v3.4.4",
+ "version": "v3.4.6",
"source": {
"type": "git",
"url": "https://github.com/symfony/yaml.git",
- "reference": "eab73b6c21d27ae4cd037c417618dfd4befb0bfe"
+ "reference": "6af42631dcf89e9c616242c900d6c52bd53bd1bb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/eab73b6c21d27ae4cd037c4176...",
- "reference": "eab73b6c21d27ae4cd037c417618dfd4befb0bfe",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/6af42631dcf89e9c616242c900...",
+ "reference": "6af42631dcf89e9c616242c900d6c52bd53bd1bb",
"shasum": ""
},
"require": {
@@ -1567,22 +1568,22 @@
],
"description": "Symfony Yaml Component",
"homepage": "https://symfony.com",
- "time": "2018-01-21T19:05:02+00:00"
+ "time": "2018-02-16T09:50:28+00:00"
}
],
"packages-dev": [
{
"name": "consolidation/annotated-command",
- "version": "2.8.2",
+ "version": "2.8.3",
"source": {
"type": "git",
"url": "https://github.com/consolidation/annotated-command.git",
- "reference": "e97c38717eae23a2bafcf3f09438290eee6ebeb4"
+ "reference": "8f8f5da2ca06fbd3a85f7d551c49f844b7c59437"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/e97c387...",
- "reference": "e97c38717eae23a2bafcf3f09438290eee6ebeb4",
+ "url": "https://api.github.com/repos/consolidation/annotated-command/zipball/8f8f5da...",
+ "reference": "8f8f5da2ca06fbd3a85f7d551c49f844b7c59437",
"shasum": ""
},
"require": {
@@ -1594,6 +1595,7 @@
"symfony/finder": "^2.5|^3|^4"
},
"require-dev": {
+ "greg-1-anderson/composer-test-scenarios": "^1",
"phpunit/phpunit": "^4.8",
"satooshi/php-coveralls": "^1.0.2 | dev-master",
"squizlabs/php_codesniffer": "^2.7"
@@ -1620,20 +1622,20 @@
}
],
"description": "Initialize Symfony Console commands from annotated command class methods.",
- "time": "2017-11-29T16:23:23+00:00"
+ "time": "2018-02-23T16:32:04+00:00"
},
{
"name": "consolidation/output-formatters",
- "version": "3.1.13",
+ "version": "3.2.0",
"source": {
"type": "git",
"url": "https://github.com/consolidation/output-formatters.git",
- "reference": "3188461e965b32148c8fb85261833b2b72d34b8c"
+ "reference": "da889e4bce19f145ca4ec5b1725a946f4eb625a9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/3188461...",
- "reference": "3188461e965b32148c8fb85261833b2b72d34b8c",
+ "url": "https://api.github.com/repos/consolidation/output-formatters/zipball/da889e4...",
+ "reference": "da889e4bce19f145ca4ec5b1725a946f4eb625a9",
"shasum": ""
},
"require": {
@@ -1642,11 +1644,17 @@
"symfony/finder": "^2.5|^3|^4"
},
"require-dev": {
- "phpunit/phpunit": "^4.8",
- "satooshi/php-coveralls": "^1.0.2 | dev-master",
+ "g-1-a/composer-test-scenarios": "^2",
+ "phpunit/phpunit": "^5.7.27",
+ "satooshi/php-coveralls": "^2",
"squizlabs/php_codesniffer": "^2.7",
+ "symfony/console": "3.2.3",
+ "symfony/var-dumper": "^2.8|^3|^4",
"victorjonsson/markdowndocs": "^1.3"
},
+ "suggest": {
+ "symfony/var-dumper": "For using the var_dump formatter"
+ },
"type": "library",
"extra": {
"branch-alias": {
@@ -1669,7 +1677,7 @@
}
],
"description": "Format text by applying transformations provided by plug-in formatters.",
- "time": "2017-11-29T15:25:38+00:00"
+ "time": "2018-03-20T15:18:32+00:00"
},
{
"name": "dnoegel/php-xdg-base-dir",
@@ -1956,16 +1964,16 @@
},
{
"name": "nikic/php-parser",
- "version": "v3.1.4",
+ "version": "v3.1.5",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "e57b3a09784f846411aa7ed664eedb73e3399078"
+ "reference": "bb87e28e7d7b8d9a7fda231d37457c9210faf6ce"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/e57b3a09784f846411aa7e...",
- "reference": "e57b3a09784f846411aa7ed664eedb73e3399078",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/bb87e28e7d7b8d9a7fda23...",
+ "reference": "bb87e28e7d7b8d9a7fda231d37457c9210faf6ce",
"shasum": ""
},
"require": {
@@ -2003,7 +2011,7 @@
"parser",
"php"
],
- "time": "2018-01-25T21:31:33+00:00"
+ "time": "2018-02-28T20:30:58+00:00"
},
{
"name": "pear/console_table",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.31.0/config.yaml new/platformsh-cli-3.31.3/config.yaml
--- old/platformsh-cli-3.31.0/config.yaml 2018-03-20 20:43:46.000000000 +0100
+++ new/platformsh-cli-3.31.3/config.yaml 2018-03-27 03:39:09.000000000 +0200
@@ -1,7 +1,7 @@
# Metadata about the CLI application itself.
application:
name: 'Platform.sh CLI'
- version: '3.31.0'
+ version: '3.31.3'
executable: 'platform'
package_name: 'platformsh/cli'
installer_url: 'https://platform.sh/cli/installer'
@@ -11,14 +11,20 @@
env_prefix: 'PLATFORMSH_CLI_'
tmp_sub_dir: 'platformsh-cli-tmp'
github_repo: 'platformsh/platformsh-cli'
+ release_branch: 'master'
# The default interactive login method: either 'browser' or 'password'.
# This can be overridden in the user config file.
login_method: browser
- # Disabled commands.
+ # Disabled commands (a list of full command names).
disabled_commands: []
+ # Experimental commands (a list of full command names). Enable these in the
+ # user config file: the array 'enable_commands' inside the 'experimental'
+ # section.
+ experimental_commands: []
+
# Configuration for working with projects locally.
local:
local_dir: '.platform/local'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.31.0/dist/manifest.json new/platformsh-cli-3.31.3/dist/manifest.json
--- old/platformsh-cli-3.31.0/dist/manifest.json 2018-03-20 20:43:46.000000000 +0100
+++ new/platformsh-cli-3.31.3/dist/manifest.json 2018-03-27 03:39:09.000000000 +0200
@@ -1,10 +1,10 @@
[
{
"name": "platform.phar",
- "sha1": "1daee0a6b40cc488dbb990b2410d4e75d73c7b72",
- "sha256": "27fac1887197d02c5420895505a15a30475d0783f1d9103243e19bb0179dc666",
- "url": "https://github.com/platformsh/platformsh-cli/releases/download/v3.31.0/platf...",
- "version": "3.31.0",
+ "sha1": "40b9b2857a6e0c0e3f733119bc14a9c95fc75527",
+ "sha256": "1969c0e399818e12bbe38e7852d984dcd2f281e0c525448c0412b6e37452765a",
+ "url": "https://github.com/platformsh/platformsh-cli/releases/download/v3.31.3/platf...",
+ "version": "3.31.3",
"php": {
"min": "5.5.9"
},
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.31.0/src/Command/Activity/ActivityGetCommand.php new/platformsh-cli-3.31.3/src/Command/Activity/ActivityGetCommand.php
--- old/platformsh-cli-3.31.0/src/Command/Activity/ActivityGetCommand.php 2018-03-20 20:43:46.000000000 +0100
+++ new/platformsh-cli-3.31.3/src/Command/Activity/ActivityGetCommand.php 2018-03-27 03:39:09.000000000 +0200
@@ -2,6 +2,7 @@
namespace Platformsh\Cli\Command\Activity;
use Platformsh\Cli\Command\CommandBase;
+use Platformsh\Cli\Service\ActivityMonitor;
use Platformsh\Cli\Service\PropertyFormatter;
use Platformsh\Cli\Service\Table;
use Platformsh\Client\Model\Activity;
@@ -34,7 +35,7 @@
protected function execute(InputInterface $input, OutputInterface $output)
{
- $this->validateInput($input, $input->getOption('all'));
+ $this->validateInput($input, $input->getOption('all') || $input->getArgument('id'));
$id = $input->getArgument('id');
if ($id) {
@@ -66,7 +67,14 @@
$properties = $activity->getProperties();
- $properties['description'] = $activity->getDescription(false);
+ if (!$input->getOption('property') && !$table->formatIsMachineReadable()) {
+ $properties['description'] = ActivityMonitor::getFormattedDescription($activity, true);
+ } else {
+ $properties['description'] = ActivityMonitor::getFormattedDescription($activity, false);
+ if ($input->getOption('property')) {
+ $properties['description_html'] = $activity->description;
+ }
+ }
// Calculate the duration of the activity.
if (!isset($properties['duration'])) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.31.0/src/Command/Activity/ActivityLogCommand.php new/platformsh-cli-3.31.3/src/Command/Activity/ActivityLogCommand.php
--- old/platformsh-cli-3.31.0/src/Command/Activity/ActivityLogCommand.php 2018-03-20 20:43:46.000000000 +0100
+++ new/platformsh-cli-3.31.3/src/Command/Activity/ActivityLogCommand.php 2018-03-27 03:39:09.000000000 +0200
@@ -39,7 +39,7 @@
protected function execute(InputInterface $input, OutputInterface $output)
{
- $this->validateInput($input, $input->getOption('all'));
+ $this->validateInput($input, $input->getOption('all') || $input->getArgument('id'));
$id = $input->getArgument('id');
if ($id) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.31.0/src/Command/CommandBase.php new/platformsh-cli-3.31.3/src/Command/CommandBase.php
--- old/platformsh-cli-3.31.0/src/Command/CommandBase.php 2018-03-20 20:43:46.000000000 +0100
+++ new/platformsh-cli-3.31.3/src/Command/CommandBase.php 2018-03-27 03:39:09.000000000 +0200
@@ -1265,8 +1265,7 @@
*/
public function isEnabled()
{
- return !$this->config()->has('application.disabled_commands')
- || !in_array($this->getName(), $this->config()->get('application.disabled_commands'));
+ return $this->config()->isCommandEnabled($this->getName());
}
/**
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.31.0/src/Command/Self/SelfInstallCommand.php new/platformsh-cli-3.31.3/src/Command/Self/SelfInstallCommand.php
--- old/platformsh-cli-3.31.0/src/Command/Self/SelfInstallCommand.php 2018-03-20 20:43:46.000000000 +0100
+++ new/platformsh-cli-3.31.3/src/Command/Self/SelfInstallCommand.php 2018-03-27 03:39:09.000000000 +0200
@@ -56,7 +56,16 @@
}
}
- if (strpos($currentShellConfig, $configDir . "/bin") !== false) {
+ $suggestedShellConfig = sprintf(
+ 'export PATH=%s:"$PATH"',
+ escapeshellarg($configDir . '/bin')
+ );
+ $suggestedShellConfig .= PHP_EOL . sprintf(
+ '[ -f %1$s ] && . %1$s',
+ escapeshellarg($rcDestination)
+ );
+
+ if (strpos($currentShellConfig, $suggestedShellConfig) !== false) {
$this->stdErr->writeln(sprintf('Already configured: <info>%s</info>', $shellConfigFile));
$this->stdErr->writeln('');
$this->stdErr->writeln(sprintf(
@@ -67,9 +76,6 @@
return 0;
}
- $suggestedShellConfig = 'export PATH=' . escapeshellarg($configDir . '/bin') . ':"$PATH"' . PHP_EOL
- . '. ' . escapeshellarg($rcDestination);
-
/** @var \Platformsh\Cli\Service\QuestionHelper $questionHelper */
$questionHelper = $this->getService('question_helper');
if ($shellConfigFile === false || !$questionHelper->confirm('Do you want to update the file automatically?')) {
@@ -94,10 +100,24 @@
return 1;
}
- $newShellConfig = rtrim($currentShellConfig, PHP_EOL)
- . PHP_EOL . PHP_EOL
- . '# BEGIN SNIPPET: Automatically added by the ' . $this->config()->get('application.name')
- . PHP_EOL . $suggestedShellConfig . ' # END SNIPPET' . PHP_EOL;
+ $begin = '# BEGIN SNIPPET: Automatically added by the ' . $this->config()->get('application.name');
+ $end = '# END SNIPPET';
+
+ $beginPos = strpos($currentShellConfig, $begin);
+ $endPos = strpos($currentShellConfig, $end, $beginPos ?: 0);
+ if ($beginPos !== false && $endPos !== false && $endPos > $beginPos) {
+ $newShellConfig = substr_replace(
+ $currentShellConfig,
+ $begin . PHP_EOL . $suggestedShellConfig . ' ' . $end,
+ $beginPos,
+ $endPos + strlen($end) - $beginPos
+ );
+ } else {
+ $newShellConfig = rtrim($currentShellConfig, PHP_EOL)
+ . PHP_EOL . PHP_EOL
+ . $begin . PHP_EOL . $suggestedShellConfig . ' ' . $end
+ . PHP_EOL;
+ }
copy($shellConfigFile, $shellConfigFile . '.cli.bak');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.31.0/src/Command/Self/SelfReleaseCommand.php new/platformsh-cli-3.31.3/src/Command/Self/SelfReleaseCommand.php
--- old/platformsh-cli-3.31.0/src/Command/Self/SelfReleaseCommand.php 2018-03-20 20:43:46.000000000 +0100
+++ new/platformsh-cli-3.31.3/src/Command/Self/SelfReleaseCommand.php 2018-03-27 03:39:09.000000000 +0200
@@ -16,6 +16,8 @@
{
$defaultRepo = $this->config()->has('application.github_repo')
? $this->config()->get('application.github_repo') : null;
+ $defaultReleaseBranch = $this->config()->has('application.release_branch')
+ ? $this->config()->get('application.release_branch') : 'master';
$this
->setName('self:release')
@@ -24,8 +26,9 @@
->addOption('repo', null, InputOption::VALUE_REQUIRED, 'The GitHub repository', $defaultRepo)
->addOption('manifest', null, InputOption::VALUE_REQUIRED, 'The manifest file to update')
->addOption('manifest-mode', null, InputOption::VALUE_REQUIRED, 'How to update the manifest file', 'update-latest')
- ->addOption('release-branch', null, InputOption::VALUE_REQUIRED, 'Override the release branch', 'master')
- ->addOption('last-version', null, InputOption::VALUE_REQUIRED, 'Specify the last version number');
+ ->addOption('release-branch', null, InputOption::VALUE_REQUIRED, 'Override the release branch', $defaultReleaseBranch)
+ ->addOption('last-version', null, InputOption::VALUE_REQUIRED, 'Specify the last version number')
+ ->addOption('no-check-changes', null, InputOption::VALUE_NONE, 'Skip check for uncommitted changes');
}
public function isEnabled()
@@ -61,13 +64,15 @@
$git->execute(['merge', 'development'], CLI_ROOT, true);
}
- $gitStatus = $git->execute(['status', '--porcelain'], CLI_ROOT, true);
- if (is_string($gitStatus) && !empty($gitStatus)) {
- foreach (explode("\n", $gitStatus) as $statusLine) {
- if (strpos($statusLine, ' config.yaml') === false) {
- $this->stdErr->writeln('There are uncommitted changes in Git. Cannot proceed.');
+ if (!$input->getOption('no-check-changes')) {
+ $gitStatus = $git->execute(['status', '--porcelain'], CLI_ROOT, true);
+ if (is_string($gitStatus) && !empty($gitStatus)) {
+ foreach (explode("\n", $gitStatus) as $statusLine) {
+ if (strpos($statusLine, ' config.yaml') === false) {
+ $this->stdErr->writeln('There are uncommitted changes in Git. Cannot proceed.');
- return 1;
+ return 1;
+ }
}
}
}
@@ -200,7 +205,7 @@
$pharPublicFilename = $this->config()->get('application.executable') . '.phar';
- $changelog = $this->getReleaseChangelog($lastVersion);
+ $changelog = $this->getReleaseChangelog($lastVersion, $repoApiUrl);
$questionText = "\nChangelog:\n\n" . $changelog . "\n\nIs this changelog correct?";
/** @var \Platformsh\Cli\Service\QuestionHelper $questionHelper */
$questionHelper = $this->getService('question_helper');
@@ -330,10 +335,11 @@
/**
* @param string $lastVersion The last version number.
+ * @param string $repoApiUrl
*
* @return string
*/
- private function getReleaseChangelog($lastVersion)
+ private function getReleaseChangelog($lastVersion, $repoApiUrl)
{
$lastVersionTag = 'v' . ltrim($lastVersion, 'v');
$filename = CLI_ROOT . '/release-changelog.md';
@@ -349,7 +355,7 @@
}
}
if (empty($changelog)) {
- $changelog = $this->getGitChangelog($lastVersionTag);
+ $changelog = $this->getGitChangelog($lastVersionTag, $repoApiUrl);
(new Filesystem())->dumpFile($filename, $changelog);
}
@@ -374,24 +380,42 @@
/**
* @param string $since
+ * @param string $repoApiUrl
*
* @return string
*/
- private function getGitChangelog($since)
+ private function getGitChangelog($since, $repoApiUrl)
{
+ $http = new Client();
+ $ref = $http->get($repoApiUrl . '/git/refs/tags/' . rawurlencode($since), [
+ 'headers' => [
+ 'Authorization' => 'token ' . getenv('GITHUB_TOKEN'),
+ 'Content-Type' => 'application/json',
+ ],
+ 'debug' => $this->stdErr->isDebug(),
+ ])->json();
+ $sha = $ref['object']['sha'];
+
/** @var \Platformsh\Cli\Service\Git $git */
$git = $this->getService('git');
$changelog = $git->execute([
'log',
- '--pretty=format:* %s',
+ '--pretty=tformat:* %s%n%b',
'--no-merges',
'--invert-grep',
'--grep=(Release v|\[skip changelog\])',
'--perl-regexp',
'--regexp-ignore-case',
- $since . '...HEAD'
+ $sha . '...HEAD'
], CLI_ROOT);
+ if (!is_string($changelog)) {
+ return '';
+ }
- return is_string($changelog) ? $changelog : '';
+ $changelog = preg_replace('/^[^\*\n]/m', ' $0', $changelog);
+ $changelog = preg_replace('/\n+\*/', "\n*", $changelog);
+ $changelog = trim($changelog);
+
+ return $changelog;
}
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.31.0/src/Command/Variable/VariableCommandBase.php new/platformsh-cli-3.31.3/src/Command/Variable/VariableCommandBase.php
--- old/platformsh-cli-3.31.0/src/Command/Variable/VariableCommandBase.php 2018-03-20 20:43:46.000000000 +0100
+++ new/platformsh-cli-3.31.3/src/Command/Variable/VariableCommandBase.php 2018-03-27 03:39:09.000000000 +0200
@@ -149,10 +149,20 @@
$fields['level'] = new OptionsField('Level', [
'description' => 'The level at which to set the variable',
+ 'shortcut' => 'l',
'options' => [
self::LEVEL_PROJECT => 'Project-wide',
self::LEVEL_ENVIRONMENT => 'Environment-specific',
],
+ 'normalizer' => function ($value) {
+ foreach ([self::LEVEL_PROJECT, self::LEVEL_ENVIRONMENT] as $validLevel) {
+ if (stripos($validLevel, $value) === 0) {
+ return $validLevel;
+ }
+ }
+
+ return $value;
+ },
]);
$fields['environment'] = new OptionsField('Environment', [
'conditions' => [
@@ -165,7 +175,6 @@
},
'asChoice' => false,
'includeAsOption' => false,
- 'default' => $this->hasSelectedEnvironment() ? $this->getSelectedEnvironment()->id : null,
]);
$fields['name'] = new Field('Name', [
'description' => 'The variable name',
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.31.0/src/Command/Variable/VariableCreateCommand.php new/platformsh-cli-3.31.3/src/Command/Variable/VariableCreateCommand.php
--- old/platformsh-cli-3.31.0/src/Command/Variable/VariableCreateCommand.php 2018-03-20 20:43:46.000000000 +0100
+++ new/platformsh-cli-3.31.3/src/Command/Variable/VariableCreateCommand.php 2018-03-27 03:39:09.000000000 +0200
@@ -34,6 +34,12 @@
{
$this->validateInput($input, true);
+ // Set the default for the environment form field.
+ if ($this->hasSelectedEnvironment() && ($field = $this->form->getField('environment'))) {
+ $field->set('default', $this->getSelectedEnvironment()->id);
+ }
+
+ // Merge the 'name' argument with the --name option.
if ($input->getArgument('name')) {
if ($input->getOption('name')) {
$this->stdErr->writeln('You cannot use both the <error>name</error> argument and <error>--name</error> option.');
@@ -43,7 +49,8 @@
$input->setOption('name', $input->getArgument('name'));
}
- if (($name = $input->getOption('name')) && $this->getExistingVariable($name, $input->getOption('level'))) {
+ // Check whether the variable already exists, if a name is provided.
+ if (($name = $input->getOption('name')) && $this->getExistingVariable($name, $input->getOption('level'), false)) {
$this->stdErr->writeln('The variable already exists: <error>' . $name . '</error>');
$executable = $this->config()->get('application.executable');
@@ -82,6 +89,25 @@
unset($values['environment']);
}
+ // Validate the is_json setting against the value.
+ if (isset($values['value']) && !empty($values['is_json'])) {
+ if (json_decode($values['value']) === null && json_last_error()) {
+ $this->stdErr->writeln('The value is not valid JSON: <error>' . $values['value'] . '</error>');
+
+ return 1;
+ }
+ }
+
+ // Validate the variable name for "env:"-prefixed variables.
+ $envPrefixLength = 4;
+ if (substr($values['name'], 0, $envPrefixLength) === 'env:'
+ && !preg_match('/^[a-z][a-z0-9_]*$/i', substr($values['name'], $envPrefixLength))) {
+ $this->stdErr->writeln('The environment variable name is invalid: <error>' . substr($values['name'], $envPrefixLength) . '</error>');
+ $this->stdErr->writeln('Environment variable names can only contain letters (A-Z), digits (0-9), and underscores. The first character must be a letter.');
+
+ return 1;
+ }
+
$level = $values['level'];
unset($values['level']);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.31.0/src/Command/Variable/VariableUpdateCommand.php new/platformsh-cli-3.31.3/src/Command/Variable/VariableUpdateCommand.php
--- old/platformsh-cli-3.31.0/src/Command/Variable/VariableUpdateCommand.php 2018-03-20 20:43:46.000000000 +0100
+++ new/platformsh-cli-3.31.3/src/Command/Variable/VariableUpdateCommand.php 2018-03-27 03:39:09.000000000 +0200
@@ -62,6 +62,17 @@
}
}
+ // Validate the is_json setting against the value.
+ if ((isset($variable->value) || isset($values['value']))
+ && (!empty($values['is_json']) || $variable->is_json)) {
+ $value = isset($values['value']) ? $values['value'] : $variable->value;
+ if (json_decode($value) === null && json_last_error()) {
+ $this->stdErr->writeln('The value is not valid JSON: <error>' . $value . '</error>');
+
+ return 1;
+ }
+ }
+
if (!$values) {
$this->stdErr->writeln('No changes were provided.');
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.31.0/src/Console/AdaptiveTable.php new/platformsh-cli-3.31.3/src/Console/AdaptiveTable.php
--- old/platformsh-cli-3.31.0/src/Console/AdaptiveTable.php 2018-03-20 20:43:46.000000000 +0100
+++ new/platformsh-cli-3.31.3/src/Console/AdaptiveTable.php 2018-03-27 03:39:09.000000000 +0200
@@ -175,6 +175,9 @@
$lastTagClose = 0;
foreach ($matches[0] as $match) {
list($tagChunk, $tagOffset) = $match;
+ if (substr($formattedText, $tagOffset - 1, 1) === '\\') {
+ continue;
+ }
$plainText .= substr($formattedText, $lastTagClose, $tagOffset - $lastTagClose);
$tagChunks[$tagOffset] = $tagChunk;
$lastTagClose = $tagOffset + strlen($tagChunk);
@@ -193,6 +196,8 @@
$breakPosition = $spacePos + 1;
} else {
$breakPosition = $maxLength;
+ // Adjust for \< which will be converted to < later.
+ $breakPosition += substr_count($remaining, '\\<', 0, $breakPosition);
}
$line = substr($remaining, 0, $breakPosition);
$remaining = substr($remaining, $breakPosition);
@@ -230,8 +235,8 @@
// Ensure that tags are closed at the end of each line and re-opened at
// the beginning of the next one.
- $wrapped = preg_replace_callback("#(<" . $tagRegex . ">)([^<\n]+)\n(.+)#", function (array $matches) {
- return $matches[1] . $matches[2] . ">\n" . $matches[1] . $matches[3];
+ $wrapped = preg_replace_callback('@(<' . $tagRegex . '>)(((?!(?\n" . $matches[1], $matches[2]);
}, $wrapped);
return $wrapped;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/platformsh-cli-3.31.0/src/Service/ActivityMonitor.php new/platformsh-cli-3.31.3/src/Service/ActivityMonitor.php
--- old/platformsh-cli-3.31.0/src/Service/ActivityMonitor.php 2018-03-20 20:43:46.000000000 +0100
+++ new/platformsh-cli-3.31.3/src/Service/ActivityMonitor.php 2018-03-27 03:39:09.000000000 +0200
@@ -282,16 +282,22 @@
*/
public static function getFormattedDescription(Activity $activity, $withDecoration = true)
{
- $value = $activity->hasProperty('description')
- ? $activity->getProperty('description')
- : $activity->getDescription(true);
if (!$withDecoration) {
- return strip_tags($value);
+ return $activity->getDescription(false);
}
+ $value = $activity->getDescription(true);
- // Replace description HTML fields with underlined plain text.
- $value = preg_replace('/<[^\/][^>]*>/', '
participants (1)
-
root@hilbert.suse.de