#!/bin/bash
# i7 - install helper

set -e

source "/home/zwelch/src/mcf/mcsh/install/share/mcsh/mcsh.sh"


######
# Makefile filtering CLI

i7_filter() {
	lib_load 'dev/package/make'
	package_make_gen "$@"
}


######
# ChangeLog CLI

i7_changelog() {
	lib_load 'dev/package/changelog'
	cmd_dispatch "$@"
}

i7_changelog_usage() {
	cat <<USAGE
Package ChangeLog Commands:
	all				Generates ChangeLog with all changes
	release <version>		Generates ChangeLog for release tag
USAGE
}

i7_changelog_all() { package_changelog_all "$@"; }
i7_changelog_release() { package_changelog_release "$@"; }


######
# Development environment CLI

i7_env() {
	lib_load 'dev/package/env'
	cmd_dispatch "$@"
}

i7_env_usage() {
	cat <<USAGE
Development Environment Commands:
	bash				Prints Bash environment setup commands
	python				Prints Python environment setup code
USAGE
}

i7_env_bash() { package_env_bash "$@"; }
i7_env_python() { package_env_python "$@"; }


######
# Documentation Commands

i7_docs() {
	lib_load 'dev/docs/cli'
	package_docs_dispatch "$@"
}


######
# Package Commands

i7_package() {
	lib_load 'dev/package/cli'
	package_cli_dispatch "$@"
}

######
# System configuration CLI

i7_system() {
	lib_load 'dev/package/load'
	cmd_dispatch "$@"
}

i7_system_config() {
	cat <<CONFIG
PREFIX="$PREFIX"
EXEC_PREFIX="$EXEC_PREFIX"
DATA_PREFIX="$DATA_PREFIX"
RELEASE_TYPE="$RELEASE_TYPE"
CONFIG
}


######
# Check

i7_check_build() { package_check_build "$@"; }
i7_check_install() { package_check_install "$@"; }
i7_check_dist() { package_check_dist "$@"; }
i7_check() {
	if [ "$*" ]; then
		lib_load 'dev/package/check'
		cmd_dispatch "$@"
	fi
}


######
# Main

i7_desc() { echo "Package installation and distribution tool"; }

i7_usage() {
	cat <<USAGE
<cmd> [...]
General Commands:
	filter <file>			Makefile fragment generation
	env ...				Development environment commands
	docs ...			Documentation generation commands
	package ...			Package management commands
	system ...			System package configuration commands
USAGE
}

i7_help() {
	cat<<HELP
The $script_name tool automates project creation, management, and
publishing.  This includes generating documentation and releases,
uploading and distributing releases, and sending announcements.

This tool performs actions on the package as a whole.  The d12 tool
provides functionality for working with individual package files as
well as more powerful package introspection.
HELP
}

app_run "$@"

View the Script Reference Index


Generated on Tue Apr 25 21:19:34 PDT 2017 by mcsh i7 v0.18.0.