fix: made the macos app smaller
This commit is contained in:
@@ -56,7 +56,8 @@ defmodule BDS.ReleasePackaging do
|
||||
app_release_source = Keyword.fetch!(opts, :app_release_source)
|
||||
mcp_release_source = Keyword.fetch!(opts, :mcp_release_source)
|
||||
|
||||
with :ok <- reset_output(metadata),
|
||||
with :ok <- validate_release_source(app_release_source),
|
||||
:ok <- reset_output(metadata),
|
||||
:ok <- copy_release(app_release_source, metadata.app_root),
|
||||
:ok <- copy_release(mcp_release_source, metadata.resources_root),
|
||||
:ok <- write_manifest(metadata),
|
||||
@@ -65,6 +66,20 @@ defmodule BDS.ReleasePackaging do
|
||||
end
|
||||
end
|
||||
|
||||
@doc """
|
||||
Rejects half-assembled releases. A failed `mix release` run can leave `lib/`
|
||||
copied but no `releases/<version>/` (no `env.sh`, no boot scripts) — packaging
|
||||
that produces an app that dies on launch. Refuse it up front instead.
|
||||
"""
|
||||
def validate_release_source(release_dir) do
|
||||
if release_dir |> Path.join("releases/*/env.sh") |> Path.wildcard() == [] do
|
||||
{:error,
|
||||
{:incomplete_release, "#{release_dir} has no releases/*/env.sh — did `mix release` fail?"}}
|
||||
else
|
||||
:ok
|
||||
end
|
||||
end
|
||||
|
||||
defp normalize_platform(platform) when platform in [:macos, :linux, :windows], do: platform
|
||||
defp normalize_platform(:darwin), do: :macos
|
||||
|
||||
|
||||
Reference in New Issue
Block a user