#!/bin/zsh -Ndefgku
#
# Scripts/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
//
// Package.swift
// mas
//
// Copyright © $(date '+%Y') mas-cli. All rights reserved.
//

enum Package {
	static let version = "$(Scripts/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
