Add ref: (version) support to .tool-versions parsing (#228)

* Add support elixir ref in .tool-versions

* Make the v in ref:v optional

* Revert and refactor test changes

* Run build-dist
This commit is contained in:
Damir Vandic
2023-08-15 15:05:23 +02:00
committed by GitHub
parent afb8586fc4
commit f35f714d23
3 changed files with 6 additions and 6 deletions
+2 -2
View File
@@ -10418,11 +10418,11 @@ function parseVersionFile(versionFilePath0) {
// If we ever start parsing something else, this should // If we ever start parsing something else, this should
// become default in a new option named e.g. version-file-type // become default in a new option named e.g. version-file-type
versions.split('\n').forEach((line) => { versions.split('\n').forEach((line) => {
const appVersion = line.match(/^([^ ]+)[ ]+([^ #]+)/) const appVersion = line.match(/^([^ ]+)[ ]+(ref:v?)?([^ #]+)/)
if (appVersion) { if (appVersion) {
const app = appVersion[1] const app = appVersion[1]
if (['erlang', 'elixir', 'gleam', 'rebar'].includes(app)) { if (['erlang', 'elixir', 'gleam', 'rebar'].includes(app)) {
const [, , version] = appVersion const [, , , version] = appVersion
core.info(`Consuming ${app} at version ${version}`) core.info(`Consuming ${app} at version ${version}`)
appVersions.set(app, version) appVersions.set(app, version)
} }
+2 -2
View File
@@ -602,11 +602,11 @@ function parseVersionFile(versionFilePath0) {
// If we ever start parsing something else, this should // If we ever start parsing something else, this should
// become default in a new option named e.g. version-file-type // become default in a new option named e.g. version-file-type
versions.split('\n').forEach((line) => { versions.split('\n').forEach((line) => {
const appVersion = line.match(/^([^ ]+)[ ]+([^ #]+)/) const appVersion = line.match(/^([^ ]+)[ ]+(ref:v?)?([^ #]+)/)
if (appVersion) { if (appVersion) {
const app = appVersion[1] const app = appVersion[1]
if (['erlang', 'elixir', 'gleam', 'rebar'].includes(app)) { if (['erlang', 'elixir', 'gleam', 'rebar'].includes(app)) {
const [, , version] = appVersion const [, , , version] = appVersion
core.info(`Consuming ${app} at version ${version}`) core.info(`Consuming ${app} at version ${version}`)
appVersions.set(app, version) appVersions.set(app, version)
} }
+2 -2
View File
@@ -511,8 +511,8 @@ async function testParseVersionFile() {
const gleam = '0.23.0' const gleam = '0.23.0'
const rebar3 = '3.16.0' const rebar3 = '3.16.0'
const toolVersions = `# a comment const toolVersions = `# a comment
erlang ${erlang}# comment, no space erlang ref:v${erlang}# comment, no space, and ref:v
elixir ${elixir} # comment, with space elixir ref:${elixir} # comment, with space and ref:
not-gleam 0.23 # not picked up not-gleam 0.23 # not picked up
gleam ${gleam} gleam ${gleam}
rebar ${rebar3}` rebar ${rebar3}`