From 43a999803b62cbdce8ab0782f376cad02cd5bb74 Mon Sep 17 00:00:00 2001 From: Clemens Schwaighofer Date: Fri, 1 Sep 2023 09:58:10 +0900 Subject: [PATCH] Add publish folder and scripts, composer json update, readme add --- ReadMe.md | 21 ++++++++ composer.json | 6 +-- publish/.gitignore | 2 + publish/package-download/.gitignore | 1 + publish/publish.sh | 82 +++++++++++++++++++++++++++++ 5 files changed, 109 insertions(+), 3 deletions(-) create mode 100644 ReadMe.md create mode 100644 publish/.gitignore create mode 100644 publish/package-download/.gitignore create mode 100755 publish/publish.sh diff --git a/ReadMe.md b/ReadMe.md new file mode 100644 index 0000000..e0d05cf --- /dev/null +++ b/ReadMe.md @@ -0,0 +1,21 @@ +# Extended Exceptions + +A group of extended Exceptions + +- SQL errors +- File handling + +## Setup from central composer + +Setup from gitea internal servers + +```sh +composer config repositories.git.egplusww.jp.Composer composer https://git.egplusww.jp/api/packages/Composer/composer +``` + +Alternative setup composer local zip file repot: +`composer config repositories.composer.egplusww.jp composer http://composer.egplusww.jp` + +## Install package + +`composer require egrajp/exceptions-extended` diff --git a/composer.json b/composer.json index b1c8db5..21cf14b 100644 --- a/composer.json +++ b/composer.json @@ -13,9 +13,9 @@ } ], "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "CoreLibs\\": "src/" + } }, "minimum-stability": "dev", "require": { diff --git a/publish/.gitignore b/publish/.gitignore new file mode 100644 index 0000000..9094d2f --- /dev/null +++ b/publish/.gitignore @@ -0,0 +1,2 @@ +*.zip +.env* diff --git a/publish/package-download/.gitignore b/publish/package-download/.gitignore new file mode 100644 index 0000000..c4c4ffc --- /dev/null +++ b/publish/package-download/.gitignore @@ -0,0 +1 @@ +*.zip diff --git a/publish/publish.sh b/publish/publish.sh new file mode 100755 index 0000000..3c16f7a --- /dev/null +++ b/publish/publish.sh @@ -0,0 +1,82 @@ +#!/usr/bin/env bash + +BASE_FOLDER=$(dirname $(readlink -f $0))"/"; +PACKAGE_DOWNLOAD="${BASE_FOLDER}package-download/"; +if [ ! -d "${PACKAGE_DOWNLOAD}" ]; then + mkdir "${PACKAGE_DOWNLOAD}"; +fi; +VERSION=$(git tag --list | sort -V | tail -n1 | sed -e "s/^v//"); +file_last_published="${BASE_FOLDER}last.published"; +go_flag="$1"; + +if [ -z "${VERSION}" ]; then + echo "Version must be set in the form x.y.z without any leading characters"; + exit; +fi; +# compare version, if different or newer, deploy +if [ -f "${file_last_published}" ]; then + LAST_PUBLISHED_VERSION=$(cat ${file_last_published}); + if $(dpkg --compare-versions "${VERSION}" le "${LAST_PUBLISHED_VERSION}"); then + echo "git tag version ${VERSION} is not newer than previous published version ${LAST_PUBLISHED_VERSION}"; + exit; + fi; +fi; + +# read in the .env.deploy file and we must have +# GITEA_UPLOAD_FILENAME +# GITLAB_USER +# GITLAB_TOKEN +# GITLAB_URL +# GITEA_USER +# GITEA_DEPLOY_TOKEN +# GITEA_URL_DL +# GITEA_URL_PUSH +if [ ! -f "${BASE_FOLDER}.env.deploy" ]; then + echo "Deploy enviroment file .env.deploy is missing"; + exit; +fi; +set -o allexport; +cd ${BASE_FOLDER}; +source .env.deploy; +cd -; +set +o allexport; + +if [ "${go_flag}" != "go" ]; then + echo "No go flag given"; + echo "Would publish ${VERSION}"; + echo "[END]"; + exit; +fi; + +echo "[START]"; +# gitea +if [ ! -z "${GITEA_UPLOAD_FILENAME}" ] && + [ ! -z "${GITEA_URL_DL}" ] && [ ! -z "${GITEA_URL_PUSH}" ] && + [ ! -z "${GITEA_USER}" ] && [ ! -z "${GITEA_TOKEN}" ]; then + curl -LJO \ + --output-dir "${PACKAGE_DOWNLOAD}" \ + ${GITEA_URL_DL}/v${VERSION}.zip; + curl --user ${GITEA_USER}:${GITEA_TOKEN} \ + --upload-file "${PACKAGE_DOWNLOAD}${GITEA_UPLOAD_FILENAME}-v${VERSION}.zip" \ + ${GITEA_URL_PUSH}?version=${VERSION}; + echo "${VERSION}" > "${file_last_published}"; +else + echo "Missing either GITEA_UPLOAD_FILENAME, GITEA_URL_DL, GITEA_URL_PUSH, GITEA_USER or GITEA_TOKEN environment variable"; +fi; + +# gitlab +if [ ! -z "${GITLAB_URL}" ] && [ ! -z "${GITLAB_DEPLOY_TOKEN}" ]; then + curl --data tag=v${VERSION} \ + --header "Deploy-Token: ${GITLAB_DEPLOY_TOKEN}" \ + "${GITLAB_URL}"; + curl --data branch=master \ + --header "Deploy-Token: ${GITLAB_DEPLOY_TOKEN}" \ + "${GITLAB_URL}"; + echo "${VERSION}" > "${file_last_published}"; +else + echo "Missing GITLAB_DEPLOY_TOKEN environment variable"; +fi; +echo ""; +echo "[DONE]"; + +# __END__