feat: pipeline to create a full mac app
This commit is contained in:
BIN
priv/desktop/macos/AppIcon-1024.png
Normal file
BIN
priv/desktop/macos/AppIcon-1024.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 539 KiB |
BIN
priv/desktop/macos/AppIcon.icns
Normal file
BIN
priv/desktop/macos/AppIcon.icns
Normal file
Binary file not shown.
45
priv/desktop/macos/Info.plist.eex
Normal file
45
priv/desktop/macos/Info.plist.eex
Normal file
@@ -0,0 +1,45 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string><%= name %></string>
|
||||
<key>CFBundleName</key>
|
||||
<string><%= name %></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string><%= identifier %></string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string><%= executable %></string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string><%= icon %></string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string><%= version %></string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string><%= version %></string>
|
||||
<key>LSMinimumSystemVersion</key>
|
||||
<string><%= min_system %></string>
|
||||
<key>NSHighResolutionCapable</key>
|
||||
<true/>
|
||||
<key>LSApplicationCategoryType</key>
|
||||
<string>public.app-category.developer-tools</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleTypeRole</key>
|
||||
<string>Editor</string>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>bDS2 Blogmark Links</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string><%= scheme %></string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
71
priv/desktop/macos/icon-source.svg
Normal file
71
priv/desktop/macos/icon-source.svg
Normal file
@@ -0,0 +1,71 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="1024" height="1024" viewBox="0 0 1024 1024">
|
||||
<defs>
|
||||
<radialGradient id="goldBase" cx="36%" cy="24%" r="88%">
|
||||
<stop offset="0%" stop-color="#FCE9A4"/>
|
||||
<stop offset="22%" stop-color="#E8C96A"/>
|
||||
<stop offset="52%" stop-color="#C59A33"/>
|
||||
<stop offset="78%" stop-color="#9B741F"/>
|
||||
<stop offset="100%" stop-color="#6E4E14"/>
|
||||
</radialGradient>
|
||||
<linearGradient id="goldSheen" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" stop-color="#FFF8D8" stop-opacity="0.64"/>
|
||||
<stop offset="33%" stop-color="#F7E2A5" stop-opacity="0.08"/>
|
||||
<stop offset="62%" stop-color="#FFFFFF" stop-opacity="0.28"/>
|
||||
<stop offset="100%" stop-color="#7D5A1A" stop-opacity="0"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="penBody" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" stop-color="#6FA3FF"/>
|
||||
<stop offset="50%" stop-color="#2B61CE"/>
|
||||
<stop offset="100%" stop-color="#1D4294"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="penMetal" x1="0%" y1="0%" x2="0%" y2="100%">
|
||||
<stop offset="0%" stop-color="#FBFCFF"/>
|
||||
<stop offset="45%" stop-color="#C6D0E2"/>
|
||||
<stop offset="100%" stop-color="#8E9AB1"/>
|
||||
</linearGradient>
|
||||
<filter id="scratch" x="-10%" y="-10%" width="120%" height="120%">
|
||||
<feTurbulence type="fractalNoise" baseFrequency="0.95" numOctaves="1" seed="7" result="noise"/>
|
||||
<feDisplacementMap in="SourceGraphic" in2="noise" scale="2.8" xChannelSelector="R" yChannelSelector="G"/>
|
||||
</filter>
|
||||
</defs>
|
||||
|
||||
<rect width="1024" height="1024" rx="224" fill="url(#goldBase)"/>
|
||||
<path d="M44 188 Q312 76 510 180 T980 164" fill="none" stroke="#FFF4C8" stroke-opacity="0.58" stroke-width="84" stroke-linecap="round"/>
|
||||
<rect width="1024" height="1024" rx="224" fill="url(#goldSheen)"/>
|
||||
|
||||
<g fill="none" stroke="#0D0D0D" stroke-linecap="round" stroke-linejoin="round" filter="url(#scratch)">
|
||||
<path d="M130 884 L512 118 L894 884 Z" stroke-width="34"/>
|
||||
<path d="M116 896 L518 108 L908 892" stroke-width="8" opacity="0.66"/>
|
||||
<path d="M142 876 L506 128 L882 876" stroke-width="7" opacity="0.54"/>
|
||||
|
||||
<path d="M176 884 Q354 868 560 860" stroke-width="24"/>
|
||||
<path d="M168 892 Q362 876 562 866" stroke-width="8" opacity="0.62"/>
|
||||
<path d="M568 862 Q704 862 848 882" stroke-width="7" opacity="0.3"/>
|
||||
|
||||
<path d="M322 646 Q512 610 706 646" stroke-width="20"/>
|
||||
<path d="M306 656 Q512 620 722 656" stroke-width="7" opacity="0.6"/>
|
||||
|
||||
<path d="M408 438 Q512 418 616 438" stroke-width="16"/>
|
||||
<path d="M396 448 Q512 426 628 448" stroke-width="6" opacity="0.64"/>
|
||||
|
||||
<path d="M372 530 Q512 446 652 530" stroke-width="18"/>
|
||||
<path d="M372 530 Q512 614 652 530" stroke-width="18"/>
|
||||
<path d="M392 530 Q512 462 632 530" stroke-width="6" opacity="0.64"/>
|
||||
<path d="M392 530 Q512 598 632 530" stroke-width="6" opacity="0.64"/>
|
||||
<circle cx="512" cy="530" r="34" stroke-width="18"/>
|
||||
<circle cx="512" cy="530" r="12" stroke-width="6" opacity="0.68"/>
|
||||
</g>
|
||||
|
||||
<g transform="rotate(-44 560 860)">
|
||||
<path d="M653.75 811.25 L1088.75 811.25 C1126.25 811.25 1156.25 833.75 1156.25 860 C1156.25 886.25 1126.25 908.75 1088.75 908.75 L653.75 908.75 Z" fill="url(#penBody)"/>
|
||||
<path d="M653.75 811.25 L747.5 811.25 C773.75 811.25 792.5 833.75 792.5 860 C792.5 886.25 773.75 908.75 747.5 908.75 L653.75 908.75 Z" fill="#7FB0FF"/>
|
||||
<rect x="788.75" y="811.25" width="37.5" height="97.5" rx="15" fill="#214A9D"/>
|
||||
<path d="M826.25 833.75 Q935 803.75 1040 833.75" fill="none" stroke="#9FC2FF" stroke-width="11.25"/>
|
||||
<path d="M560 860 L608.75 830 L653.75 860 L608.75 890 Z" fill="url(#penMetal)"/>
|
||||
<path d="M560 860 L537.5 845 L537.5 875 Z" fill="#101318"/>
|
||||
<line x1="560" y1="860" x2="638.75" y2="860" stroke="#4D5C78" stroke-width="5.6"/>
|
||||
<circle cx="601.25" cy="860" r="8.4" fill="#5A6780"/>
|
||||
</g>
|
||||
|
||||
<path d="M172 886 Q356 872 560 860" fill="none" stroke="#0C0C0C" stroke-width="10" stroke-linecap="round"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.9 KiB |
17
priv/desktop/macos/launcher.sh.eex
Normal file
17
priv/desktop/macos/launcher.sh.eex
Normal file
@@ -0,0 +1,17 @@
|
||||
#!/bin/sh
|
||||
# Launcher for <%= name %> (<%= identifier %>).
|
||||
# Generated by mix bds.bundle.macos — do not edit inside the .app.
|
||||
#
|
||||
# Resolves the bundle's own location and execs the embedded Elixir release.
|
||||
# wxWidgets dylibs live in ../Frameworks and are referenced via @loader_path, so
|
||||
# the app is self-contained regardless of where the BEAM executable runs from.
|
||||
set -e
|
||||
|
||||
HERE="$(cd "$(dirname "$0")" && pwd)"
|
||||
APP_CONTENTS="$(cd "$HERE/.." && pwd)"
|
||||
RELEASE_ROOT="$APP_CONTENTS/Resources/rel"
|
||||
|
||||
# Belt-and-suspenders fallback for dyld (primary resolution is @loader_path).
|
||||
export DYLD_FALLBACK_LIBRARY_PATH="$APP_CONTENTS/Frameworks:${DYLD_FALLBACK_LIBRARY_PATH:-}"
|
||||
|
||||
exec "$RELEASE_ROOT/bin/<%= release_name %>" start
|
||||
Reference in New Issue
Block a user