|
| 1 | +#!/usr/bin/env bash |
| 2 | + |
| 3 | +set -o errexit |
| 4 | +set -o nounset |
| 5 | +set -o pipefail |
| 6 | + |
| 7 | +GITHUB_REPOSITORY=${1?Error: Please pass repo org/name, e.g. ddev/ddev-addon-name} |
| 8 | + |
| 9 | +# Extract variables |
| 10 | +FULL_REPO_NAME="$GITHUB_REPOSITORY" |
| 11 | +REPO_NAME="${GITHUB_REPOSITORY##*/}" |
| 12 | +USER_NAME="${GITHUB_REPOSITORY%%/*}" |
| 13 | +REPLACE_UNDERSCORES=${REPO_NAME//_/-} |
| 14 | +NO_PREFIX_NAME="${REPLACE_UNDERSCORES#ddev-}" |
| 15 | +LOWERCASE_NAME="${NO_PREFIX_NAME,,}" |
| 16 | +ENV_VAR_NAME=$(echo "${LOWERCASE_NAME//-/_}_DOCKER_IMAGE" | tr '[:lower:]' '[:upper:]') |
| 17 | +PRETTY_NAME=$(echo "$LOWERCASE_NAME" | sed 's/-/ /g' | awk '{for(i=1;i<=NF;i++) $i=toupper(substr($i,1,1)) substr($i,2)} 1') |
| 18 | + |
| 19 | +update_readme() { |
| 20 | + mv README_ADDON.md README.md |
| 21 | + |
| 22 | + sed -i "s|ddev/ddev-addon-template|$FULL_REPO_NAME|g" README.md |
| 23 | + sed -i "s|addon-template|$LOWERCASE_NAME|g" README.md |
| 24 | + sed -i "s|Add-on Template|$PRETTY_NAME|g" README.md |
| 25 | + sed -i "s|ADDON_TEMPLATE_DOCKER_IMAGE|$ENV_VAR_NAME|g" README.md |
| 26 | + sed -i "s|@CONTRIBUTOR|\[@$USER_NAME\](https://github.com/$USER_NAME)|g" README.md |
| 27 | +} |
| 28 | + |
| 29 | +update_docker_compose() { |
| 30 | + local old_file="docker-compose.addon-template.yaml" |
| 31 | + local new_file="docker-compose.$LOWERCASE_NAME.yaml" |
| 32 | + mv "$old_file" "$new_file" |
| 33 | + |
| 34 | + sed -i "s|addon-template|$LOWERCASE_NAME|g" "$new_file" |
| 35 | + sed -i "s|ADDON_TEMPLATE_DOCKER_IMAGE|$ENV_VAR_NAME|g" "$new_file" |
| 36 | +} |
| 37 | + |
| 38 | +update_tests_and_templates() { |
| 39 | + sed -i "s|ddev/ddev-addon-template|$FULL_REPO_NAME|g" tests/test.bats |
| 40 | + sed -i "s|ddev/ddev-addon-template|$FULL_REPO_NAME|g" .github/PULL_REQUEST_TEMPLATE.md |
| 41 | +} |
| 42 | + |
| 43 | +update_license() { |
| 44 | + sed -i "s|Copyright \[yyyy\]|Copyright $(date +'%Y')|g" LICENSE |
| 45 | +} |
| 46 | + |
| 47 | +create_install_yaml() { |
| 48 | + cat <<EOF > install.yaml |
| 49 | +name: $LOWERCASE_NAME |
| 50 | +
|
| 51 | +project_files: |
| 52 | + - docker-compose.$LOWERCASE_NAME.yaml |
| 53 | +
|
| 54 | +ddev_version_constraint: '>= v1.24.3' |
| 55 | +EOF |
| 56 | +} |
| 57 | + |
| 58 | +cleanup_files() { |
| 59 | + rm -f README_DEBUG.md |
| 60 | + rm -f .github/workflows/first-time-setup.yml |
| 61 | + rm -rf images |
| 62 | + rm -rf .github/scripts |
| 63 | +} |
| 64 | + |
| 65 | +main() { |
| 66 | + update_readme |
| 67 | + update_docker_compose |
| 68 | + update_tests_and_templates |
| 69 | + update_license |
| 70 | + create_install_yaml |
| 71 | + cleanup_files |
| 72 | +} |
| 73 | + |
| 74 | +main |
0 commit comments