mason.release.archive: Sign the .app if ~/config/mac_app.cer exists.

db4
Doug Coleman 2015-07-15 13:11:08 -07:00
parent 8a3c5c2634
commit a488d47dfb
1 changed files with 19 additions and 3 deletions

View File

@ -1,9 +1,9 @@
! Copyright (C) 2008 Eduardo Cavazos, Slava Pestov. ! Copyright (C) 2008 Eduardo Cavazos, Slava Pestov.
! See http://factorcode.org/license.txt for BSD license. ! See http://factorcode.org/license.txt for BSD license.
USING: accessors combinators io.directories USING: accessors combinators io.directories
io.directories.hierarchy io.pathnames kernel locals make io.directories.hierarchy io.files io.pathnames kernel locals
mason.common mason.config mason.platform namespaces sequences make mason.common mason.config mason.platform namespaces
system words ; sequences system words ;
IN: mason.release.archive IN: mason.release.archive
: base-name ( -- string ) : base-name ( -- string )
@ -32,7 +32,23 @@ IN: mason.release.archive
archive-name archive-name
} short-running-process ; } short-running-process ;
: cert-path ( -- path )
home "config/mac_app.cer" append-path ;
: sign-factor.app? ( -- ? ) cert-path exists? ;
:: sign-factor.app ( -- )
{
"codesign" "--force" "--sign"
"Developer ID Application"
}
cert-path suffix
"Factor.app/" suffix
short-running-process ;
! Make the .dmg
: make-macosx-archive ( archive-name -- ) : make-macosx-archive ( archive-name -- )
sign-factor.app? [ sign-factor.app ] when
"dmg-root" make-directory "dmg-root" make-directory
"factor" "dmg-root" copy-tree-into "factor" "dmg-root" copy-tree-into
"factor" "dmg-root" make-disk-image "factor" "dmg-root" make-disk-image