User:Tim/NethackWikiLocalUpgrade/install-extensions.sh

From NetHackWiki
Jump to navigation Jump to search
#!/usr/bin/env bash
# Clone gerrit extensions and skins to host directories for bind-mounting.
# Run this once on the host before starting containers.
# Re-run safely — already-cloned dirs are skipped.
set -e

REPO_ROOT="$(dirname "$0")"
EXT_DIR="$REPO_ROOT/extensions-gerrit"
SKIN_DIR="$REPO_ROOT/skins-gerrit"

git_clone() {
    local dir=$1
    local name=$2
    local repo=$3
    local branch=${4:-REL1_45}
    if [ -d "$dir/$name/.git" ]; then
        echo "[$name] already installed, skipping"
        return
    fi
    echo "[$name] cloning $repo @ $branch ..."
    git clone --depth 1 --branch "$branch" "$repo" "$dir/$name"
}

mkdir -p "$EXT_DIR" "$SKIN_DIR"

# Extensions (gerrit REL1_45)
git_clone "$EXT_DIR" AbuseFilter              https://gerrit.wikimedia.org/r/mediawiki/extensions/AbuseFilter
git_clone "$EXT_DIR" ArticleMetaDescription   https://gerrit.wikimedia.org/r/mediawiki/extensions/ArticleMetaDescription
git_clone "$EXT_DIR" CharInsert               https://gerrit.wikimedia.org/r/mediawiki/extensions/CharInsert
git_clone "$EXT_DIR" DPLforum                 https://gerrit.wikimedia.org/r/mediawiki/extensions/DPLforum
git_clone "$EXT_DIR" EasyTimeline             https://gerrit.wikimedia.org/r/mediawiki/extensions/timeline
git_clone "$EXT_DIR" LabeledSectionTransclusion https://gerrit.wikimedia.org/r/mediawiki/extensions/LabeledSectionTransclusion
git_clone "$EXT_DIR" Math                     https://gerrit.wikimedia.org/r/mediawiki/extensions/Math
git_clone "$EXT_DIR" NewUserMessage           https://gerrit.wikimedia.org/r/mediawiki/extensions/NewUserMessage
git_clone "$EXT_DIR" RandomSelection          https://gerrit.wikimedia.org/r/mediawiki/extensions/RandomSelection
git_clone "$EXT_DIR" Scribunto                https://gerrit.wikimedia.org/r/mediawiki/extensions/Scribunto
git_clone "$EXT_DIR" TextExtracts             https://gerrit.wikimedia.org/r/mediawiki/extensions/TextExtracts
git_clone "$EXT_DIR" TitleKey                 https://gerrit.wikimedia.org/r/mediawiki/extensions/TitleKey
git_clone "$EXT_DIR" Editcount                https://gerrit.wikimedia.org/r/mediawiki/extensions/Editcount

# Skins (gerrit REL1_45)
git_clone "$SKIN_DIR" Modern      https://gerrit.wikimedia.org/r/mediawiki/skins/Modern
git_clone "$SKIN_DIR" CologneBlue https://gerrit.wikimedia.org/r/mediawiki/skins/CologneBlue

echo ""
echo "All extensions and skins cloned."
echo "Note: DarkVector skin must be placed in ./skins/DarkVector/ manually (see local-docker-setup.md)."