tasks/version.min
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 |
#!/usr/bin/env min
"min.yml" :yaml-cfg
"min.nimble" :nimble-cfg
"site/settings.json" :json-site-cfg
yaml-cfg fs.read from-yaml :config
config "version" dict.get :old-version
nimble-cfg fs.read :nimble-data
(
symbol update-yaml-config
('sym :new-version ==>)
(
config new-version "version" dict.set @config
config to-yaml yaml-cfg fs.write
)
) ::
;; Sets the version in the min.yml file to new-version.
(
symbol update-site-config
('sym :new-version ==>)
(
json-site-cfg fs.read from-json :site-config
site-config new-version "version" dict.set @site-config
site-config to-json json-site-cfg fs.write
)
) ::
;; Updates the version of the web site to new-version.
(
symbol update-nimble-config
('sym :new-version ==>)
(
"(version\\s+=\\s*)([^\\s]+)(\\s*)" :version-regexp
nimble-data version-regexp
(stack.dup 1 get :start 3 get :end "$#\"$#\"$#" (start new-version end) =%) replace-apply @nimble-data
nimble-data nimble-cfg fs.write
)
) ::
;; Updates the version in the nimble file to new-version.
#|| Tasks ||#
(
symbol set
(==>)
(
"" :new-version
false :valid-semver
(valid-semver not)
(
"New version" io.ask @new-version
new-version semver? @valid-semver
) while
new-version update-yaml-config
new-version update-site-config
)
) ::
;; Asks and sets the new min version where appropriate.
(
symbol major
(==>)
(
old-version semver-inc-major :new-version
new-version update-yaml-config
new-version update-site-config
new-version update-nimble-config
)
) ::
;; Increments the min major version.
(
symbol minor
(==>)
(
old-version semver-inc-minor :new-version
new-version update-yaml-config
new-version update-site-config
new-version update-nimble-config
)
) ::
;; Increments the min minor version.
(
symbol patch
(==>)
(
old-version semver-inc-patch :new-version
new-version update-yaml-config
new-version update-site-config
new-version update-nimble-config
)
) ::
;; Increments the min patch version.
|