Commit c939449e by Helena Ohlsen Committed by Arun Babu Neelicattu

Add option to version command to output version number only

Resolves: #1407
parent ada04f9f
...@@ -423,6 +423,9 @@ bump rule is provided. ...@@ -423,6 +423,9 @@ bump rule is provided.
The new version should ideally be a valid semver string or a valid bump rule: The new version should ideally be a valid semver string or a valid bump rule:
`patch`, `minor`, `major`, `prepatch`, `preminor`, `premajor`, `prerelease`. `patch`, `minor`, `major`, `prepatch`, `preminor`, `premajor`, `prerelease`.
## Options
* `--short (-s)`: Output the version number only.
## export ## export
......
from cleo import argument from cleo import argument
from cleo import option
from .command import Command from .command import Command
...@@ -18,6 +19,7 @@ class VersionCommand(Command): ...@@ -18,6 +19,7 @@ class VersionCommand(Command):
optional=True, optional=True,
) )
] ]
options = [option("short", "s", "Output the version number only")]
help = """\ help = """\
The version command shows the current version of the project or bumps the version of The version command shows the current version of the project or bumps the version of
...@@ -58,11 +60,14 @@ patch, minor, major, prepatch, preminor, premajor, prerelease. ...@@ -58,11 +60,14 @@ patch, minor, major, prepatch, preminor, premajor, prerelease.
self.poetry.file.write(content) self.poetry.file.write(content)
else: else:
self.line( if self.option("short"):
"<comment>{}</> <info>{}</>".format( self.line("{}".format(self.poetry.package.pretty_version))
self.poetry.package.name, self.poetry.package.pretty_version else:
self.line(
"<comment>{}</> <info>{}</>".format(
self.poetry.package.name, self.poetry.package.pretty_version
)
) )
)
def increment_version(self, version, rule): def increment_version(self, version, rule):
from poetry.core.semver import Version from poetry.core.semver import Version
......
...@@ -45,3 +45,10 @@ def test_version_show(app): ...@@ -45,3 +45,10 @@ def test_version_show(app):
tester = CommandTester(command) tester = CommandTester(command)
tester.execute() tester.execute()
assert "simple-project 1.2.3\n" == tester.io.fetch_output() assert "simple-project 1.2.3\n" == tester.io.fetch_output()
def test_short_version_show(app):
command = app.find("version")
tester = CommandTester(command)
tester.execute("--short")
assert "1.2.3\n" == tester.io.fetch_output()
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment