captive-release 0.9.0 → 0.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9814ab9187493f6122ec99042578ab98456b44581b22b6c2925a5d1985cdc46f
|
|
4
|
+
data.tar.gz: dedfed153b9ca6fa4a4b43eb1a844d3733053828eb24b0b2582ae62d1451a2ad
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cea079ba56805defa3e5380cc9d145edceaa8acf799c16d859ed01da7910490b00696e2a4fee3e0b73037ca2a8db3198c93026e2f65eca2307670e65c6c73326
|
|
7
|
+
data.tar.gz: 1c74d0e65fa4634858556cb06caa312b6dd654d366bf3bd85ad1cb0fa1c181da5c295c8e7907aef47fb80bec606ae9f6dc52400b422608e4eba520f58c5c30e5
|
|
@@ -5,7 +5,7 @@ en:
|
|
|
5
5
|
|
|
6
6
|
Usage:
|
|
7
7
|
captive-release init [--files path[:type],...]
|
|
8
|
-
captive-release new [patch|minor|major|promote|x.y.z] [--yes]
|
|
8
|
+
captive-release new [patch|minor|major|promote|pre|x.y.z] [--yes]
|
|
9
9
|
captive-release build [--profile staging|production]
|
|
10
10
|
captive-release version
|
|
11
11
|
|
|
@@ -85,11 +85,13 @@ en:
|
|
|
85
85
|
bump_patch: Patch
|
|
86
86
|
bump_minor: Minor
|
|
87
87
|
bump_major: Major
|
|
88
|
+
bump_pre: Iterate
|
|
89
|
+
nothing_to_iterate: 'No pre-release to iterate: enter x.y.z-alpha.1'
|
|
88
90
|
bump_promote: Promote
|
|
89
91
|
bump_from_prerelease: 'Cannot %{type} from a pre-release: promote it or enter a version.'
|
|
90
92
|
prerelease_on_app: 'Cannot release pre-release %{version}: %{path} carries an app version, which allows no suffix.'
|
|
91
93
|
enter_version: 'Enter version (x.y.z or x.y.z-alpha.1): '
|
|
92
|
-
invalid_bump_type: 'Invalid bump type: %{type}. Use patch|minor|major|x.y.z'
|
|
94
|
+
invalid_bump_type: 'Invalid bump type: %{type}. Use patch|minor|major|promote|pre|x.y.z'
|
|
93
95
|
invalid_semver: 'Invalid semver: %{value}'
|
|
94
96
|
invalid_version: 'Invalid version: %{value}'
|
|
95
97
|
bump_warning: "⚠️ Commits suggest a %{suggestion} bump, but the chosen version is only a %{chosen}."
|
|
@@ -5,7 +5,7 @@ fr:
|
|
|
5
5
|
|
|
6
6
|
Utilisation :
|
|
7
7
|
captive-release init [--files path[:type],...]
|
|
8
|
-
captive-release new [patch|minor|major|promote|x.y.z] [--yes]
|
|
8
|
+
captive-release new [patch|minor|major|promote|pre|x.y.z] [--yes]
|
|
9
9
|
captive-release build [--profile staging|production]
|
|
10
10
|
captive-release version
|
|
11
11
|
|
|
@@ -85,11 +85,13 @@ fr:
|
|
|
85
85
|
bump_patch: Patch
|
|
86
86
|
bump_minor: Minor
|
|
87
87
|
bump_major: Major
|
|
88
|
+
bump_pre: Itérer
|
|
89
|
+
nothing_to_iterate: 'Pas de pré-release à itérer : saisissez x.y.z-alpha.1'
|
|
88
90
|
bump_promote: Promouvoir
|
|
89
91
|
bump_from_prerelease: 'Impossible de faire un %{type} depuis une pré-release : promouvez-la ou saisissez une version.'
|
|
90
92
|
prerelease_on_app: "Pré-release %{version} impossible : %{path} porte une version d'app, qui n'admet pas de suffixe."
|
|
91
93
|
enter_version: 'Saisissez la version (x.y.z ou x.y.z-alpha.1) : '
|
|
92
|
-
invalid_bump_type: 'Type de bump invalide : %{type}. Utilisez patch|minor|major|x.y.z'
|
|
94
|
+
invalid_bump_type: 'Type de bump invalide : %{type}. Utilisez patch|minor|major|promote|pre|x.y.z'
|
|
93
95
|
invalid_semver: 'Semver invalide : %{value}'
|
|
94
96
|
invalid_version: 'Version invalide : %{value}'
|
|
95
97
|
bump_warning: "⚠️ Les commits suggèrent un bump %{suggestion}, mais la version choisie n'est qu'un %{chosen}."
|
|
@@ -4,6 +4,7 @@ module CaptiveRelease
|
|
|
4
4
|
class VersionBumper
|
|
5
5
|
BUMP_TYPES = %w[patch minor major].freeze
|
|
6
6
|
PROMOTE = "promote"
|
|
7
|
+
ITERATE = "pre"
|
|
7
8
|
|
|
8
9
|
def self.bump(current, type)
|
|
9
10
|
new(current).bump(type)
|
|
@@ -25,6 +26,7 @@ module CaptiveRelease
|
|
|
25
26
|
when "minor" then "#{@major}.#{@minor + 1}.0"
|
|
26
27
|
when "patch" then "#{@major}.#{@minor}.#{@patch + 1}"
|
|
27
28
|
when PROMOTE then promouvoir
|
|
29
|
+
when ITERATE then iterer
|
|
28
30
|
else saisie(type)
|
|
29
31
|
end
|
|
30
32
|
end
|
|
@@ -45,6 +47,16 @@ module CaptiveRelease
|
|
|
45
47
|
Semver.core(@current)
|
|
46
48
|
end
|
|
47
49
|
|
|
50
|
+
# Même canal, dernier identifiant + 1 ; sans numéro final, on en ouvre un (.1).
|
|
51
|
+
def iterer
|
|
52
|
+
raise ArgumentError, Messages.t(:nothing_to_iterate) unless Semver.prerelease?(@current)
|
|
53
|
+
|
|
54
|
+
dernier = @current[/\d+\z/]
|
|
55
|
+
return "#{@current}.1" unless dernier && @current.match?(/[.-]\d+\z/)
|
|
56
|
+
|
|
57
|
+
@current.delete_suffix(dernier) + (dernier.to_i + 1).to_s
|
|
58
|
+
end
|
|
59
|
+
|
|
48
60
|
def saisie(type)
|
|
49
61
|
raise ArgumentError, Messages.t(:invalid_version, value: type) unless Semver.valid?(type)
|
|
50
62
|
|
|
@@ -7,7 +7,7 @@ module CaptiveRelease
|
|
|
7
7
|
# Cette unité change quand les façons de nommer une version changent, ReleaseCommand quand
|
|
8
8
|
# le geste de release change.
|
|
9
9
|
class VersionChoice
|
|
10
|
-
BUMP_TYPES = (VersionBumper::BUMP_TYPES + [ VersionBumper::PROMOTE ]).freeze
|
|
10
|
+
BUMP_TYPES = (VersionBumper::BUMP_TYPES + [ VersionBumper::PROMOTE, VersionBumper::ITERATE ]).freeze
|
|
11
11
|
CUSTOM = "Custom"
|
|
12
12
|
|
|
13
13
|
def initialize(terminal:)
|
|
@@ -32,10 +32,10 @@ module CaptiveRelease
|
|
|
32
32
|
end
|
|
33
33
|
|
|
34
34
|
# La valeur rendue est la version elle-même, sauf pour Custom qui n'en a pas encore une.
|
|
35
|
-
# Depuis une pré-release,
|
|
35
|
+
# Depuis une pré-release, seules l'itération et la promotion sont proposées : patch, minor et major y
|
|
36
36
|
# prêteraient à confusion.
|
|
37
37
|
def candidates_for(current)
|
|
38
|
-
types = Semver.prerelease?(current) ? [ VersionBumper::PROMOTE ] : VersionBumper::BUMP_TYPES
|
|
38
|
+
types = Semver.prerelease?(current) ? [ VersionBumper::ITERATE, VersionBumper::PROMOTE ] : VersionBumper::BUMP_TYPES
|
|
39
39
|
candidats = types.to_h do |type|
|
|
40
40
|
version = VersionBumper.bump(current, type)
|
|
41
41
|
[ "#{Messages.t(:"bump_#{type}")} → #{@terminal.bold(version)}", version ]
|