Dave Jarvis' Repositories

git clone https://repo.autonoma.ca/repo/keenwrite.git

Adds installer for MacOS

AuthorDaveJarvis <email>
Date2023-10-01 18:50:42 GMT-0700
Commitef955d9a9549054119c47919f2837feff5ce74e4
Parent460d31c
Delta43 lines added, 13 lines removed, 30-line increase
www/index.html
<title>KeenWrite</title>
<meta charset="UTF-8">
- <meta name="description" content="cross-platform, open-source desktop text editor">
+ <meta name="description" content="cross-platform, open-source desktop editor">
<meta name="keywords" content="markdown, text, editor, software">
<meta name="robots" content="index, follow">
<a href="https://gitlab.com/DaveJarvis/KeenWrite/-/releases/permalink/latest/keenwrite.bin"
class="download"
+ title="Download for 64-bit Linux (x86)"
aria-label="Download for Linux"><img
src="images/icons/linux.svg"
alt="Download for Linux"
class="download"></a>
<a href="https://gitlab.com/DaveJarvis/KeenWrite/-/releases/permalink/latest/keenwrite.jar"
class="download"
+ title="Download for Java virtual machine"
aria-label="Download for Java"><img
src="images/icons/java.svg"
alt="Download for Java"
class="download"></a>
<a href="https://gitlab.com/DaveJarvis/KeenWrite/-/releases/permalink/latest/keenwrite.exe"
class="download"
+ title="Download for 64-bit Windows (x86)"
aria-label="Download for Windows"><img
src="images/icons/windows.svg"
alt="Download for Windows"
class="download"></a>
- <a href="https://gitlab.com/DaveJarvis/KeenWrite/-/releases/permalink/latest/keenwrite.jar"
+ <a href="https://gitlab.com/DaveJarvis/KeenWrite/-/releases/permalink/latest/keenwrite.app"
class="download"
+ title="Download for 64-bit MacOS (x86)"
aria-label="Download for MacOS"><img
src="images/icons/apple.svg"
installer.sh
"gradle,https://gradle.org"
"warp-packer,https://github.com/Reisz/warp/releases"
+ "linux-x64.warp-packer,https://github.com/dgiagio/warp/releases"
"tar,https://www.gnu.org/software/tar"
"wine,https://www.winehq.org"
"unzip,http://infozip.sourceforge.net"
)
ARGUMENTS+=(
"a,arch,Target operating system architecture (amd64)"
- "o,os,Target operating system (linux, windows, mac)"
+ "o,os,Target operating system (linux, windows, macos)"
"u,update,Java update version number (${ARG_JAVA_UPDATE})"
"v,version,Full Java version (${ARG_JAVA_VERSION})"
do_create_launch_script=utile_create_launch_script_windows
do_brand_windows=utile_brand_windows
+ elif [ "${ARG_JAVA_OS}" = "macos" ]; then
+ APP_EXTENSION="app"
fi
}
local -r java_vm="jre"
local -r java_version="${ARG_JAVA_VERSION}+${ARG_JAVA_UPDATE}"
- local -r url_java="https://download.bell-sw.com/java/${java_version}/bellsoft-${java_vm}${java_version}-${ARG_JAVA_OS}-${ARG_JAVA_ARCH}-full.${ARCHIVE_EXT}"
- local -r file_java="${java_vm}-${java_version}-${ARG_JAVA_OS}-${ARG_JAVA_ARCH}.${ARCHIVE_EXT}"
+ java_os="${ARG_JAVA_OS}"
+ java_arch="${ARG_JAVA_ARCH}"
+ archive_ext=""
+
+ if [ "${ARG_JAVA_OS}" = "macos" ]; then
+ archive_ext=".jre"
+ fi
+
+ local -r url_java="https://download.bell-sw.com/java/${java_version}/bellsoft-${java_vm}${java_version}-${java_os}-${java_arch}-full.${ARCHIVE_EXT}"
+
+ local -r file_java="${java_vm}-${java_version}-${java_os}-${java_arch}.${ARCHIVE_EXT}"
local -r path_java="/tmp/${file_java}"
$ARCHIVE_APP "${path_java}"
- local -r dir_java="${java_vm}-${ARG_JAVA_VERSION}-full"
+ local -r dir_java="${java_vm}-${ARG_JAVA_VERSION}-full${archive_ext}"
$log "Rename ${dir_java} to ${ARG_JAVA_DIR}"
# ---------------------------------------------------------------------------
utile_create_launcher() {
+ packer=warp-packer
+ packer_opt_pack="pack"
+ packer_opt_input="input-dir"
+
local -r FILE_APP_NAME="${APP_NAME}.${APP_EXTENSION}"
$log "Create ${FILE_APP_NAME}"
- # Warp-packer does not seem to overwrite the file.
+ # Warp-packer does not overwrite the file.
rm -f "${FILE_APP_NAME}"
# Download uses amd64, but warp-packer differs.
if [ "${ARG_JAVA_ARCH}" = "amd64" ]; then
ARG_JAVA_ARCH="x64"
fi
- warp-packer \
- pack \
+ # The warp-packer fork that fixes Windows doesn't support MacOS.
+ if [ "${ARG_JAVA_OS}" = "macos" ]; then
+ packer=linux-x64.warp-packer
+ packer_opt_pack=""
+ packer_opt_input="input_dir"
+ fi
+
+ ${packer} \
+ ${packer_opt_pack} \
--arch "${ARG_JAVA_OS}-${ARG_JAVA_ARCH}" \
- --input-dir "${ARG_DIR_DIST}" \
+ --${packer_opt_input} "${ARG_DIR_DIST}" \
--exec "${FILE_DIST_EXEC}" \
--output "${FILE_APP_NAME}" > /dev/null
release.sh
mv "build/libs/${application_title,,}.jar" .
- $log "Build Windows installer binary"
- ${BIN_INSTALLER} -o windows
-
$log "Build Linux installer binary"
${BIN_INSTALLER} -o linux
+
+ $log "Build MacOS installer binary"
+ ${BIN_INSTALLER} -o macos
+
+ $log "Build Windows installer binary"
+ ${BIN_INSTALLER} -o windows
}