Add task to update sqlean extensions version

This commit is contained in:
Claudio Ortolina
2025-09-03 10:05:27 +03:00
parent 178f6369f6
commit 93a9e2b814
3 changed files with 36 additions and 14 deletions
+9 -13
View File
@@ -12,25 +12,21 @@ defmodule Mix.Tasks.Sqlean.Release do
end
def fetch_current_version do
version_file()
|> File.read!()
|> String.trim()
end
def version_file do
Application.app_dir(:music_library, [
"priv",
"sqlite_extensions",
"VERSION"
])
|> File.read!()
|> String.trim()
end
def update_config_file!(config_file, current_version, latest_version) do
config_contents = File.read!(config_file)
new_config_contents =
String.replace(
config_contents,
~s(version: "#{current_version}"),
"version: \"#{latest_version}\""
)
File.write!(config_file, new_config_contents)
def update_version_file!(version) do
version_file()
|> File.write!(version)
end
end
+26
View File
@@ -0,0 +1,26 @@
defmodule Mix.Tasks.Sqlean.UpdateVersion do
@shortdoc "Update the configured Sqlean versino to latest."
@moduledoc """
Update the configured sqlean versions to latest.
"""
use Mix.Task
alias Mix.Tasks.Sqlean.Release
@impl Mix.Task
def run(_args) do
current_version = Release.fetch_current_version()
latest_version = Release.fetch_latest_version!()
if current_version === latest_version do
Mix.Shell.IO.info("Sqlean extensions configuration is up to date (#{current_version})")
else
Mix.Shell.IO.info(
"Updating Sqlean extensions configuration from #{current_version} to #{latest_version}"
)
Release.update_version_file!(latest_version)
end
end
end
+1 -1
View File
@@ -1 +1 @@
0.28.0
0.28.0