@@ -107,7 +107,7 @@ defmodule Desktop.Deployment.Package.MacOS do
107107 end
108108
109109 dmg = make_dmg ( pkg )
110- make_pkg ( pkg , developer_id )
110+ maybe_make_pkg ( pkg )
111111
112112 if developer_id != nil do
113113 package_sign ( developer_id , dmg )
@@ -128,20 +128,21 @@ defmodule Desktop.Deployment.Package.MacOS do
128128 )
129129 end
130130
131- defp make_pkg ( % Package { release: % Mix.Release { path: path , version: vsn } } = pkg , developer_id ) do
131+ defp maybe_make_pkg ( % Package { release: % Mix.Release { path: path , version: vsn } } = pkg ) do
132132 build_root = Path . join ( [ path , ".." , ".." ] ) |> Path . expand ( )
133133 app_root = Path . join ( build_root , "#{ pkg . name } .app" )
134134 out_file = Path . join ( build_root , "#{ pkg . name } -#{ vsn } .pkg" )
135135 args = [ "--component" , app_root , "/Applications" ]
136+ installer_id = find_installer_id ( )
136137
137138 args =
138- if developer_id != nil do
139- [ "--keychain" , keychain ( ) , "--sign" , developer_id ] ++ args
139+ if installer_id != nil do
140+ [ "--keychain" , keychain ( ) , "--sign" , installer_id ] ++ args
140141 else
141142 args
142143 end
143144
144- cmd! ( "productbuild" , args ++ [ out_file ] )
145+ cmd ( "productbuild" , args ++ [ out_file ] )
145146 end
146147
147148 defp make_dmg ( % Package { release: % Mix.Release { path: path , version: vsn } } = pkg ) do
@@ -398,6 +399,16 @@ defmodule Desktop.Deployment.Package.MacOS do
398399 end
399400 end
400401
402+ def find_installer_id ( ) do
403+ cond do
404+ System . get_env ( "MACOS_INSTALLER_ID" ) != nil ->
405+ System . get_env ( "MACOS_INSTALLER_ID" )
406+
407+ true ->
408+ find_developer_id ( )
409+ end
410+ end
411+
401412 defp do_find_developer_id ( uids ) do
402413 ids = find_identity ( )
403414 Enum . find ( uids , fn uid -> String . contains? ( ids , uid ) end )
0 commit comments