68 lines
1.6 KiB
Bash
Executable File
68 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
# publish-package - Publish packages to various registries
|
|
# Usage:
|
|
# publish-package docker <registry> <image> <tag> --proj <repo>
|
|
# publish-package nuget <source> <package-file> --proj <repo>
|
|
# publish-package pypi <package-file> --proj <repo>
|
|
# publish-package npm --proj <repo>
|
|
|
|
set -e
|
|
|
|
COMMAND=""
|
|
REGISTRY=""
|
|
IMAGE=""
|
|
TAG=""
|
|
SOURCE=""
|
|
PACKAGE_FILE=""
|
|
REPO=""
|
|
|
|
usage() {
|
|
echo "Usage:"
|
|
echo " publish-package docker <registry> <image> <tag> --proj <repo>"
|
|
echo " publish-package nuget <source> <package-file> --proj <repo>"
|
|
echo " publish-package pypi <package-file> --proj <repo>"
|
|
echo " publish-package npm --proj <repo>"
|
|
exit 1
|
|
}
|
|
|
|
while [[ $# -gt 0 ]]; do
|
|
case $1 in
|
|
docker|nuget|pypi|npm)
|
|
COMMAND="$1"
|
|
shift
|
|
;;
|
|
--proj)
|
|
REPO="$2"
|
|
shift 2
|
|
;;
|
|
*)
|
|
if [[ -z "$COMMAND" ]]; then
|
|
usage
|
|
fi
|
|
case $COMMAND in
|
|
docker)
|
|
[[ -z "$REGISTRY" ]] && REGISTRY="$1" && shift && continue
|
|
[[ -z "$IMAGE" ]] && IMAGE="$1" && shift && continue
|
|
[[ -z "$TAG" ]] && TAG="$1" && shift && continue
|
|
;;
|
|
nuget)
|
|
[[ -z "$SOURCE" ]] && SOURCE="$1" && shift && continue
|
|
[[ -z "$PACKAGE_FILE" ]] && PACKAGE_FILE="$1" && shift && continue
|
|
;;
|
|
pypi)
|
|
[[ -z "$PACKAGE_FILE" ]] && PACKAGE_FILE="$1" && shift && continue
|
|
;;
|
|
esac
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [[ -z "$COMMAND" ]] || [[ -z "$REPO" ]]; then
|
|
usage
|
|
fi
|
|
|
|
# TODO: implement publish logic
|
|
echo "publish-package: $COMMAND not yet implemented"
|
|
exit 1
|