#!/bin/zsh -Ndefgku
#
# script/generate_package_swift
# mas
#
# Generates a file to provide the mas version to Swift code.
#

. "${0:a:h}/_setup_script"

# Write version to Swift singleton
cat <<EOF >Sources/mas/Package.swift
/// Generated by \`script/generate_package_swift\`.
enum Package {
	static let version = "$(script/version)"
	static let installMethod = "${1:-unknown}"
	static let gitOrigin = "$(git remote get-url origin)"
	static let gitRevision = "$(git rev-parse HEAD)"
	static let swiftVersion = "$(printf %s "${${$(swift --version 2>/dev/null)#Apple Swift version }%%$'\n'*}")"
	static let swiftDriverVersion = "$(printf %s "${${$((swift --version 3>&2 2>&1 1>&3) 2>/dev/null)#swift-driver version: }% }")"
}
EOF
