Add task to update sqlean extensions version
This commit is contained in:
@@ -12,25 +12,21 @@ defmodule Mix.Tasks.Sqlean.Release do
|
|||||||
end
|
end
|
||||||
|
|
||||||
def fetch_current_version do
|
def fetch_current_version do
|
||||||
|
version_file()
|
||||||
|
|> File.read!()
|
||||||
|
|> String.trim()
|
||||||
|
end
|
||||||
|
|
||||||
|
def version_file do
|
||||||
Application.app_dir(:music_library, [
|
Application.app_dir(:music_library, [
|
||||||
"priv",
|
"priv",
|
||||||
"sqlite_extensions",
|
"sqlite_extensions",
|
||||||
"VERSION"
|
"VERSION"
|
||||||
])
|
])
|
||||||
|> File.read!()
|
|
||||||
|> String.trim()
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def update_config_file!(config_file, current_version, latest_version) do
|
def update_version_file!(version) do
|
||||||
config_contents = File.read!(config_file)
|
version_file()
|
||||||
|
|> File.write!(version)
|
||||||
new_config_contents =
|
|
||||||
String.replace(
|
|
||||||
config_contents,
|
|
||||||
~s(version: "#{current_version}"),
|
|
||||||
"version: \"#{latest_version}\""
|
|
||||||
)
|
|
||||||
|
|
||||||
File.write!(config_file, new_config_contents)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -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 @@
|
|||||||
0.28.0
|
0.28.0
|
||||||
Reference in New Issue
Block a user